"Making of Paralactika": интервью с TmK/deMarche

Интервью было взято у TmK 22 сентября 2011 года для журнала krik12. Т.к. журнал навряд ли когда-то выйдет с таким-то хайпом, то делать нечего, кроме как опубликовать его здесь. Тем более, что актуальность статьи не теряется. Итак, back into 2011!

Проходит год за годом. Спектрум отнюдь не молодеет. Демосцена на спектруме переживает какие-то странные времена. Уже давно не было дем, в которые можно влюбиться. И тут… Paralactika! Нет, ну конечно любовь не на всю жизнь, но, все же, что-то действительно значительное. Вызывающее мурашки, восторг, желание пересмотреть, переслушать, еще раз посмотреть на реале, понять, оно, черт побери, насколько там мерцает, сильно или не очень, скорее написать комментарий на pouet, в кои-то веки — рипнуть картинку из демо!, восхититься тем, что в демах снова есть классная графика, которая не дублируется с компо, в десятый раз переслушать музыку, наконец, понять всю ее гениальность и задуматься… А как же все таки авторы сумели это сделать? Сотворить такую мини-магию?


Diver: TmK, расскажи об авторах, о себе. Прежде всего как так Демарши, писишная практически команда и вдруг делают ньюскул демы на zx? Интересно? Тянет к корням?

