Page 1 of 2

ZX-Art: как реализовать демо-архив?

PostPosted: Wed, 16.03.2016 17:51:28
by moroz1999
Предлагаю небольшие вопросы по архитектуре инфосистемы складывать здесь.
Итак, план такой:
1. Есть демо (или игра, или системная прога). Имеет название, минимальные требования (48/128... что-то там еще).
2. Демо имеет авторов, где у каждого автора есть роль (кодер/художник/музыкант итд)
3. У демо есть скриншоты. Скриншоты в png/jpg, не обязательно scr.
4. У демо есть связанные работы (музыка, графика, использовавшиеся в демо)
5. У демо есть теги.
6. У демо есть комментарии и голосовалка.
7. У демо есть релизы. Каждый релиз может иметь версию, может иметь своих авторов (хакер Вася, например) с ролями, группу-релизера. Каждый релиз обязательно имеет свой файл-архив на скачку. Каждый релиз может иметь свою голосовалку - так можно сортировать лучший релиз. Релиз имеет счетчик скачиваний.
8. Демо лежат в разных категориях - гифт, трекмо, интро, мегадемо, 256, 1024 итд.
Это в моем понимании базовый набор функционала. Если заменить слово "демо" на слово "игра", то по факту ничего не поменяется.

Теперь давайте о мечтах поговорим. На первом этапе это делать не буду, но на будущее планировать полезно.
1. Diver4d как-то озвучивал желание хранить отдельные эффекты от демо. Я могу это сделать, это похоже на галерею, где каждая "картинка" есть отдельный "эффект". У "эффектов" можно выбрать тип из списка. Если у многих дем будут оформлены такие "эффекты", то можно сделать поиск всех демо по типу эффекта.
Это надо ли? Если да, то подумайте, пожалуйста, какие поля, какая инфа должна быть у этих "эффектов".

2. Дополнительные материалы у демо - какие они? Я думаю сделать доп. материалы как просто список аттачей. Например, аттач с архиовм исходников. Какие еще бывают?

3. У релизов иногда бывают дополнительные материалы. Например, взята классическая дема и приделано клевое интро с музычкой и графикой. В таком случае всё это крепится не к демо, а к релизу, правильно? У релиза всяко будет своя страница тоже, не только список в демо.

Re: ZX-Art: как реализовать демо-архив?

PostPosted: Wed, 16.03.2016 18:06:32
by g0blinish
moroz1999 wrote:8. Демо лежат в разных категориях - гифт, трекмо, интро, мегадемо, 256, 1024 итд.

Трекмо понятие растяжимое. Каждый может трактовать демо по-своему.

moroz1999 wrote:7. У демо есть релизы. Каждый релиз может иметь версию, может иметь своих авторов (хакер Вася, например) с ролями, группу-релизера.

Здесь все грустно. Например, интроспек не любит выложить party-version и доделывает демо позже. ааа со своей подачи заполучил массу искаженных дем - из тапки в трдос-версию, мультиколор пофикшен под тайминг, в итоге хер пойми что.

moroz1999 wrote:1. Diver4d как-то озвучивал желание хранить отдельные эффекты от демо.

А как хранить? выдранный из демы кусок кода?

moroz1999 wrote:2. Дополнительные материалы у демо - какие они? Я думаю сделать доп. материалы как просто список аттачей. Например, аттач с архиовм исходников.

на cpc-rulez исходники лежат рядом демо. Наверное, лучше так и сделать.
из дополнительного материала была бы неплохая статья как Making of, но ссылки хранить опасно, ресурсы протухнут.

Re: ZX-Art: как реализовать демо-архив?

PostPosted: Wed, 16.03.2016 18:07:22
by TS-Labs
1. А где примеры эффектов отдельно от дем?
2. Логи обсуждения в чятике :pank:
3. В релизы. Только непонятно как быть со сборниками, когда в один диск входят несколько продов под общим интро, тот же пример VBI. Можно давать линку на сборник, в котором тоже есть данный прод.

Re: ZX-Art: как реализовать демо-архив?

PostPosted: Wed, 16.03.2016 18:20:53
by g0blinish
TS-Labs wrote:1. А где примеры эффектов отдельно от дем?

