Deadly Light – победитель конкурса Intel® Game Demo 2008

Создать новую статью

Published On :   16.10.2008 00:00
Рейтинг
 


конкурс разработчиков игр game demo

Яков Сумыгин, автор проекта Deadly Light, ответил на вопросы ISN

ISN: Как возникла идея Deadly Light и кто входит в команду разработчиков?

Команда разработчиков состоит из одного человека. Я давно в свободное от основной работы время разрабатываю игровой движок, а тут подвернулась удачная возможность продемонстрировать его.

Изначально хотелось придумать сюжет игры, который бы подчеркивал особенности движка - реалистичное отображение игры света и тени. Поэтому появилась мысль - а почему бы не сделать врагов, не переносящих света? В воображении сразу возникла картинка - игрок, пробирающийся от света в тьму, дрожащий от каждого звука, пятно света от фонарика, высвечивающее бледную спину зомби, уткнувшегося в стену. (Кстати воображение нарисовало эту картинку не случайно - подобное можно было увидеть в фильме "I am legend" - "Я легенда" с Уиллом Смитом в главной роли и еще в фильме "Ведьма из Блер"). Спина зомби начинает дымиться от света, он жутко кричит и будит остальных, и тут игроку наступают кранты.

Хотелось именно добиться атмосферы фильмов ужасов, чтобы игрок был постоянно на нервах и боялся лишний раз повести фонариком. Было реализовано AI для зомби, которое позволяло ему избегать света, зловеще дымиться и спать стоя у стены. Остальной сюжет был подтянут за уши к уже необходимому подземелью - будто бы главного героя напоили друзья и свезли в первый попавшийся бункер. (были даже задуманы съемки сюжетного клипа, в стиле Prodigy "Smack my bitch up", получено согласие друзей и закуплен алкоголь. К сожалению съемки не состоялись). А тут еще очень удачно подвернулась статья про ЗРК "Даль" - большой подземный зенитный комплекс под Питером.

Название было переведено топорно с русского "Смертельный свет", хотя позже друзья меня просветили что Deadly Light не очень обычное выражение в английском и очень часто употребляется в контексте Deadly Light of Sex - когда самка богомола поедает самца после спаривания. Немного подумав, я решил что это тоже ложиться в сюжет (хотя возможно нужны были небольшие изменения)

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

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

Вот кстати некоторые оригиналы помещений игры плюс игровой скриншот. Нашедшим 10 различий - приз :)
Туннель из немецкого подземного бункера для правительства ФРГ и остатки АЗЛК

ISN: Как вы узнали о конкурсе? Почему было принято решения участвовать?

О конкурсе я узнал от друга, приславшего ссылку. Решение участвовать пришло сразу, так как необходимо было подстегнуть себя в разработке, да и призы выглядели очень заманчиво, что греха таить. Решил участвовать сразу в трех категориях, так как надеялся оптимизировать движок под различные платформы. Особой многопоточности в тот момент не было, поэтому было решено разработать удобную подсистему. Для поддержки мобильной категории, был иcпользован Intel Laptop Gaming TDK.

ISN: Расскажите подробней о проделанной оптимизации. На чем Вы решили сфокусироваться и приходилось ли сталкиваться с трудностями?

Оптимизировать приходилось все, с самого начала. Так как я самонадеянно решил участвовать во всех трех категориях, пришлось подгонять производительность к возможностям определённого железа. Поэтому был восстановлен незаслуженно забытый режим отрисовки "Doom3" - forward renderer, который был быстр ещё на GeForce 5200, добавились настройки качества текстур, размера теневых карт, для мобильной категории пришлось отключить тени. Придумал удобную систему для многопоточности, выделил в отдельные потоки физику, AI. Пришлось также доработать основной отрисовщик - отдельно прооптимизировал теневые карты под карточки nVidia (там есть возможность получить 4 пикселя теневой карты одним вызовом). Под самые слабые карточки пришлось написать еще более упрощенный forward renderer - отключить specular составляющую света, перекинуть расчет освещения с пиксельного в вертексный шейдер.

Трудности были в моделировании уровня, так как моделирование делалось в 3ds max, а он не очень приспособлен к разработке игр. Приходилось вручную расставлять порталы, кластера, физику. Особенно мучительна была отладка физики, главный герой постоянно в чем-то застревал, потом неожиданно взмывал в воздух и впечатывался в потолок.

Для оптимальной отрисовки используется сортировка по стейтам, минимизируется переключение Render states, используются большие вертекс буферы. При помощи порталов отсекается невидимая геометрия, неслышимые звуки.

ISN: Какие инструменты были использованы при оптимизации, использовались ли инструменты разработки Intel?

В разработке часто использовался VTune, для профилирования проблемных участков. Также в разработке очень помог nVidia PerfHUD.

Об авторе

Яков родился в Туркменистане, в данный момент работает в Корее, но собирается в скором времени перебраться в Россию. Закончил Ашхабадский Университет, программировать игры  пытался еще в школе на бейсике. К сожалению, эти шедевры не сохранились, помешало отсутствие жесткого диска у школьного компьютера. В Университете написал что-то подобное Wolfenstein 3D, это был ray cast движок, немного проопгрейденный в высоту. Увлекается программированием игр, боксом и русской литературой. Ездил на КРИ 2007, участвовал в ярмарке проектов и получил предложение от издателя, которое, к сожалению, не смог принять.

Все вопросы к разработчику игры Deadly Light можно задать свои вопросы в блоге Intel Software Network.


Видео проекта

Скачать демо версию игры (90MB)

web сайт