Игры ·
Гардарика
Изометрическая RTS в духе Age of Empires II: древнеславянский город, экономика, строительство, автотайлинговый частокол, вода с мостами, мини-карта, контрольные группы и 10 волн монгольской орды. Код — Claude Opus 4.8, графика — Gemini 3.1 Flash Image.
- Модель
- Claude Opus 4.8 (код) + Gemini 3.1 Flash Image (графика)
- Версия от
- 21 июня 2026 г.
- Время разработки
- 18 коммитов за ~22,5 часа (20–21 июня 2026)
Полноценная RTS-«песочница» о Древней Руси: ставишь ратушу, гонишь крестьян рубить лес, бить камень и мыть золото, строишь избы под население, казармы и кузницу, изучаешь улучшения — и отбиваешь десять волн орды, каждая злее предыдущей. Управление нарочно сделано в логике Age of Empires II: левая кнопка выделяет (рамкой — целый отряд), правая отдаёт умный приказ — идти, добывать, строить или атаковать, смотря на что нажал. У монголов нет базы: они просто накатывают волнами с края карты, ломают частокол и жгут город, а строить и развиваться может только игрок.
Вся экономика — настоящая: ресурсные узлы истощаются, население упирается в лимит от изб (потолок — 200), а исследования меняют не только цифры, но и внешний вид. Самый заметный апгрейд — «Дружина»: ополченцы в льняных рубахах превращаются в дружинников в кольчуге, с плащом и каплевидным щитом (и заметно живучее). Башни и каменная кладка частокола тоже меняются с улучшениями. Под капотом — лёгкий A*-поиск пути (вода и стены — настоящие преграды, орда прогрызает оборону), depth-сортировка изометрии, очереди найма и исследований, авто-оборона гарнизона и волновой «режиссёр» со скейлингом по HP и урону.
Игра написана автономно. Под капотом — модульный TypeScript со сборкой на Vite: симуляция (экономика, A*-поиск, бой, ИИ орды, волны) разнесена по слоям data/ (декларативные таблицы), sim/, render/, input/, ui/ — вместо прежнего монолита в один файл. Рендер — WebGL через PixiJS v8: изометрия с depth-сортировкой, контактные тени под каждым юнитом и зданием, частицы (щепки, искры, дым из труб), виньетка для объёма. Персонажи анимированы процедурно — покачивание при ходьбе, замах при рубке/добыче/стройке, выпад при ударе, «дыхание» в простое; а над юнитом висит бейдж-иконка (топор, кирка, молот, мечи), чтобы было видно, чем он занят прямо сейчас. Интерфейсные иконки — из набора Lucide вместо эмодзи, плюс лёгкий звук на действия.
Отдельно вылизана производительность: всё рисуется с плотностью пикселей 1 (не множим на Retina/4K), объекты за кадром отсекаются куллингом, а встроенный оверлей метрик (клавиша F3 или кнопка-спидометр) показывает fps, время симуляции и рендера, число объектов в кадре. На 230 юнитах чистый JS-бюджет кадра — доли миллисекунды, так что 60 fps на 4K-мониторе держатся с запасом. Игра адаптирована и под мобилки: один палец двигает карту, два — зум, тап выделяет или отдаёт приказ, а HUD и панели перестраиваются под узкий экран. Для десктопа добавлены мини-карта, контрольные группы и очередь приказов через Shift.
Карта живая и наполненная: лес из разных пород деревьев (ели, дубы, осенние клёны), по полянам разбросан декор — кусты, полевые цветы, поваленные брёвна, стога и пни. Через карту идут реки с мелководьем и мостами, а частокол собирается автотайлингом: углы, Т-стыки, одиночные секции и длинные пролёты выглядят как цельная оборонительная линия. Крестьяне распахивают поля и жнут с них еду без конца, а башня выросла до 2×2 и бьёт втрое сильнее. Вся графика — ~30 спрайтов в едином стиле «карандашный мультик» (терема, избы, кузница, лес, поля, дружинники, монгольская конница) и панорамная обложка — нарисована Gemini 3.1 Flash Image через скилл генерации ассетов, фон снят в прозрачность цветовым ключом. Чтобы проверять баланс и ловить баги без рук, агент гонял безголовый Chromium: делал скриншоты сцены, читал реальное состояние симуляции и замерял бюджет кадра — так нашлись, например, крестьяне, которые «не дотягивались» до ресурса по диагонали, и население, уходившее в минус.
Как играть
- ЛКМ — выделить юнита/здание, перетащить — выделить отряд рамкой
- ПКМ — приказ: идти · добывать ресурс · строить/достроить · атаковать врага
- На телефоне: тап — выделить/приказ · один палец — двигать карту · два пальца — зум · кнопки справа — быстрый выбор войска/крестьянина/центра/паузы
- Выдели крестьянина → в нижней панели выбери здание → поставь на землю; крестьяне его построят
- Строй избы (население), казармы и кузницу, изучай улучшения, ставь башни и частокол
- Камера: WASD/стрелки/край экрана · колесо — зум · пробел — пауза · Delete — снести здание · Shift — очередь приказов · 1–4 — контрольные группы · F3 — метрики
- Цель: пережить 10 волн. Между волнами — передышка на отстройку обороны