пятница, 15 июня 2012 г.

Corona SDK - эксперимент в жанре "Пристрели их всех!"

Давно хотел попробовать сделать что-нибудь в жанре пристрели их всех.
Больше всего в этом жанре мне нравится то, что создается куча сущностей, которые похожи друг на друга, но характеристики у всех разные (скорость, hp, размер), каждый живет своей жизнью, знает что ему нужно делать и в целом автономен.
В коде это выражается одной строчкой:
Enemy:new()
Иногда даже не нужно держать все подобные объекты в массиве для контроля и учета, вы просто даете им жизнь, а дальше не ваши заботы.

</Лирическое отступление>

В написанной демке, в центре экрана находится башня, которая стреляет бургерами, а из-за границ экрана к башне ползут ужасные черви. После убийства одного червя появляется два новых, тем самым кол-во червей быстро увеличивается и уже после 20 секунд игры их становится так много, что fps падает до 4. Это значит, что вы проиграли, нужно было стрелять лучше =)

При разработке очень пригодился контроллер персонажа (разработанный на Geekfest Night), с помощью него игрок вертит башней. Сказать по правде, этот контроллер сюда не очень подходит из-за чего управлять башней довольно неудобно.

Исходный код - на github'е и zip.



Легко можно заметить, что графика во всех моих экспериментах отстой. Можно было приложить больше усилий, но цель всего этого не в этом, а в программировании, которое в gamedev'е заставляет работать мои мозги по полной (наверно, это как-то связано с 4-мя годами веб-разработки на php).