Пишем Расширения Для Игры Balanced Annihilation На Базе Spring Engine.

Статья предназначена всем любителям старого доброго Total Annihilation и его открытой реализации в виде ВеснаRTS + Сбалансированное уничтожение .

Хотя виджет Хранитель воздушного экрана оказалась, по большому счету, бесполезной затеей; благодаря небольшому размеру его пример может отражать основные идеи построения расширений для игр на движке Spring. Итак, суть виджета (т.е.

расширения) заключается в том, чтобы в той или иной форме сообщить игроку о том, что т. н.

Воздушная завеса, состоящая из множества самолетов, выполняющих команду «дозор», подвергается атаке противника с земли.

Обычно такие атаки в разгар боя (8 на 8 игроков) не очень заметны и их легко пропустить, так как противник уничтожит таким образом до 70% самолетов, если его отвлечет на что-то сиюминутное.

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

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

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

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

   

local function dispatchUnit(unitID, unitDefID)

Теги: #springrts #Разработка игр
Вместе с данным постом часто просматривают: