Главная

Новости

Игры
Best
Rarity
Dimouse's

Демосцена Demo
Intro
Intro 4kb
Tracking

Тексты
Статьи
Другой материал
FAQ

Отзывы

Ссылки


 

 

 

 

Добавить сайт в избранное!

автор: Conspiracy
перевод: Dimouse

История создания Project Genesis


1. Истоки


Когда группа только образовалась, BoyC уже имел опыт в написании инструментов для создания интро, и реинкарнация первого a.D.D.i.c.t.'а (advanced Digital Dynamite intro creation tool) была наполовину произведена. Первый a.D.D.i.c.t. был написан на tmt pascal'е после разочарующего 17 места на Mekka&Symposium 2002. Zoom уже видел старую версию летом 2002, но за исключением странной сцены, которую он сделал на нем, сотрудничества между iNQ и DD не было (эта сцена все равно нигде не использовалась). Продвинутая реинкарнация инструмента на C имела новый и более удобный GUI, с которым его было гораздо проще использовать.

2. Приготовления


Имея наполовину готовый introtool, стало ясно, что нам нужно делать 64k intro. Принять решение было несложно, хотя оно подняло новые ожидания со стороны кода: а именно, звуковой генератор, написанный Gargaj'ем, и конечно быстрое развитие проги до приемлемого для использования уровня.

3. Концепция


Размер проекта определялся BoyC, поскольку он единственный разбирался в ограничениях, накладываемых его инструментом. Решено было попытаться показать столько возможностей наших инструментов, сколько возможно, таким образом создав продукт очень разнообразный по содержанию. Содержание было распределено в три главные части: абстрактная дизайнерская часть, 3d полет (flybye), и быстрая, динамическая техно часть. Позднее пришла идея сделать логотип группы перед шоу и кредитсы в самом конце, главным образом для того, чтобы сделать сюрприз венграм, присутствующим на парти. Было много идей, например, изначальная сцена с шестеренками, которые впоследствии приняли форму машины из фильма "13 ghosts".

Первой идеей для конца третьей части был коридор музея, со скриншотами из интро в качестве картин на стенах и Conspiracy лого в витрине в конце коридора. После разговора о Planet Potion, кто-то сказал о реакции польских сценеров на m&s2k2 на вьющийся польский флаг. Поэтому было решено сделать венгерский флаг в последней сцене, перед кредитсами, для того, чтобы еще больше удивить венгерских участников парти. Конечно, никто не хотел использовать примитивный sine-wave стиль, так как он бы разрушил ощущение монументальности после трех частей интро. Таким образом, единственный настоящий эффект в интро было решено написать: реалтайм моделирование материи.

4. Флаг


Эффект флага был готов первым, хотя большинством членов группы он был принят с большим скептицизмом. BoyC, автор эффекта, не слишком хорошо разбирается в физике, так что это было обосновано. Написание эффекта заняло лишь полдня, результатом которого стал экзешник с ini файлом, где можно было установить все переменные окружения флага. Разрешение сетки, гравитацию, ветер, ит.д. Zoom потратил все выходные играя с ним, пока наконец не достиг подходящей конфигурации. Вид вьющегося флага в такие короткие сроки придал новых сил всей команде, и создание продолжилось.

5. Музыка


Основой программы звукового генератора был простой генератор сэмплов, способный создавать разнообразные музыкальные сэмплы, из которых музыканты могут делать трекерные модули. После этого, убрав сэмплы, кодеры могут сделать небольшой экзешник, содержащий лишь паттерны и данные модуля, синтезатор и параметры синтезатора, полученные в программе. Программа генератора сэмплов в действительности была совсем не сложной, она использовала примитивный способ получения сэмплов: взяв какую-нибудь простую форму волны (например, синус или квадрат), фильтровала ее (использовались 12db однополюсной однонулевой фильтр с переменным состоянием и резонансный lowpass), и применяла к ней простое искажение. Большую часть параметров можно было изменять руками либо автоматически интерполировать envelope генератором. Частота сэмпла тоже настраивалась с помощью небольшого секвенсора, которым можно было делать простые мелодии и линии басов с небольшими 16-нотными паттернами, используя отдельную envelope для нот.

6. Генерация текстур