TmK: Вообще, мне всегда была интересна первоначальная суть демосцены, когда люди пытались сделать на компьютере что-то, на что он, в принципе, не рассчитан, т.е. в каких-то жестко ограниченных рамках делали маленькие шедевры. И до сих пор мне очень интересно смотреть новые демки на 8-битных платформах. Так что, скорее всего ты прав – наверное, тянет к корням…
deMarche, как и многие, в России начинали со спектрума. Тогда мы еще назывались Master Home Computers Group. Если кто хочет вспомнить, вот небольшой список того, что делалось до 2003 года:
Smak Megademo (1997),
Fast Breed (game, 1998),
Katharsis (demo, FunTop’1998),
Hardcore (chunk editor, 1999),
Virtual Worlds (magazine, 2000, [вышел только 1 номер — прим.ред.]),
Black & White (demo, CAFe'2002).

На ПЦ сцену deMarche ушел в 2003 — демка deBut на Cafe’2003.

Как-то читая форум http://zx.pk.ru, я увидел эксперименты в области гигаскрин графики. Тогда мне тоже захотелось этим позаниматься. В качестве примера был написан конвертор из BMP в 128*96 с гигаскрин цветами, а через некоторое время вдруг появилась идея попробовать сделать гигаскрин эффект в чанках 4х4. Эффект получился достаточно красивым и было решено делать демку полностью в гигаскрине — так на свет появилась Mescaline Synesthesia, которая была зарелижена на The Ultimate Meeting в 2009 году. Думаю, этот момент и можно считать нашим возвращением на 8-бит демосцену.

Кстати, Newart сказал, что deMarche на zx — это группа одного человека. Он глубоко ошибается. Может я и делаю большую часть работы, но есть и другая очень важная составляющая, которая остается как бы за кадром. Каждую демку мы обсуждаем все вместе, вместе придумываем какие-то эффекты, и при этом от Zeebr’а постоянно идет критика — что и как переделать, чтобы было лучше. Кто работал в команде, тот поймет, что это очень важный момент. А на финальной стадии демок наш ex-zx-художник Rainman вместе с Zeebr’ом, leopart’ом и мной корректирует цвета.

Ну и специально для ААА наш сегодняшний состав:

Zeebr (ex-Moonwalker,ex-Breeze) — глава партии deMarche, пишет музыку на pc, раньше кодил и писал музыку на zx.
TmK (ex-Time Keeper) — код на zx и,pc, немного графики на zx, также раньше писал музыку на zx.
leopart (ex-mr.First, ex-Stone) – музыка и код на pc, раньше — код и музыка на zx.
Raven — код на pc, раньше — код на zx.
Rainman (ex-Werewolf) — графика на pc, раньше — графика на zx. также на финальной стадии демок делает корректировку цветов (zx,pc).

Diver: Как и когда вы задумали Паралактику? Сразу после Мескалина? Как вообще родилась идея и как она развивалась?

TmK: Нет, не после Мескалина, после него еще был Scroller (AAA Demo Compo 2010).

Началось все с посещения DiHALT’а random ’ом. Честно говоря, не ожидал его увидеть т.к. исторически DiHALT планировался противовесом, оппозицией CC, но сегодня это, конечно, всё в прошлом… В общем, мило побеседовали, он позвал на CC приехать, а я уже который год страдаю, что никак никуда не съездим, а последний раз на пати в качестве посетителя я был в 2001 году. Ну и на очередной церемонии употребления я сказал, что с удовольствием бы съездил на CC… dark^k2 тоже, оказывается, подумывал об этом… Zeebr, leopart тоже вроде не против были, но понятно, что с пустыми руками ехать на пати неинтересно — нужно делать работы.

Что можно сделать за месяц с небольшим? Особо не развернешься, а тут как раз накануне беседовали с Alone Coder про 3D демо-движки на спеке и вспонили про Absolute Lame, которую тогда не успели доделать и фактически в сыром виде выставили на CC’2001… Изначально не было Paralactik’и — было в планах сделать некий ремейк на Absolute Lame, плюс-минус добавить новых эффектов, но переделывать было практически нечего. 3D-трансформацию я так и не успел для гигаскрина написать и фактически из первоначальной задумки остался только зоид, складывающийся с фоном.

В какой последовательности появлялись идеи эффектов сейчас уже сложно сказать. Был написан список того, что хотелось, и началась работа. Однако некоторые эффекты так и небыли сделаны/использованы в силу тех или иных причин.

О том, как придумывались эффекты сложно ответить однозначно. Мы собирались по несколько раз на неделе, пили пиво, спорили, обсуждали, философствовали… вспоминали демки с других платформ… кто-то что-то придумывал… в результате появлялись наметки — что и как примерно должно выглядеть.

Название появилось чуть позже некоторых эффектов, потом придумали начало, и тогда же появилась космическая направленность демки. Zeebr хотел, чтобы в начале появлялось звездное небо, а потом был перелет в Paralactik’у, который должен был выглядеть примерно, как пространственный туннель в STARGATE, но позже пришлось сократить идею до появляющегося звездного неба, мигающих звезд и ускоряющегося тоннеля из точек — в результате получилось нечто напоминающее туннель и закручивающуюся галактику, что, в принципе, тоже хорошо сочеталось со следующей за ним картинкой с названием (думаю, ни для кого не секрет, что порой, делая одно, получаем в результате нечто другое).



На картинке с названием есть пузырьки — да да, это именно пузырьки, а не планеты, как некоторые могли подумать — в демке должен был быть эффект с пузырьками…



Эффекты со звездочками скорее всего появились после написания зоида и моих воспоминаний про звездочки из Ugly Kid, Magic Star (TBK&4D DH’2007), как некий их гибрид.

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



С графикой как всегда были напряги. Картинка с названием дорисовывалась с пятницы на субботу уже во время проведения пати. Спасибо prof4d за картинку!!! Она была обещана для демы еще на DiHALT’е, когда была в незавершенном виде. По нашей просьбе в руках у феи была дорисована волшебная палочка со звездой на конце, чтобы немного добавить связи с демкой.



Дальше сосиски (по-научному что-то типа twisted bars) — один из моих и Zeebr’а любимых эффектов, хоть и Zeebr’у больше нравятся немного другие… Давно хотел сделать именно такие, тем более я узнал, что такие эффекты, оказывается, делаются из спрайтов :) и это было достаточно просто. Также мне всегда нравились партиклы и, по идее, эффект представляет собой три столба вращающихся вокруг летящих вверх партиклов. К сожалению, визуально это получилось не настолько видно, как хотелось бы, хотя там отрисовывается задняя часть, потом партиклы, потом передняя часть…



Тор… Многие задавали вопросы «как же он сделан, почему так быстро», «какого фига он ваще фреймовый у вас, сколько там полигонов» © …

Нет там полигонов, хотя Alone Coder бы и из полигонов шустрый сделал, но я пошел другим путем. Сама идея тора появилась после просмотра одной из демок на какой-то 8-битной платформе (сейчас уже не вспомню какой). Там явно было видно, что он сделан анимацией, но, посчитав память, я понял, что для полноценной анимации по двум осям даже с минимальным количеством фаз будет много, поэтому был придуман фейк…

В результате тор — это 12 кадров анимации поворота на 90 градусов по оси Oy. Остальные 90 градусов получаются зеркальным отображением спрайта (слева направо). В итоге имеем полноценную анимацию поворота вокруг оси Oy на 180 градусов за 24 шага. В силу симметричности тора полный поворот на 360 градусов — это два раза подряд проигранная анимация на 180 градусов, за счёт чего в результате имеем полный оборот вокруг оси Oy за 48 шагов :)

А дальше все просто, вместо любимых нами поворотов вокруг осей Oy, Ox мы используем нужный спрайт поворота вокруг оси Oy и поворачиваем его вокруг оси Oz, что фактически является поворотом текстурированного прямоугольника (текстурой, для которого является спрайт) в плоскости Oxy. Как я говорил выше, 3D я для гигаскрина так и не реализовал, но вместо расчета сканлайнов полигона и соответствующей ей точке в текстуре я использовал обратный метод — вычислялось местоположение каждой точки текстуры (спрайта) на экране, а образовавшиеся дыры убирались путем закрашивания соседней точки экрана, что позволило мне добиться необходимой линейности алгоритма, т.к. вычисление эффекта у меня идет во время построения экрана и надо переключать страницы. (примерно аналогичный метод был применен в Mescalin’е при построении по точкам 3D-сосиски в части с приветами — тогда я еще не знал, что сосиски можно сделать спрайтами :))

Фон, к сожалению, не успели прорисовать. По идее там планеты, а в светлом месте должна была быть вращающаяся галактика…



Далее идет moving shit — ну он и в Африке… про него много раз уже говорилось, ну а текстура со звездами она как-бы в поддержку космической темы))



Туннель… ну, куда-же без него… Если внимательно посмотреть на наши демки на ПЦ, то в каждой из них есть туннель, а в некоторых и два, ибо туннели мы любим :) В этот раз мне было интересно сделать туннель с летящими в него партиклами, правда траектории партиклов получились немного плоскими, но в целом я остался доволен.



Трек уже был почти написан (не хватало части для приветов) и в нём были еще свободные паттерны. Один из задуманных эффектов я не смог сделать, и тут мы вспомнили про наши любимые плазмы в калейдоскопе, которые использовались в Dust (СС’2000). Время поджимало, поэтому были взяты старые готовые текстуры. Изменению подверглись лишь алгоритмы, ну и соответственно, вместо чанков стал мультигигаскрин.

Organism видимо обиделся и усиленно кричал в irc во время пати, что deMarche спиздили у него эффекты и даже не указали авторства… Оригинальная идея эффекта на самом деле принадлежит Organism’у.

Org привет — вот указываю твое авторство :) Вовсе незачем обижаться, Dust делали мы с тобой вместе, а текстуры на 70% делал написанный мной редактор Hardcore :) И чем об авторстве рассуждать — лучше бы ты демки писал ;)



