| Published On : | 16.10.2008 00:00 |
Рейтинг |
|
Яков Сумыгин, автор проекта Deadly Light, ответил на вопросы ISN
Команда разработчиков состоит из одного человека. Я давно в свободное от основной работы время разрабатываю игровой движок, а тут подвернулась удачная возможность продемонстрировать его.
Изначально хотелось придумать сюжет игры, который бы подчеркивал особенности движка - реалистичное отображение игры света и тени. Поэтому появилась мысль - а почему бы не сделать врагов, не переносящих света? В воображении сразу возникла картинка - игрок, пробирающийся от света в тьму, дрожащий от каждого звука, пятно света от фонарика, высвечивающее бледную спину зомби, уткнувшегося в стену. (Кстати воображение нарисовало эту картинку не случайно - подобное можно было увидеть в фильме "I am legend" - "Я легенда" с Уиллом Смитом в главной роли и еще в фильме "Ведьма из Блер"). Спина зомби начинает дымиться от света, он жутко кричит и будит остальных, и тут игроку наступают кранты.
Хотелось именно добиться атмосферы фильмов ужасов, чтобы игрок был постоянно на нервах и боялся лишний раз повести фонариком. Было реализовано AI для зомби, которое позволяло ему избегать света, зловеще дымиться и спать стоя у стены. Остальной сюжет был подтянут за уши к уже необходимому подземелью - будто бы главного героя напоили друзья и свезли в первый попавшийся бункер. (были даже задуманы съемки сюжетного клипа, в стиле Prodigy "Smack my bitch up", получено согласие друзей и закуплен алкоголь. К сожалению съемки не состоялись). А тут еще очень удачно подвернулась статья про ЗРК "Даль" - большой подземный зенитный комплекс под Питером.
Название было переведено топорно с русского "Смертельный свет", хотя позже друзья меня просветили что Deadly Light не очень обычное выражение в английском и очень часто употребляется в контексте Deadly Light of Sex - когда самка богомола поедает самца после спаривания. Немного подумав, я решил что это тоже ложиться в сюжет (хотя возможно нужны были небольшие изменения)
К сожалению в демке многие возможности геймплея не удалось реализовать, очень много времени заняла отладка, доработка различных мелочей, моделирование уровня. Хотя интересных задумок было очень много.
Были задуманы переходы из тьмы в свет, где игрок мог бы отдохнуть и подлечить нервишки. Еще была задумка все сделать одному. Найти хорошего недорогого фрилансера-художника почему-то представилось сложным делом, да и нужно было бы объяснять особенности движка, поэтому решил все смоделировать и оттекстурировать самостоятельно. Были закачены из сети фотографии бункеров и подземелий.
Вот кстати некоторые оригиналы помещений игры плюс игровой скриншот. Нашедшим 10 различий - приз :)
Туннель из немецкого подземного бункера для правительства ФРГ и остатки АЗЛК
О конкурсе я узнал от друга, приславшего ссылку. Решение участвовать пришло сразу, так как необходимо было подстегнуть себя в разработке, да и призы выглядели очень заманчиво, что греха таить. Решил участвовать сразу в трех категориях, так как надеялся оптимизировать движок под различные платформы. Особой многопоточности в тот момент не было, поэтому было решено разработать удобную подсистему. Для поддержки мобильной категории, был иcпользован Intel Laptop Gaming TDK.
Оптимизировать приходилось все, с самого начала. Так как я самонадеянно решил участвовать во всех трех категориях, пришлось подгонять производительность к возможностям определённого железа. Поэтому был восстановлен незаслуженно забытый режим отрисовки "Doom3" - forward renderer, который был быстр ещё на GeForce 5200, добавились настройки качества текстур, размера теневых карт, для мобильной категории пришлось отключить тени. Придумал удобную систему для многопоточности, выделил в отдельные потоки физику, AI. Пришлось также доработать основной отрисовщик - отдельно прооптимизировал теневые карты под карточки nVidia (там есть возможность получить 4 пикселя теневой карты одним вызовом). Под самые слабые карточки пришлось написать еще более упрощенный forward renderer - отключить specular составляющую света, перекинуть расчет освещения с пиксельного в вертексный шейдер.
Трудности были в моделировании уровня, так как моделирование делалось в 3ds max, а он не очень приспособлен к разработке игр. Приходилось вручную расставлять порталы, кластера, физику. Особенно мучительна была отладка физики, главный герой постоянно в чем-то застревал, потом неожиданно взмывал в воздух и впечатывался в потолок.
Для оптимальной отрисовки используется сортировка по стейтам, минимизируется переключение Render states, используются большие вертекс буферы. При помощи порталов отсекается невидимая геометрия, неслышимые звуки.
В разработке часто использовался VTune, для профилирования проблемных участков. Также в разработке очень помог nVidia PerfHUD.
Яков родился в Туркменистане, в данный момент работает в Корее, но собирается в скором времени перебраться в Россию. Закончил Ашхабадский Университет, программировать игры пытался еще в школе на бейсике. К сожалению, эти шедевры не сохранились, помешало отсутствие жесткого диска у школьного компьютера. В Университете написал что-то подобное Wolfenstein 3D, это был ray cast движок, немного проопгрейденный в высоту. Увлекается программированием игр, боксом и русской литературой. Ездил на КРИ 2007, участвовал в ярмарке проектов и получил предложение от издателя, которое, к сожалению, не смог принять.
Все вопросы к разработчику игры Deadly Light можно задать свои вопросы в блоге Intel Software Network.
Скачать демо версию игры (90MB)
