Завершаю переезд на тайловую карту. Дорабатываю первый интерфейс мира и протатип игры обретает фундамент, на котором можно строить всё что угодно.
Тайловая карта — основа основ
Раньше мир держался на отдельных объектах: каждое дерево, камень или лужа были самостоятельными сущностями. Это работало, но не давало того ощущения целостности, которого хотелось. Теперь вся поверхность разбита на клетки — тайлы. Трава, песок, болото, скалы, горы, вода — у каждого типа своя проходимость, своя «стоимость» движения для муравьёв, свои шансы на появление ресурсов. Благодаря этому я смог реализовать живой поток муравьёв — flowfield — муравьи больше не прутся напролом через стены или воду, а аккуратно обходят препятствия, выбирая оптимальный маршрут.
Гнездо с восемью входами
Принял решение разделить гнездо на восемь секторов по сторонам света, и теперь каждый муравей возвращается домой, через ближайшую к нему точку входа. Это позволило строить flowfield для каждого сектора отдельно — экономия ресурсов и естественное распределение толпы.
Расширяем набор адаптированных юнитов
В 0.3.9 в игре появились четыре основных типа муравьёв:
- Рабочие — основа экономики. Собирают ресурсы, уворачиваются от врагов, а если прижали — могут и укусить в ответ. В свободное время создают эффект «живого роя», слегка подрагивая на месте.
- Солдаты — защитники колонии. Реагируют на боевые тревоги, преследуют врагов и атакуют их. Используют flowfield, чтобы добраться до цели.
- Скауты — разведчики, умеют находить неразведанные ресурсы и возвращаться с докладом.
- Медики — лечат раненых товарищей, подсвечивая их зелёным. Без них колония быстро бы вымерла от постоянных стычек с жуками.
Враги, тревоги и тактика
Жуки — первые полноценные противники. Они патрулируют территорию, нападают на муравьёв, получают урон, а после смерти оставляют кучку еды. Когда муравей замечает врага, он подаёт сигнал тревоги — создаётся боевое задание (alarm). Система оценивает суммарное здоровье врагов в зоне видимости и назначает нужное количество солдат. Если враг погибает, тревога автоматически снимается. Всё это происходит без моего вмешательства — колония живёт своей жизнью.
Экономика на тринадцати ресурсах
Еда, дерево, камень, глина, вода, мёд, шёлк, кварц, металлическая руда, семена, нектар, песок — всё это теперь можно найти, собрать и принести в гнездо. Ресурсы появляются на подходящих биомах, регенерируют со временем (если включена авторегенерация), а их количество отображается в левой панели. Панель динамическая: показываются только те ресурсы, которые действительно есть в запасе.
Умный интерфейс и отладка
UI сильно преобразился. Добавил панель функциональных клавиш (F1–F6, ESC) — теперь все отладочные режимы включаются одной кнопкой и визуально подсвечиваются. Правые панели (боевые задачи и разведанные ресурсы) можно скрыть по F2. Там же отображается расстояние до цели, время до истечения тревоги и количество назначенных юнитов. Всё сортируется по удалённости от гнезда.
Визуальные эффекты
Хотелось, чтобы игра «дышала». Добавил красное мигание при получении урона, зелёное — при лечении, частицы пыли при ходьбе (кстати, они остаются на земле на несколько секунд, создавая иллюзию следа). При смерти врага вылетают бгызги пикселей. Мелочь, а атмосферу создаёт.
Производительность
Чуть не забыл: была неприятная просадка FPS. Оказалось, я случайно убрал инкремент глобального счётчика кадров, из-за чего тяжёлые функции (вроде перестроения flowfield) вызывались каждый кадр. Забавно, как искал этот баг всю ночь))) Исправил — 1 500 муравьёв на экране игра держит стабильные 60 кадров.
Что дальше?
Версия 0.3.9 — это прочный фундамент. Теперь можно спокойно наполнять мир, добавлять строителей, красный муравейник (зеркального противника с ИИ) и балансировать экономику.






Добавить комментарий