Ну и, наверное, моя самая любимая часть — приветы. Долго мы спорили и не могли понять друг друга, как они должны выглядеть, но в конечном итоге вроде пришли к общему знаменателю. n1k-o специально сделал музыку со стереоэффектом — в какую сторону улетает звезда, в каком месте появляется привет — все это подчеркнуто разделением по правому и левому каналам. Не скажу, что точно послужило идеей для фона из вращающихся лучей, скорее всего что-то из увиденного на ПЦ сцене, но в целом получилась достаточно простая и демосценичная такая часть с приветами. Идея появления Марио, съедающего в конце звезду, приснилась Zeebr’у в вещем сне или где-то между сном и реальностью, как он говорит.



Да… забыл про эффект с кругами вначале. Подсмотрели на какой-то гифке и решили сделать что-то подобное. По сути это простой маппинг по радиальной таблице + хитрая текстура. Сначала я рисовал круг на экране, потом по таблице маппинга ставил точки в текстуру и смотрел, что получается. Как всегда, пришлось допиливать руками, да и идеально ровных кругов добиться не удалось, но в результате этих манипуляций получилась эта “хитрая“ текстура — оставалось только подобрать скорости смещения по x,y текстуры.

Почему снова гигаскрин? — спросите вы.

Гигаскирин движок использован почти без изменений от Mescaline Synesthesia, ибо нравится мне гигаскрин цвета, а что-то новое придумывать уже не было времени. Гигаскрин предоставляет цветовые оттенки, что позволяет делать эффекты более красивыми, а на хорошем старом телевизоре/мониторе он не так уж и сильно мигает, как у многих на TFT. Кто-то сказал, что мы — эмуляторная группа и делаем все под эмуль — это в корне не верно. Видео на youtube в noflic’е только из-за того, что ПЦ не может передать реальные 50Гц. Тут вообще надо понимать, что старый православный zx — это не только компьютер, но и монитор/телевизор тех годов (у меня такой монитор специально стоит дома :)) Хоть для кодинга я и использую ПЦ (блокнот и sjasm), все демки в обязательном порядке проверяются на реальном pentagon, а также на реальном zx spectrum +2.

Diver: да уж, разнообразить эффекты, сделать переходы между ними, сделать больше разных и интересных эффектов – это перманентное желание когда делаешь демо за 1-2-3 недели. В результате всегда получается сделать только половину задуманных эффектов, т.к. фантазия всегда шире, чем возможности. При этом часть эффектов оказываются не так эффектны как думалось сперва :-D, отсюда и появляются всякие филлеры и самоповторения (а что еще можно успеть в условиях ограниченного времени). Из этой ситуации есть 2 выхода. 1) лучше планировать и, соответственно, раньше начинать 2) выпускать final-версии. И то и другое требует бОльших трудозатрат, а мы не всегда готовы их понести, поэтому, имеем то, что имеем. Например, у нас, я считаю, Harm, Traumwerk, Kkolor и Electrogodzilla – пати версиями.
А почему заказали музыку именно у nq? И как вы пришли к такому крышесносящему саундтреку? Почему именно robohorse был взят за основу?

TmK: Ну как я уже выше говорил — музыкой занимались nq и Zeebr, я только просил мелкие поправки сделать для компилера по большей части :)

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

По большей части тут конечно лучше, чтобы о треке рассказали n1k-o и Zeebr, я могу лишь сказать, что трек писался непосредственно под видеоряд, что я считаю самым правильным направлением при создании демы. Ну а жанр — нам всегда нравился breakbeat, breaks, d&b, а в последнее время ещё и dubstep.

Diver: Довольны ли вы результатом? Хочется ли что-то переделать?

TmK: Переделать/доделать всегда что-то хочется. Свободного времени уже не так много, как это было в 18лет, и, так или иначе, все демки получаются прямо под дедлайн. Соответственно, многое из того, что планировалось изначально, не получается сделать. Как минимум, тут отсутствует синхронизация внутри эффектов — планировалось сделать модные ныне на пц искажения картинки под музыку. Ну и некоторые задуманные эффекты, как я уже раньше писал, не были сделаны. Также хотели сделать переходные мини-эффекты между частями, чтобы не было черного экрана, но увы…