у меня есть небольшая коллекция(:

Re: ZX-Art: как реализовать демо-архив?

PostPosted: Wed, 16.03.2016 18:20:59
by introspec
1. Хорошо бы отделять минимальные требования от поддержки (мультиколор работает только на таких-то моделях, звук есть только с GS или наоборот, звук с ковоксом будет жирнее).
Примеры запросов: найти 48К демы за этот год, найти демы с поддержкой ковокса, найти мультиколорные демы работающие на скорпионе.
Это, возможно, пересекается с тэгами. Но я сужу по demozoo - тэги не вполне работают, т.к. каждый идёт кто в лес, кто по дрова.
2. Каждый автор может иметь несколько ролей.
3. Желательно иметь возможность выбора "главного" скриншота.
7. Отделение релизов (=версий) от хаков (=неофициальных модификаций).
Релиз состоит из кучи файлов: дизники, варианты дем для разного звука, разных мультиколоров, разных моделей (тапки против трд).
Всё это разнообразие - части каждого конкретного релиза. Т.е. в идеале - релиз - это целая папка добра.
Авторы должны иметь возможность порекомендовать оптимальный релиз с их точки зрения.
8. Предусмотри возможность нескольких категорий одновременно.
Пример: Heart Megademo содержит элементы трекмо.
Забыл как там оно называлось у KSA, содержит элементы мегадемо ;)

Прочее:
1. Эффекты нужно продумать как что-то вроде тэгов. Каждый конкретный эффект может по идее попадать в несколько категорий. Если бы скриншоты к деме можно было тэжить связками с эффектами - было бы круто. Можно ещё подумать о наличии у скриншота информации о примерном времени от начала демы (либо части для мегадем) и релизе с которого снято.

2. Дизассемблеры, выдранные данные, статьи, внешние отзывы или ссылки на них. Максимально гибко, с каким-то полем для ввода информации о том, что это собственно. Возможно, это должны быть тэги. Это позволит добавлять полезные и странные вещи. Пример: набор снэпшотов с каждым эффектом из демо, чтобы можно было посмотреть то что нужно - вживую. Специально делать под это инфраструктуру - сложно и не нужно. Но если можно будет понятно пометить что это - раскрывает возможности для творчества людей.

3. Думаю, это ты привёл пример релиза-хака в моём понимании. Вроде 7 уже это описывает.

Re: ZX-Art: как реализовать демо-архив?

PostPosted: Wed, 16.03.2016 18:39:19
by g0blinish
introspec wrote:3. Желательно иметь возможность выбора "главного" скриншота

имхо лучше несколько скринов

introspec wrote:2. Дизассемблеры, выдранные данные, статьи,

насчет исходников я против. Найдется некий умник, который слепит из дизассемблеров одну демо(krt17 например).

introspec wrote:Пример: набор снэпшотов с каждым эффектом из демо

удобнее был бы ютуб с конкретно указанным временем.

Например, PowerUP - твистер, stretch и тп.

Re: ZX-Art: как реализовать демо-архив?

PostPosted: Wed, 16.03.2016 18:49:33
by introspec
g0blinish wrote:имхо лучше несколько скринов

Где я сказал что экран должен быть один?

g0blinish wrote:насчет исходников я против

Не хочешь класть - не клади на здоровье. Я тоже свои класть не собираюсь. Но за других решать не нужно.

g0blinish wrote:удобнее был бы ютуб с конкретно указанным временем.

ютуб - не часть архива; сегодня - есть, завтра - не будет. Нет смысла хранить такую ненадёжную метаинформацию.
Опять же, я предложил максимально гибкий формат - если хочешь, можешь приложить набор ссылок на утюб.

А вообще - обрати внимание, каждое из твоих дополнений - либо показывает непонимание сказанного мной, либо ограничивает относительно того, что предложили мороз или я. Вот это и есть причина, по которой я часто тебе не отвечаю. Ты любишь поговорить ни о чём. А мне кажется это пустой тратой времени.

Re: ZX-Art: как реализовать демо-архив?

PostPosted: Wed, 16.03.2016 18:55:44
by g0blinish
introspec wrote:Где я сказал что экран должен быть один?

introspec wrote:3. Желательно иметь возможность выбора "главного" скриншота.

т.е. "главный" выбираешь ты, независимо от количества эффектов.

introspec wrote:Нет смысла хранить такую ненадёжную метаинформацию.

И как ты предлагаешь сделать иллюстрации для демоэффектов?

introspec wrote:Ты любишь поговорить ни о чём. А мне кажется это пустой тратой времени.

ясно. до свидания.

Re: ZX-Art: как реализовать демо-архив?

PostPosted: Wed, 16.03.2016 19:06:42
by moroz1999
Вот и поговорили :)

Спасибо всем, натолкнули меня на разные сомнения, мысли и идеи, кое-чего нового поприходило в голову уже.

Re: ZX-Art: как реализовать демо-архив?

PostPosted: Wed, 16.03.2016 19:10:56
by introspec
Забыли ещё ссылки на внешние видео.

Re: ZX-Art: как реализовать демо-архив?

PostPosted: Wed, 16.03.2016 19:49:00
by diver
Эффекты/части я предлагал хранить в виде скриншотов с тегами. Такая идея приходит в голову, если пытаться делать теги к демо. Мы с g0blinish и VBI начинали делать теги к демо на zxaaa, есть тема об этом на этом же форуме. Если интересно, есть 144-html списка дем для каждого тега (ахтунг, zxaaa!).

Короче. Зачем скриншотить все части/эффекты и тежить их отдельно? Все просто, потому что набор из 10 тегов для мегадемы на 15 минут ничего не дает. Это то же самое, что в комментарии написать фразу "дема с шариком и шахматной доской", а потом просто находить это демо через поиск по комментариям. Любое исследование на тему истории того или иного эффекта, режима, размера чанок и прочего натыкается на необходимость 1) идти спрашивать гуру 2) гуглить 3) натужно вспоминать "где я видел что-то подобное". Только тегирование скриншотов (так же как сейчас отдельных картинок) даст возможность реально находить нужные эффекты.

Ну и кроме того, сваленные в кучу теги к одному демо не всегда можно понять, к какой части какой тег относится. Практика показала, что понимание эффектов, как и их классификация, - могут быть разными. Можно классифицировать по внешнему виду (tunnel), можно по механизму реализации (palette cycling). Иногда механизмы не ясны для некодеров, да и для кодеров не всегда они ясны сразу, и понять, что имел в виду автор тега тем более становится затруднительно.

Кстати идея с сохранением снапшотов прекрасна. Время от начала демы конечно не понятно как измерять, пожалуй что ссылки на youtube с привязкой времени хоть и ненадежный, но хотя бы реализуемый способ сослатья на условный таймлайн.

Re: ZX-Art: как реализовать демо-архив?

PostPosted: Wed, 16.03.2016 19:56:39
by Alex Rider
moroz1999 wrote:Имеет название, минимальные требования (48/128... что-то там еще).

moroz1999 wrote:У демо есть теги.

Надо сделать што-то, что позволило бы скачать отдельно демы с использованием GS, демы-буты, демы-рекламы железа and so on (вообще говоря, софты с некой малочисленной, редкой особенностью). Как это сделать грамотно - не знает, наверное, никто, но теги тут точно не особо помощники. Ибо, если тег можно создать при аплоаде, то будет 100500 тегов а-ля GS, General Sound, GeneralSound, NGS, по которым хрен что найдешь. Если же будет фиксированный набор категорий/тегов даже с хитромудрым созданием их аплоадером где-то отдельно, то отсутствие существующего спецтега для фичи софтины не заставит аплоадера шевелиться, чтобы такой тег появился и прилип к уже загруженному проду. Как-то так. Кроме того, если будет такой хитрый поиск по фильтру, API обязательно должно иметь возможность отдавать облако тегов для поиска.

Re: ZX-Art: как реализовать демо-архив?

PostPosted: Wed, 16.03.2016 20:10:59
by moroz1999
Спасибо! Задумался опять же.

Re: ZX-Art: как реализовать демо-архив?

PostPosted: Wed, 16.03.2016 20:20:35
by diver
Alex Rider, ты предлагаешь делать отдельные теги "general sound required" и "general sound supported"?
Я пока не очень понимаю, как лучше описывать минимальные требования и поддержку чего-то сверх минимального. Описывать так, чтобы потом это можно было находить раздельно - и минимальные требования и проды со поддержкой чего-то сверх минималки.

Re: ZX-Art: как реализовать демо-архив?

PostPosted: Wed, 16.03.2016 20:57:28
by VBI
а теперь давайте сведём всю эту красоту к реальной жизни и посмотрим.

1. Самое большее внимание и полноту заполнения получат только самые любимые (и, возможно, новые) демы
2. Остальная красота останется с одним файлом для загрузки и картинкой, + название/автор/группа, возможно несколько общих тегов, и скорее всего - без ютюба.
3. Обьём файлового хранилища начинает впечатлять, местами. Но, надеюсь, это не проблема. Надеюсь :)
4. описанный обьём предполагает постоянную работу бригады администраторов
5. теги - нужны

Re: ZX-Art: как реализовать демо-архив?

PostPosted: Wed, 16.03.2016 21:39:12
by moroz1999
Пока что в моем представлении.