Часть с генератором текстур - это просто применение один к одному Aardbei'евского (http://www.aardbei.com/) генератора текстур, созданного на основе формата файла, переписывая эффекты, описанные в статье Ile из Hugi #18 (http://www.hugi.de/), и добавив gui в a.D.D.i.c.t. Если вы интересуетесь генерацией текстур, мы рекомендуем вам прочесть статью Ile, вместе с исходниками из бонус пака из Hugi. Там есть все, что может понадобиться для написания первого хорошего генератора текстур.

7. Моделирование


Инструменты моделирования были написаны для простой поддержки настраиваемого _небольшого_ 3D файлого формата. Грани и полигоны не хранятся в формате, только простейшие данные генератора для создания примитивов и матриц для их отображения. Основные примитивы завершались картами смещений. Как только Zoom разобрался с этими инструментами, качество его сцен начало улучшаться. Множество ранних сцен были отброшены по двум причинам: они не подходили под концепцию или не были достаточно хороши. Первая реализация сцены с шестеренками тоже пострадала, когда csg функции были выброшены из движка из-за того, что были слишком велики, глючны и медленны. Сглаживание сетки тоже пришлось выбросить. Было три варианта реализации последней сцены, все из фильмов: первая из начала известной серии Outer Limits, там был динамичный старт, который только и ждал, чтобы его реализовали в интро. Второй была сцена с шестеренками из 13 ghosts, а третья - из серии Stargate-SG1, с репликаторами - anarchid'ными роботами, созданными из блоков. Эта последняя сцена была отброшена из-за недостатка возможностей keyframer'а, чтобы легко анимировать таких героев.

Первой была закончена сцена с ландшафтом и флагом. Первый скриншот очень обрадовал группу, казалось, что это концептуальная картина, сделанная Zoom'ом в фотошопе... И когда оказалось, что это действительно скриншот из интры, мы не могли поверить это. Это повторилось снова с картинкой планеты. Она выглядела, как сканированная иллюстрация к планете Атреидесов из книги про Дюну. Второй была сделана сцена коридора с трубами, мгновенно привлекшая внимание Gargaj'я, и как только keyframer мог это позволить, он стал делать бешеные движения камеры.

простая текстурированная сцена

добавлен простой туман

появились облака

добавлены вертолеты

прозрачный слой для иллюзии отражений

финальная картинка


8. Собирание всего вместе


Keyframer был сделан ударными темпами, так как время заканчивалось, а группе было нужно знать размер, поэтому BoyC как можно скорее начал работать над timeliner'ом для интро редактора. Он заработал на второй встрече, за две недели до пати, но основной элемент еще предстояло написать: рендер в текстуру для timeliner'а, позволяющий использование обратной связи, и вторые сеточные эффекты Mrc. Также на встрече было произведено сохранение keyframe'ов в формат редактора, а как только это было сделано, можно было начать синхронизацию. Последней было сделано движение шестеренок, поскольку keyframer еще не поддерживал таких вещей. Несколько последних исправлений и пати-версия была готова.

Немного статистики:


Финальная версия содержит 131294 треугольников и 82441 граней в 490 объектах, 22 из которых разными способами искорежены, в 47 сценах (47 сцен в редакторе, некоторые из них были использованы вместе, с помощью рендеринга в несколько этапов). Самая большая сцена - это сцена с шестеренками, содержащая 36508 полигонов. Для синхронизации и тайминга были использованы 416 событий, 26 из которых для рендера в текстуру, эти 26 событий заняли 75% времени (таким образом 75% рендерированных сцен были postprocessed с помощью 2d фильтра). Для визуального улучшения объектов были сгенерированы 53 текстуры, каждая с 4 слоями (atg stye, в сумме 39.75 мегабайтов несжатых данных), но только 100 из этих 212 слоев были использованы в качестве материалов, остальные - в качестве буффера в процессе генерации текстур. Все графические данные (сцены, текстуры, анимация и события синхронизации) содержатся в 57035 байтовом файле проекта, который занимает ~22k в окончательном сжатом экзешнике. 41 сэмпл был сгенерирован для музыки, полной длительностью в 4165666 байтов. Сама музыка длится 9:14, что могло бы занять около 100 мегабайт в 44.1khz 16bit стерео WAV'е. Музыка, плеер, и сэмпловый генератор заняли 18k в экзешнике (stub включен), а движок для остального (генерации текстур и 3d геометрии, рендеринга, анимации, поддержки окна, и проигрывания файла проекта) занимает 24k включая эффект флага.


Made by Dimouse © 2003