Результатом мы вполне довольны, главный результат для нас — это разрыв аськи и irc фидбэками после показа и комменты на pouet :)

Diver: Довольны ли вы пати и тем, как прошел показ?

TmK: Лично на пати у нас, к сожалению, не получилось присутствовать, но онлайн-трансляцию мы смотрели всей толпой (одновременно доделывая демку на ПЦ). Отдельный респект unbeliever и bfox’у – атмосферу они делают на пати замечательную. На трансляции изображение было не особо, там видно полосы левые — то ли от видеокамеры они, то ли от ресемплинга проектора — непонятно (надо будет посмотреть дома на проекторе, как оно будет) — но тут уж ничего не поделаешь, спектрумовские 50Гц сложно воспроизвести нормально на современной аппаратуре, далеко не каждый проектор сможет показать это так, как надо.

Diver: А технологически как вы делаете демы? Расскажи по этапам.

TmK: Честно говоря, даже не знаю, как ответить на этот вопрос. По большей степени в том или ином виде ответ уже есть выше. Для каждой демы по-разному, но примерно это выглядит так: сначала появляется какой-либо мотиватор, потом появляются какие-либо идеи эффектов, далее идет кодинг с подсчетом тактов и мозголоманием, появляются новые идеи, от некоторых старых приходится отказываться. В какой-то момент появляется окончательное название и концепция демки, придумывается начало, концовка… Параллельно пишется музыка (для Мескалина музыка была готовая от MMCM’а — мы сначала и не поняли, что она уже была в демке, да и выбора тогда не было, а вот допиливать под видеоряд пришлось самим, и, в силу тормознутости PT3-плеера, пришлось переносить вручную в PSC). На финальном этапе коррекция цветов, сборка, синхронизация под музыку и проверка на реале. В случае со Scroller’ом изначально появилась мысль сделать мини-демку под формат пати с рипнутой идеей, срисованной графикой и ремикснутой музыкой. Весь код пишется на ПЦ в блокноте + sjasm, графика и текстуры рисуются в фотошопе 5.5, а графика потом доделывается в multiArtist’е. Про картинку prof4d надо его самого спрашивать, как он делал, но, насколько я понимаю, изначально рисовал в multiArtist’е.

Diver: Какие планы на будущее? Чего ожидаете от демосцены на спектруме?

TmK: На данный момент работаем над игрой под ZX-Evolution, по которой хотим устроить турнир на Di:HALT:2012.

В остальном, это скорее не планы, а мечты. Например, освоить C-64 или Амигу, съездить с демкой на зарубежные пати — такие, как tUM или Assembly…

В любом случае, Paralactika — это явно не последнее наше демо на oldscool платформах :)

От сцены на спектруме больше всего, наверное, ждем, когда проснуться TBK и 4D — xочется уже что-нибудь потрясное от вас увидеть :) Ну и чтобы народ zx-сцены более широко смотрел на сцену, а не ограничивался только zx; с64, msx, zx-evo и др. — это тоже машины достойные внимания и уважения.

А для себя мечтаем о zx-художнике :)

Diver: ну, мы когда-нибудь точно проснёмся :-D, камбэки дело вообще обычное, насколько я вижу по другим платформам, если люди больны демосценой, то никуда от нее они не деваются, иногда только делают перерывы в несколько лет. Большое спасибо за интервью и удачи во всем!

25 комментариев

avatar
Стоящее демо, клёвое интервью, респект! Любые такие разговоры о внутренней кухне очень интересны.
avatar
Hype — это и есть возрождение прессы на ZX.

Осталось только сделать приложение для спектранетов для чтения с реала.
avatar
Сделать автоматический компилятор постов (и комментов к ним) и всего делов.
avatar
Мне кажется, что это уже было не тру.
Авто-компилятор будет уже вторичным, а на ZX можно было бы жать f5 и смотреть всё прямо на ходу. Но это больше блажь, всерьез вряд ли кто будет с пентев сидеть.
avatar
Да ну брось, он будет настолько же вторичен как любой другой e-zine вторичен к наброскам статей в текстовом формате.

