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

Привет всем! Это последний выпуск дневников разработчиков в этом году. Что планировали сделать за неделю: “Продолжим дописывать концепт-документ. И само собой будем придумывать альтернативное решение для ProximityManager. Так же планируется написать небольшую тулзу для замера времени работы кусков кода, используя getTimer() и отдельный Sprite с выводом графиков.

Что было сделано

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

Что касается ProximityManager, то мы перепробовали около 5 альтернативных алгоритмов, но не один не смог быть быстрее того, что сейчас есть. В результате чего пришлось оптимизировать код текущей версии ProximityManager. Мы попытаемся найти альтернативу в другое время, а пока есть дела и по важнее. Основной проблемой использования текущего алгоритма поиска ближайших соседей заключается в том, что соседи ищутся достаточно долго, когда задан как-то большой радиус. Например, когда надо захватить в качестве соседей все объекты из десяти клеток в обе стороны от текущего положения целевого объекта – то есть 100 клеток сетки. Так как у нас только люди и игрок ищут “соседей” в таком радиусе, то чем меньше людей тем быстрее работает игра. Скоро мы будем проводить тесты над людьми *МУАХАХАХАХААААА!* И тогда мы узнаем на сколько все будет тормозить.

Так же была написана небольшая тулза для замеров времени работы кода. После замеров сразу всплыло множество тормозящих мест. И всю неделю мы искали такие места и переделывали их. В результате оказалось, что самым тормозящим местом является обработка столкновений. Она конечно была ускорена, но она продолжает занимать 70% от времени сбора кадра, 29% занимает поиск соседей и 1% обновление камеры и прочие мелочи.

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

После всех замеров, оптимизация и тестов с разным количеством зомби на разных компьютерах мы пришли к выводу, что наша демка оптимально тянет около 1000 объектов. Так же было замечено, что Stage3D пока плохо работает на встроенных видеокартах от Intel, но на некоторых машинах с такими видеокартами демка тянет и больше 2000 объектов с 60 кадров в секунду.

Новости

В январе выйдет Flash Player 11.2 и AIR 3.2. AIR 3.2 привнесет Stage3D на мобильные устройства – руки чешутся проверить производительность этой версии AIR под Android.

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

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

Очень хочется уже найти еще одного художника и наконец заполучить графику и вставить ее в игру. Но пока один человек занят, а другой не найден то пока можно заняться остальным первостепенным:

  • Дописать дизайн-документ
  • Внедрить временную графику
  • Доработать редактор уровней
  • Создать игровые уровни
  • Переделать фон для уровней
  • Добавить различные виды объектов на уровни
  • Добавить частицы (огонь)
  • Разработать алгоритм обхода препятствий
  • Разработать алгоритм убегания от зомби
  • Запрограммировать оружие
  • Разработать модуль работы со звуком

Это список первоочередных дел и изменений в проекте. Мы хотим все это сделать за первый квартал. Конечно, если бы мы занимались только этим проектом, то времени бы потребовалось гораздо меньше. Но спешить пока некуда.

В связи с новогодними праздниками и дополнительными отвлекающими факторами – следующие дневники разработчиков выйдет через 2-3 недели.

ZombieLab, дневники разработчиков за 19.12 25.12 ВСЕХ С НАСТУПАЮЩИМ НОВЫМ 2012 ГОДОМ!!!

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

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> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>