ZombieLab, дневники разработчиков за 28.11-04.12


Привет всем! Это очередной выпуск дневников разработчиков.

Сначала напомню вам, что мы обещали в прошлом выпуске: “За эту неделю нам нужно это сделать, а так же переписать документацию по проекту (концепция, технические требования). Так что ждите следующего выпуска дневников разработчиков через неделю. Будем отчитываться о проделанной работе и расскажем немного о первой игре на разрабатываемом движке.

А теперь я расскажу, что мы успели сделать, а что, увы, нет.

Starling

Фреймворк, который на вид очень простой, сначала подавал большие надежды, но первые опыты показали, что рендеринг там ОЧЕНЬ слабый. Никого это не устроило и я оформил претензию по производительности на официальном форуме разработчика. Видимо разработчик сам был не рад такому раскладу и пошел нам на встречу – бросил все дела и стал ускорять движок. У него даже получилось, но стороннее расширение starling-imagebatch для Starling оказалось еще круче – оно ускорило рендеринг в 8 раз! Когда официальный апдейт только в 4 раза, хотя это тоже очень круто.

Пока что официальный апдейт еще не выкатили (он нам достался в виде альфы), поэтому дам ссылку только на стороннее расширение.

Данное расширение позволяет гонять 8000 объектов с 60 кадров в секунду, когда обычный рендер тянул только 1000. Но у данного расширения есть один недостаток – оно не поддерживает покадровую анимацию.

Но не долго думая мы прикрутили к нему поддержку starling.display.MovieClip, сделали демо. А так же сделали отдельное демо на обновленном Starling, пусть и в альфе.

Результаты:

Как видите разница примерно в 15 кадров в секунду. На новом Starling не работает starling-imagebatch – нужно просить автора расширения докрутить его, тогда, наверное, все будет летать еще немного быстрее.

С рендерингом более-менее разобрались – скорее всего у нас будет все же Starling  с докрученным starling-imagebatch.

Обработка столкновений

За эту неделю портировать с прошлой версии движка удалось только обработку столкновений. При этом были найдено несколько багов – все было исправлено, а так же были произведены рефакторинг и оптимизация кода. Библиотеку ProximityManager допилили под себя и исправили в ней пару багов. Напоминаю – все зомби и люди представлены в виде двух окружностей. Внутренняя окружность нужна для столкновения движущихся “объектов” друг с другом, а внешняя для столкновений человечка или зомби со стеной статического объекта. Здания представлены в виде произвольных многоугольников. То есть в итоге все свелось к двум случаям: столкновение окружностей и столкновение окружностей и прямой.

В итоге, с новым рендерингом и обработкой столкновений (которая обсчитывается каждый кадр), мы имеем 60 fps при 1000 объектах на картах в 1600х1200 и 2048х2048.

Сюжет и особенности игры

Мы хотим сделать игру про Дзержинск. Такая маленькая фантазия по поводу одного из самых загрязненных городов России. Тут все к этому располагает. И обилие заводов и “Белое море” и свалка, которая стала самой большой в Европе, а так же постоянные болезни, вечно плохая вода, ранние смерти, сокрытие данных о реальной экологической обстановке и т.д.

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

Основа сюжета проста – летом несколько друзей идут в небольшой походик за город, просто пожарить шашлыки, посидеть у костра ночью с гитаркой, попить пива и переночевать в палатке. Главный герой, один из этой тусовки, просыпается от воплей и видит, как его приятелей уже доедают набредшие из неоткуда зомби. Он, конечно же, убегает, куда глаза глядят. Некоторое время в игре придется просто убегать. Далее игрок найдет сторожку, в которой сможет найти оружие и патроны. Далее ему снова нужно будет продолжать убегать, а что будет дальше, пока секрет.

Оружием игрок будет владеть не очень хорошо – будут работать элементы RPG – чем больше стреляешь, тем лучше точность и т.д. При этом количество патронов будет ограничено, то есть придется стрелять только в самый крайний случай. Так же в игре не будет готовых сюжетных скриптов – у зомби будут запрограммированы определенные правила поведения, которым они будут следовать, и их расположение тоже будет разным, что даст с каждой новой игрой разные результаты «жизни» внутреннего игрового мирка.
Напоминаем, что эта игра будет только первым эпизодом в серии игр. Так что если она с виду кажется банальной и скучной, без аркадной тонны мяса, то спешим вас успокоить, что дальше все точно будет. А на этой игре мы проверим движок и соберем обратную связь по механике.

Планы на ближайшую неделю

Научить объекты двигаться (через собственную реализацию некоего аналога Tween). Портировать логику поведения зомби и добавить игрока. А так же добавить временную графику и анимацию. А также в следующем выпуске мы расскажем вам про инструмент для создания простыней из кадров – Texture Packer.

Похожие записи:


Leave a Reply

Your email address will not be published. Please enter your name, email and a comment.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">