Нажимать раз в месяц секретную кнопку и автоматически собирать из постов выпуск/слепок/снапшот hype'е — это ли не крутота? =)
avatar
Закодишь? :)
avatar
При наличии спектрумовской журнальной/газетной оболочки, компилируемой/собираемой sjasm'ом технически задача не очень сложная.

Из инструментов нужен конвертор из html во внутренний язык разметки (поддерживаемый оболочкой), автоимпорт/конвертор иллюстраций, выбор музла и заставки, + сам sjasm. Предполагается, что это всё запускается из web'а, значит должно работать под линуксом.

Кажется, все компоненты уже существуют.

(На входе у нас список публикаций за заданный период + список комментариев к каждой из них. + музло + заставка. Всё выглядит не так уж страшно.)
avatar
здесь есть хоть один человек, кто будет запускать это на реале?
avatar
Ты так спрашиваешь, будто это для этого задумано.

Это же как state-of-the-art: душу греет сама возможность взять упороться, накомпилить себе выпусков, уехать в деревню со спектрумом и читать!

Или залить эти образы в эмулятор на iPad'е и читать свой собственный спектрумнет в самолёте =)
avatar
Ололо! HYPE digest on speccy!
avatar
сконвертить в некоторое представление можно.
главное решить вопрос с оболочкой и её данными.

а некоторый простой хтмл сконвертить можно, чо. чур нюк конвертит картинки :)
avatar
Оболочки однозначно нужно использовать уже готовые (к крик'у? z80? insane?), которые уже предполагают автоматизированную сборку. Отсюда будут понятны ограничения на формат публикации и можно будет копать дальше.
avatar
Scenergy #3?)
avatar
Да, да :) Кто еще следующий выскажет то же самое? По-моему про крик была похожая идея, когда делали 11 номер?
avatar
Да члон с ними, с идеями. Важна же реализация.
Вон, насколько я помню у мальчика psndcj есть собиралка того же крика.

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

Идея в том, чтобы каждый смог себе скомпилить дайджест в любой момент — и нет никакой необходимости выжидать и проч.

Сначала можно просто текстовый снапшот генерить. А потом — хоть десять движков и оболочек присобачить.

Уничтожить сакральность релиза =)

(Что не отменяет возможности делать и «официальный релиз» с минимальной ручной доводкой.)
avatar
Делай! Все только «за» будут.
avatar
Так и думал, что фразой «Уничтожить сакральность релиза.» sq засаммоню =)
avatar
:) Неужели я настолько предсказуем?
avatar
Нет, просто заклинания знаю =)
avatar
По сути это простой маппинг по радиальной таблице + хитрая текстура
Вот по отдельности всё понимаю, но пока всё равно не понял, как точно оно сделано.
avatar
По поводу статьи — статья офигенная, Дайвер отличный интервьюер, ТмК всё отлично расписал.
Но!
Блин, ТмК, почему ты первую мою фразу, про полигоны, процитировал, а вторую, где я говорю — «значит это анима с поворотами», забыл? :)
  • sq
  • 0
avatar
Кстати STARATE не тот что тут ссылка стоит имелся ввиду, а вот этот https://www.youtube.com/watch?v=9RswRNpUDUs
  • TmK
  • +1
avatar
Спасибо, заменил :) Но тот тоже было бы круто на спектруме сделать! (О черт, а вдруг авторы фильма против!!!)
avatar
TmK просто великолепно.
Эти демы — высочайшего класса.
Спасибо за творчество!


Дайте ещё! :)
avatar
В статье два раза три буквы ааа. Приятно читать ааа. Остальное я не понял, но дема, безусловно великолепная, как и три других.
  • AAA
  • +1
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.