g0blinish wrote:А как хранить? выдранный из демы кусок кода?

Эффект - отдельный модуль. Имеет картинку, опционально время начала/конца (откуда мерять, кстати? с загрузки? с заставки), имеет теги. Может иметь ссылку на ютуб (со временем), может иметь снапшот.

diver wrote:Только тегирование скриншотов (так же как сейчас отдельных картинок) даст возможность реально находить нужные эффекты.

По сути со всем согласен. Вот только не определился, с точки зрения инфосистемы скриншот = эффект? Или сделать это разными сущностями (зачем?)? Пока сам не понял.

У демы могут быть минимальные и максимальные требования. Два отдельных но похожих набора с заранее заданным списком железа.

introspec wrote:2. Каждый автор может иметь несколько ролей.

Согласен.

introspec wrote:7. Отделение релизов (=версий) от хаков (=неофициальных модификаций).

Это через какую-то галочку/выбор типа релиза сделаем.

introspec wrote:Авторы должны иметь возможность порекомендовать оптимальный релиз с их точки зрения.

Думаю, что официальные пометим как-то, с предыдущим пунктом совпадает, имхо.

Alex Rider wrote:Надо сделать што-то, что позволило бы скачать отдельно демы с использованием GS, демы-буты, демы-рекламы железа and so on (вообще говоря, софты с некой малочисленной, редкой особенностью). Как это сделать грамотно - не знает, наверное, никто, но теги тут точно не особо помощники.

Согласен! Считаю, что для этого реально теги не очень удобны, тут стоит продумать и систематизировать общий список, а потом его уже в АПИ вытащить.

VBI wrote:1. Самое большее внимание и полноту заполнения получат только самые любимые (и, возможно, новые) демы
2. Остальная красота останется с одним файлом для загрузки и картинкой, + название/автор/группа, возможно несколько общих тегов, и скорее всего - без ютюба.

Так и будет. Считаю, что весь этот функционал актуален для 100-200 дем из топа, плюс собственные демы энтузиастов. Считаю, что этого и хватит, незачем каждый запилятор тегами помечать :)

VBI wrote:3. Обьём файлового хранилища начинает впечатлять, местами. Но, надеюсь, это не проблема. Надеюсь :)

Пока квота 50гб, за небольшие деньги расширю до 75, вместе с количеством inodes, когда понадобится.

VBI wrote:4. описанный обьём предполагает постоянную работу бригады администраторов

Есть кое-какой план уже, посмотрим.

Резюмирую - я ни в коем случае не собираюсь всё делать сразу. На данный момент два приоритета:
1. При импорте AAAрхива ZX-Art должен гарантированно уметь сохранить всю необходимую информацию, ничего не потеряв.
2. Общую архитектуру я должен спланировать так, чтобы переделывать как можно реже в дальнейшем. Для этого этот топик и есть, я уже пару вещей в голове передумал, исходя из ваших комментариев.
Политика как и раньше - выкладываю функционал сразу же по мере его готовности, делаю фичи под конкретные случаи и конкретных энтузиастов. Заранее впрок не делаю.
Дерево категорий планирую запилить в эти выходные. Если повезет - еще что-то двинется.

Re: ZX-Art: как реализовать демо-архив?

PostPosted: Thu, 17.03.2016 06:38:09
by g0blinish
moroz1999 wrote:Эффект - отдельный модуль. Имеет картинку, опционально время начала/конца (откуда мерять, кстати? с загрузки? с заставки), имеет теги. Может иметь ссылку на ютуб (со временем), может иметь снапшот.


Для меня идеально выглядит страница: http://madteam.atari8.info/index.php?prod=fx
Что хорошо: есть примеры эффектов, можно смотреть на эффект и менять параметры. Публикация снапшотов может вызвать вопросы "Как сделать?" и "Как работает?". В общем, не знаю как лучше сделать, подумаю.

Re: ZX-Art: как реализовать демо-архив?

PostPosted: Thu, 17.03.2016 07:51:25
by diver
Под раскладкой демо на части/эффекты я имею в виду прежде всего конкретные реализации эффектов в данном, отдельно взятом демо, а не описание типовых/классических эффектов.

Как раз выделив ряд конкретных реализаций со скриншотами, снапшотами и, возможно, исходниками, можно спокойно анализировать историю вопроса и делать какие-то обобщения по алгоритму данного эффекта и его реализации на ZX Spectrum.


Отправлено с моего iPhone используя Tapatalk

Re: ZX-Art: как реализовать демо-архив?

PostPosted: Thu, 17.03.2016 08:38:36
by g0blinish
diver wrote:Под раскладкой демо на части/эффекты я имею в виду прежде всего конкретные реализации эффектов в данном, отдельно взятом демо, а не описание типовых/классических эффектов.

тогда Вики?
мне думается, что удобнее выложить эффект как иллюстрацию, возможно с исходниками. Или я не понимаю о чем речь?

diver wrote:можно спокойно анализировать историю вопроса и делать какие-то обобщения по алгоритму данного эффекта и его реализации на ZX Spectrum.

Ну как обобщать и анализировать?

есть BumpMapping с простым описанием Flying/DR(в Scenergy, если не ошибаюсь), есть вариация эффекта на динамичной карте высот, есть различные способы оптимизации(прекалк карты высот).
лишняя работа.

Re: ZX-Art: как реализовать демо-архив?

PostPosted: Thu, 17.03.2016 09:21:16
by diver
Вики - это не база данных, это способ упорядочивания произвольной информации в виде набора текстов. Я не об этом.
Об эффектах/частях я говорю как об элементах базы данных, но существующих только в привязке к конкретному релизу.

Пофантазируем, в качестве бреда, как всё это может выглядеть для релиза, состоящего из большого количества частей и который нам интересно разобрать на части. Например, берем AEON.

Есть части:
1. Intro
2. Parallax
3. Animation
4. Chessboard
5. Animation
6. Rings
7. Twister
и т.д.

Добавляем релиз в базу, загружаем к нему набор снэпшотов, по количеству частей.

Набор снэпшотов, естественно, жестко привязан к данному конкретному демо.

На странице релиза отображается список частей (эффектов) с thumbnail'ами скриншотов. К релизу можно добавить произвольное количество ссылок на youtube.

Каждый снэпшот имеет свою страничку, на ней есть:
- название части (эффекта)
- скриншот (берется из снэпшота) либо добавляется отдельно для бордеров/мультиколоров
- поле для ввода тегов
- поле для ввода комментариев
- поля для ввода смещения по времени от начала видеоролика для каждой youtube ссылки (по этим полям можно вычислить примерное среднее время начала и продолжительности, точнее только через счетчики внутри демо, но это всё вилами по воде и без участия авторов труднореализуемо)

Все теги эффектов (частей) одного демо образуют набор тегов демо, который нельзя редактировать со страницы демо напрямую.

Комментарии, добавленные через странички частей (эффектов) отображаются на странице релиза с цитированием thumbnail'а скриншота. При этом можно комментировать и релиз в целом.

Проблемы: есть части состоящие из нескольких эффектов, есть переходны (транзишены)... хз выделять их отдельно или нет.

Re: ZX-Art: как реализовать демо-архив?

PostPosted: Thu, 17.03.2016 09:23:55
by g0blinish
diver wrote:Сложности: есть части состоящие из нескольких эффектов, есть переходны (транзишены)... хз выделять их отдельно или нет

мне думается, что лучше эффект зациклить.

Re: ZX-Art: как реализовать демо-архив?

PostPosted: Thu, 17.03.2016 09:27:21
by diver
g0blinish wrote:мне думается, что лучше эффект зациклить.

g0blinish, извини я вообще не понимаю, о чем ты говоришь.
Если мечтать, что лучше, то лучше иметь онлайн эмулятор с перемоткой в обе стороны, когда четко пофреймово отмечено начало и конец эффекта, эффект автоматически цифруется из zip-релиза. Лучше? ЛУЧШЕ!

Re: ZX-Art: как реализовать демо-архив?

PostPosted: Thu, 17.03.2016 09:36:19
by g0blinish
diver wrote:g0blinish, извини я вообще не понимаю, о чем ты говоришь.

речь идет об иллюстрации демоэффектов? я приводил как пример странички команды MadTeam - удобно скачать пример демоэффекта, где эффект зациклен и не нужна перемотка.

Например, я соберу исходник эффекта twister и выложу как иллюстрацию. Сиди, наслаждайся (:

Re: ZX-Art: как реализовать демо-архив?

PostPosted: Thu, 17.03.2016 09:37:29
by diver
Нет, речь о подробном документировании содержания релизов.

Re: ZX-Art: как реализовать демо-архив?

PostPosted: Thu, 17.03.2016 10:00:45
by g0blinish
имхо долгая и нудная работа, которую ты на себя взваливаешь.
я думаю, что все-таки приложу часть написанных эффектов, тем более, что о твистере и sinedots многие спрашивали. Просто я не люблю, чтобы народ пошел на готовое - набрал готовых исходников и налепил демо.