Стражи Рубежа · графика

План доработки графики

Разбор того, как игра выглядит сейчас, единые правила арт-дирекции и 11 фаз работ. В каждой фазе есть макет того, как будет. Главный макет живой: бой ниже идёт по-настоящему, его можно переключать между «сейчас» и «после», ставить башни, кастовать заклинания, включать ночь и погоду.

11 фаз4 параллельных трека
≈ 9 месяцевпо мастер-плану М1–М9
18 пробных артовсделано на GX10 для этого плана
14 дефектовнайдено в аудите
22.10.2026дата плана
Дизайн-документ →канон стиля, башни, физика, разрушение

Главное за минуту

  • Готового арта больше, чем видно в игре. Есть нарисованные карты, башни, герои и враги, а бой рисует эскиз карты, квадраты и кружки. Фаза Ф0 за 1–2 недели подключает этот арт к viewer.
  • Главная проблема арта — разнобой. Сейчас разные ракурсы (фронтальный и 3/4), разная «рука», белые ореолы на вырезках и мелкие детали, которые пропадают на 40 px. Это лечат арт-библия, LoRA стиля и конвейер 2.0 (Ф1–Ф2).
  • Разнообразие закладывается в правила. Шесть фракций со своими силуэтами и палитрами, 19 биомов с готовыми палитрами, элитные варианты врагов, погода, день и ночь, окружение, которое меняется от боя.

Что делаем первым

Все правила стиля, башен, физики, анимации и разрушаемости собраны в одном дизайн-документе графики (канон в репозитории: rimwardens/docs/ART_DESIGN.md). План ниже — порядок работ, документ — по каким правилам их делать.

  • Ф0: нарисованная карта, спрайты, тени, сортировка по глубине, новые полоски HP и HUD в текущем viewer.
  • Ф1: арт-библия. Камера 3/4 сверху, линейка масштабов, тест силуэта в 64 px, палитры. Затем LoRA стиля на GX10.
  • Ф2: вырезка без ореола (хромакей → BiRefNet → деконтаминация краёв), «3D → спрайт» для башен, 5 направлений для юнитов.
  • Параллельно идут Ф3 (Phaser 4 и бюджет 60 FPS при 500+ юнитах) и Ф5 (эффекты и отклик).

Живой макет боя: «сейчас» и «после»

Карта «Мельничный брод» из библиотеки, площадки и пути взяты из её раскладки, башни, враги и герой — из уже сгенерированных спрайтов. Логика упрощённая, это макет графики, а не ядро. Нажмите на пустую площадку, чтобы открыть радиальное меню, на башню — чтобы увидеть радиус и карточку, на заклинание и затем на карту — чтобы его применить.

Вид
Время
Погода
Отклик
Экран
Гранд-карта 7680×4320 ▾⏸ Пауза×1×2×4Вызвать волнуДозор арбалетчиков · 90 ▾Поставить башнюПолк копейщиков ▾Сыграть карту
💰 420❤ 20🌊 3/12
Статусидёт бой
Очки командования⚑ 1 / 12
Тик · ×2 · FPS253 · 0.05 мс
420
20
3 / 12
6
Нарисованная карта вместо эскиза, тени облаков, виньетка по краям
Спрайты вместо фигур, контактные тени, сортировка по глубине, покачивание при ходьбе
Уровень башни ромбами-пипсами под основанием вместо римской цифры на квадрате; пустой пад — с табличкой, закрытый — с красным крестом (расчистка за 50 золота)
Полоска HP появляется только у раненых, белый «шлейф» показывает свежий урон
Комиксные звукоподражания «БАХ!», «ХРЯСЬ!», «ТРЕСК!», как в Kingdom Rush; цифры урона — по выбору, цвет по типу урона
Стрела со шлейфом, магический шар со следом, мортира с дугой и тенью на земле, цепная молния
Вспышка и локальный хит-стоп цели (70 мс) при тяжёлом ударе, искры, дым, воронки, тряска по модели trauma² только от взрывов
Монеты летят в счётчик золота, счётчик подпрыгивает
Баннер волны, превью следующей волны с портретами врагов, кнопка «вызвать раньше» с таймером
Радиальное меню стройки, карточка башни с улучшением и продажей, анимация стройки
Ночь: синий мультипликатор и тёплые огни башен; дождь, снег и туман — отдельными слоями
Флажок-щит у точки сбора казарм; телефон: всё управление в зоне большого пальца, мини-карта убрана

Аудит: как выглядит сейчас

Снимки сделаны 22.10.2026 с живого стенда rimwardens-slice.24oros.ru и галереи rimwardens-art.24oros.ru. Viewer задумывался как проверка ядра и честно с этим справляется. Для игрока ему не хватает всего слоя графики.

Гранд-карта, общий план. Плоский эскиз раскладки, башни квадратами, враги кружками, отладочные круги стычек.
s01 «Брод у Старой Мельницы». Нарисованная карта есть в библиотеке, но на экране тоже эскиз; маркер слота смещён относительно пада.
Приближение. Эскиз 4096 px растянут до 7680: мыло, пути нарисованы линиями поверх дорог.
Телефон. Панель управления занимает четверть экрана в 5 рядов, HUD перекрывает карту.
Галерея арта. В манифесте 1 файл, превью не загружается: библиотека пересобирается другой сессией.
было: белый ореол
после очистки краёв
Вырезки. Примерно у 40% полупрозрачных пикселей края спрайтов цвет близок к белому: это остаток белого фона генерации.

14 дефектов и какая фаза их закрывает

#Что не такВажностьГде лечим
1Бой рисует эскиз раскладки вместо нарисованной карты (s01 и Гранд-карта)высокаяФ0, Ф6
2Башни — цветные квадраты с римской цифрой, враги — кружки, герой — жёлтый круг со звездойвысокаяФ0, Ф4
3Отладочная графика в кадре игрока: линии путей, пунктир зон стычек, тики и миллисекунды в HUDсредняяФ0
4Нет теней, глубины (сортировки по Y), анимации и поворота стрелковвысокаяФ0, Ф4
5Эффекты — тонкие линии и кольца: попадание, взрыв и смерть почти не читаютсявысокаяФ5
6HUD — HTML-таблица и эмодзи (💰❤🌊 выглядят по-разному на каждой ОС), нет превью волны, карточки башни, радиального менювысокаяФ0, Ф7
7На телефоне панель кнопок занимает до 25% высоты экрана, легенда и HUD закрывают полесредняяФ0, Ф7
8Разные ракурсы: башни в 3/4 сверху, юниты почти фронтально, лидеры анфасвысокаяФ1, Ф2
9Разная «рука»: плоский аниме-портрет эльфийки, мрачный детальный босс, «пластиковый» гоблинвысокаяФ1
10Белый ореол на краях вырезок; дубликаты (enemy_3 = enemy_5) и битые кадры эволюции (evo_6, evo_7 — пятна света)средняяФ2
11Детали не рассчитаны на 40–60 px на экране: мелкий орнамент превращается в шум, силуэты сливаютсясредняяФ1
12Река на арте m01 не совпадает с рекой в раскладке (на плане вертикальная с мостами)низкаяФ6
13Текст на холсте шрифтом system-ui, у интерфейса нет своего шрифта и рамокнизкаяФ7
14Галерея арта: битое превью, нет проверки качества (палитра, силуэт, альфа, ореол)низкаяФ10

Что уже есть и годится в дело

Около 150 готовых картинок в td-plan/assets плюс конвейер artlib на GX10. На GX10 стоят Qwen-Image 2512, Qwen-Image-Edit 2511 с LoRA ракурсов, Qwen-Image-Layered (сразу слои с альфой), FLUX.2 dev и klein, Z-Image Turbo с ControlNet Union, Wan 2.2 14B, HunyuanVideo 1.5, BiRefNet и Real-ESRGAN.

evo_2
evo_3
evo_4
evo_5
мортира
казармы
маг
путь техники
путь магии
синтез
гоблин
орк
волк-латник
культист
тень
скелет
босс
Бранд
маг
следопыт
солдат
Карта m01, 2048×1152, пады совпадают с планом
Арена босса, Пустота
Зал совета для стратегического слоя
Цитадель техники

Вывод: качество отдельных картинок уже близко к целевому. Не хватает единых правил, чтобы всё выглядело как одна игра, конвейера, который выдаёт годные к игре спрайты (альфа, ракурс, масштаб, кадры), и рендера, который всё это показывает.

Северная звезда арт-дирекции

Восемь правил, по которым проверяется каждая картинка: от сгенерированной агентом до нарисованной вручную. Они попадут в арт-библию (Ф1) и в автоматическую проверку конвейера (Ф2).

1. Пирамида читаемости

Чем важнее объект для решений игрока, тем он ярче и контрастнее. Фон никогда не спорит с юнитами.

Эффекты, урон, монеты100% насыщенности + свечение
Враги и свои юниты85–100%, тёмный контур
Башни70–85%
Земля, декор55–65%

Уточнение по замерам скриншотов KR5/KR6: фон у Ironhide бывает очень насыщенным, но дорога всегда самая светлая по яркости, а юниты на ней тёмные и с контуром. Поэтому главная проверка — снимок в оттенках серого: враги должны сразу отделяться от дороги.

2. Одна камера на всю игру

Вид 3/4 сверху, примерно 50° от горизонта, ортографический (без перспективных искажений). Свет сверху слева, контактная тень вниз и вправо. Башни, юниты, декор и карты рисуются в одной и той же камере.

≈50°камера свет сверху слева контактная тень

3. Линейка масштабов (в мировых пикселях, 1 px мира = 1 px на 4K)

Ориентир по замерам KR5/KR6 в 1080p (оценка): башня 110–150 px в ширину, пехота 35–50, герой 55–80, громила 70–90, босс 200–400; башня к рядовому врагу примерно 3:1 по высоте. Контур тёмно-коричневый, не чёрный: 3–4 px у башен, 1,5–2 px у мелких юнитов, внутренние линии тоньше внешних. Сейчас масштабы задаются числами в коде (radius, 22 + level × 4). В арт-библии каждая сущность получает размер в мировых пикселях, и конвейер режет спрайт так, чтобы его нижний центр был точкой опоры на земле.

4. Тест силуэта в 64 px

Залить спрайт чёрным и уменьшить до 64 px. Если по силуэту не понятно, кто это, нужно утрировать форму: оружие, рога, сутулость, размер.

Здесь гоблин и гоблин с мечом почти одинаковые, а культист и тень — оба «тёмные мешки». В новых линейках каждому типу дан свой силуэт.

5. Цветовой язык

Цвет кодирует смысл и не меняется от биома к биому.

48 физ.72 маг.120 взрыв300 чистый+25 лечение+12 ●

Фракции: Клыкастые — ржавый, Отступники — тусклое золото, Великаны — лёд, Скарабей — песок и бирюза, Гнилотопь — мох, Пустотники — фиолет. Цвет фракции — в обводке под ногами, флагах и превью волны, а не в заливке спрайта.

Kingdom Rush вообще не показывает цифр урона: вместо них комиксные «KBOOM!», «SOK!», «MISS!». Берём этот приём на русском («БАХ!», «ХРЯСЬ!», «МИМО!»), а цифры оставляем опцией. Режимы для дальтоников: урон, ранги и фракции дублируются формой (иконка, рамка, узор флажка), безопасная палитра Okabe–Ito, проверка в Color Oracle.

6. Палитры 19 биомов

Берутся из data/biomes.json и уходят в промпты, проверку генераций и цветокоррекцию карт.

7. Два визуальных языка пути

Путь техники — латунь, медь, заклёпки, пар, тёплые лампы. Путь магии — белый мрамор, серебро, парящие руны, холодное сияние. Один силуэт башни, два материала. Так 30 линий × 2 пути дают 60 скинов без новых форм.

латунь и пар
синтез
серебро и руны

8. Чистая альфа

Никакого белого фона в генерации: хромакей, маска BiRefNet, восстановление цвета края (pymatting), премультиплированная альфа в атласе. Ореол проверяется автоматически.

Пробный новый арт: разнообразие в одном стиле

Сгенерировано на GX10 специально для этого плана, 22.10.2026, без ручной правки. Это эскизы направления, а не финальные ассеты: они показывают, как правила арт-библии дают разнообразие и при этом единый стиль. Промпты и сиды — в gfxplan/tools/gen_samples.py.

Шесть фракций: линейки врагов от разведчика до громилы

Клыкастые кланы: гоблин, налётчик, волчий всадник, шаман, берсерк, вепрь-вожак
Клыкастые кланы: гоблин, налётчик, волчий всадник, шаман, берсерк, вепрь-вожак
Отступники: арбалетчик, дезертир, разбойник, мушкетёр, тёмный рыцарь, таран
Отступники: арбалетчик, дезертир, разбойник, мушкетёр, тёмный рыцарь, таран
Северные великаны: бесёнок, тролль, йети, шаман, йотун, ледяной гигант
Северные великаны: бесёнок, тролль, йети, шаман, йотун, ледяной гигант
Культ Скарабея: послушник, скарабей, мумия, страж-шакал, жрица, голем
Культ Скарабея: послушник, скарабей, мумия, страж-шакал, жрица, голем
Гнилотопь: скелет, упырь, жаболюд, грибной мертвец, аколит лича, болотный тролль
Гнилотопь: скелет, упырь, жаболюд, грибной мертвец, аколит лича, болотный тролль
Пустотники: огонёк, звёздный культист, кристальный рыцарь, пожиратель, чародей, колосс
Пустотники: огонёк, звёздный культист, кристальный рыцарь, пожиратель, чародей, колосс

Эволюции башен I–IV в двух визуальных языках

Стрелки I–IV · латунь и пар
Стрелки I–IV · латунь и пар
Стрелки I–IV · серебро и руны
Стрелки I–IV · серебро и руны
Артиллерия I–IV · латунь и пар
Артиллерия I–IV · латунь и пар
Маги I–IV · серебро и руны
Маги I–IV · серебро и руны

Биомы: разные палитры при одной читаемости дорог и площадок

Пустыня и каньон Скарабея
Пустыня и каньон Скарабея
Зимняя тайга Хладных Пиков
Зимняя тайга Хладных Пиков
Туманное болото Гнилотопи
Туманное болото Гнилотопи
Порча Пустоты на руинах Рубежа
Порча Пустоты на руинах Рубежа

Эффекты, интерфейс, карта континента, герой в игровом ракурсе

Лист эффектов: взрыв, мороз, молния, яд, свет, вихрь, пыль, монеты
Лист эффектов: взрыв, мороз, молния, яд, свет, вихрь, пыль, монеты
UI-кит: рамки, кнопки, полоски, баннер, радиальное меню
UI-кит: рамки, кнопки, полоски, баннер, радиальное меню
Карта континента для кампании
Карта континента для кампании
Бранд, переведённый в игровой ракурс (Qwen-Edit + LoRA ракурсов)
Бранд, переведённый в игровой ракурс (Qwen-Edit + LoRA ракурсов)
Что видно по пробам: Qwen-Image держит единый стиль и масштаб внутри одного листа, но ракурс уходит во фронтальный, а в листах эволюций рост по уровням бывает немонотонным (III ниже II). Отсюда два решения в Ф2: LoRA стиля и ракурса, обученная на отобранных кадрах, и «3D → спрайт» для башен с фиксированной камерой. Первое уже подтверждено: Бранд, переведённый в игровой ракурс через Qwen-Image-Edit 2511 с LoRA ракурсов, сохранил броню, щит и лицо с первой попытки.

Фазы работ

Фазы идут четырьмя треками: арт (библия, конвейер, контент), движок (рендер, анимация, эффекты), интерфейс (HUD и экраны), мир (карты, атмосфера, разнообразие). Ф0 даёт видимый результат сразу, остальные опираются на Ф1 и Ф3.

Ф0

Быстрые победы в текущем viewer

Подключить уже готовый арт к Canvas2D без смены движка, чтобы срез сразу выглядел как игра.
1–2 неделидвижокинтерфейсстарт: сразу

Задачи

  • Карта s01 переходит на нарисованную m01 (раскладка в artlib уже есть), Гранд-карта — на тайлы 5K, когда их допишет artlib.
  • Спрайты из assets/spr: 4 линии башен по уровням, 9 врагов, солдат, герой. Точка опоры — нижний центр.
  • Контактные тени, сортировка по Y, покачивание при ходьбе, отражение по направлению движения.
  • Пипсы уровня вместо римских цифр, полоски HP только у раненых, со шлейфом урона.
  • Линии путей, зоны стычек, тики и FPS — за переключателем «Отладка» (клавиша D).
  • HUD: иконки SVG вместо эмодзи, золото, жизни и волна в «пилюлях», тост превращается в баннер волны.
  • Телефон: панель сворачивается в одну строку и выдвижной лист, легенда прячется.
  • Очистка ореола у всех текущих спрайтов скриптом (деконтаминация + сужение альфы на 1 px).
Готово, когда: rimwardens-slice показывает бой как в режиме «После» живого макета выше, 60 FPS на Гранд-карте при 500 юнитах на Mac и среднем Android (Canvas2D с кэшем спрайтов), отладка отключается одной клавишей.
макет · сейчас → после

Слева — s01 сейчас, справа — проверка раскладки m01 поверх арта: пады и дороги совпадают, значит, подменить фон можно без правки ядра. Как это будет выглядеть в бою, показывает живой макет.

Ф1

Арт-библия и LoRA стиля

Зафиксировать «руку» игры: перспективу, масштаб, свет, контур, палитры, плотность деталей. Обучить LoRA стиля на GX10.
3 неделиартстарт: неделя 1мастер-план: Фаза 0 «Стиль-гайд», Фаза 4

Задачи

  • Мудборд из 10 референсов (KR6 Genesis, KR5 Alliance, Iron Marines, Bloons TD 6, Legends of KR, Vengeance; ссылки в разделе «Источники») с разбором: что берём, что нет. Ориентир Supercell: базовый цвет простой, 2–3 цвета на юнита, объём градиентом к лицу; ориентир Arclight Rumble: без дробления на много материалов.
  • 300–500 генераций по шаблонам промптов → отбор 30–40 эталонов: башни, юниты, земля, декор, UI, все в одной камере.
  • Документ «Арт-библия»: 8 правил выше, линейка масштабов, 19 палитр, правила силуэта, контур 2–3 px на 128 px, плотность деталей «крупно в центре, мелко по краю».
  • LoRA стиля в ai-toolkit на GX10 (ARM64 поддерживается): Z-Image Base, rank 16, LR 1e-4, 2000–3000 шагов, чекпоинт каждые 250, выбор по фиксированному набору из 12 промптов.
  • Вторая LoRA для Qwen-Image-Edit 2511, чтобы правки не уводили стиль.
  • Проверка: 50 новых объектов, слепая оценка «одна игра или нет». Цель — 8 из 10 попаданий (критерий мастер-плана).
  • Лицензии моделей в коммерции: Z-Image, Qwen-Image-Edit 2511 и FLUX.2 klein 4B — Apache 2.0. FLUX.2 dev и Kontext dev — только с платной лицензией BFL.
Готово, когда: арт-библия подписана владельцем, LoRA даёт 8/10 попаданий, все агенты-генераторы берут промпты только из шаблонов библии.
макет · страница арт-библии
Силуэт
Палитра Летнего леса

Фон на 30% ниже по насыщенности, чем юниты. Дорога светлее травы на 20% по яркости.

Можно

3/4 сверху, тень вниз вправо, крупные формы

Нельзя

анфас, плоская заливка, другая «рука»

Ф2

Конвейер ИИ-арта 2.0

Конвейер выдаёт не «красивые картинки», а годные к игре ассеты: одна камера, чистая альфа, точка опоры, кадры, атласы, автопроверка.
старт: неделя 3, дальше непрерывноартмастер-план: Фаза 4
Шаблонпромпт из библии + палитра биома + LoRA
ГенерацияZ-Image + LoRA на хромакее; лист 4–6 вариантов
РакурсQwen-Edit 2511 + Multiple-Angles: 5 направлений (S, SE, E, NE, N), остальные зеркалом
3D-путьдля башен и боссов: TRELLIS.2 → Blender, одна ортокамера → стилизация img2img
АльфаBiRefNet/BEN2 → pymatting → сужение на 1 px
Проверкапалитра, силуэт 64 px, ореол, размер, точка опоры
Атласстраницы 2048 (телефон) и 4096 (ПК), отступ 2 px

Задачи

  • Перевести artlib с белого фона на хромакей (#FF00FF или #00FF00 — тот, которого нет в палитре биома).
  • Нода вырезки: BiRefNet-HR (MIT) или BEN2, затем pymatting.estimate_foreground_ml. RMBG-2.0 не берём: для коммерции нужен договор с Bria.
  • Испытать генерацию сразу с альфой: Qwen-Image-Layered (уже на GX10) и Qwen-Image-2.1 RGBA (сначала проверить лицензию).
  • Скрипт Blender: ортокамера 3/4, свет сверху слева, проходы beauty, depth, normal, shadow, 1 юнит = N px. Нормали пригодятся для 2D-освещения в Ф3.
  • Автопроверка каждой картинки с отчётом в галерее: отклонение от палитры, площадь силуэта на 64 px, доля белого на крае, точка опоры, вес.
  • Убрать дубликаты и битые кадры (enemy_3/enemy_5, evo_6/evo_7), пересобрать манифест.
  • Сборка атласов (free-tex-packer), формат Phaser multiatlas, отдельные атласы для юнитов, эффектов и UI.
Готово, когда: любая сущность библии проходит путь «шаблон → атлас» без ручных шагов, автопроверка отсеивает брак, ореолов на крае нет (меньше 2% светлых пикселей).
белый фон: ореол
деконтаминация краёв

Ореол даёт не плохая маска, а цвет фона, «впитавшийся» в полупрозрачные пиксели края. Поэтому лечит его восстановление цвета переднего плана, а не другая модель сегментации.

ЧтоПутьПочему
Башни I–IV, боссы3D → спрайтодна камера, апгрейд = правка меша, бесплатные нормали
Рядовые юниты2D + Qwen-Edit ракурсына 64–128 px 3D не окупается
Декор, текстурыZ-Image + LoRAбыстро, бесшовность через post.py
Эффектыгенерация на чёрном, альфа по яркостиогонь и магия не режутся маской
Ф3

Рендер на WebGL: Phaser 4

Переход с Canvas2D на Phaser 4.2 (вышел в апреле 2026), как и записано в мастер-плане. Слои, атласы, LOD, освещение, бюджет 60 FPS.
4 неделидвижокстарт: неделя 3мастер-план: Фаза 2 «Вертикальный срез»

Стек слоёв кадра

UI: HUD, радиальное меню, карточкиDOM или Phaser UI-камера
Погода и время суток: дождь, снег, туман, ночной фильтрфильтры камеры
Эффекты: частицы, вспышки, свечениепул, аддитивное смешение
Снаряды и цифры уронаобщий атлас
Юниты и башни, сортировка по YSpriteGPULayer: один draw call
Тени и декали (воронки, следы)multiply
Декор: деревья, флаги, мельница (анимированы)SpriteGPULayer
Вода и дороги: шейдер рябиFilter + шум
Земля: тайлы 2048TilemapGPULayer

Бюджет производительности

  • 60 FPS при 500 юнитах + 150 частицах на среднем Android и iPhone 12; 1000 юнитов на ПК.
  • Все юниты из 1–2 атласов, без фильтров на отдельных спрайтах; HP-полоски из атласа.
  • Пул объектов, фиксированный шаг ядра (30 Гц) и интерполяция рендера между тиками.
  • devicePixelRatio не выше 2 на телефонах; атлас-страницы 2048, на ПК 4096.
  • Запасной вариант — PixiJS v8 (KTX2 и ParticleContainer из коробки), если Phaser не уложится в замер.
Готово, когда: срез на Phaser 4 повторяет режим «После» живого макета и держит бюджет на 5 эталонных устройствах. Это ворота выбора движка из мастер-плана.

LOD: три плана камеры

Общий план Гранд-карты 7680×4320 — это 0,15–0,25 от натурального масштаба. Юнит там меньше 10 px, поэтому вместо спрайтов рисуются жетоны фракции с иконкой типа (бронированный, летающий, босс), а пачки врагов собираются в «змейку» со счётчиком. Средний план — спрайты без анимации ног. Ближний — полная анимация и эффекты.

Камера

  • Инерция панорамы, зум к курсору и к точке щипка, мягкий упор у края карты.
  • Тряска только от крупных событий: взрыв мортиры 120 мс, босс 300 мс. Отключается в настройках.
  • Пролёт камеры к входу при старте волны и к боссу при его появлении.
Ф4

Юниты и анимация

Каждый юнит живой: ходьба, атака, удар, смерть. Башни строятся, стреляют и растут по уровням.
6–8 недель, дальше по контентудвижокартпосле Ф2 и Ф3

Задачи

  • Набор состояний юнита: ожидание (4 кадра), ходьба (8), атака (6), получение удара (2), смерть (6–8). 5 направлений, остальные зеркалом. Юнитам со щитом в одной руке — все 8.
  • Кадры: Wan 2.2 i2v «первый кадр = последний» на хромакее 480–640 px (около 6 минут на клип на GB10) → 8–12 кадров → img2img с LoRA при низком denoise → проверка шва цикла.
  • Герои и боссы — Spine 2D (рантайм spine-phaser-v4 для Phaser 4.2): кости и меши, скины, плавные атаки, меньше памяти.
  • Башни: анимация стройки (леса, пыль, 0,6 с), стрелки наверху поворачиваются к цели, мортира откатывается, маг «заряжает» кристалл.
  • Эволюция I → II → III → IV + ветки IVa/IVb: силуэт растёт, материал богаче, на IV — свечение и частицы.
  • Смерть: распад в пыль (фракционный цвет), без крови — рейтинг 6+.
Готово, когда: 12 врагов, 2 героя и 4 линии башен среза анимированы полностью, шов цикла ходьбы незаметен на ×1, атлас юнитов среза укладывается в 2 страницы по 2048.
цикл ходьбы · уже есть эскиз
I
II
III
IV
IVa техника
IVb магия
SENW 5 рисуем + 3 зеркалом золотые — уникальные кадры серые — отражение по X
Ф5

Эффекты и отклик

Каждое действие отвечает картинкой за 1–3 кадра: игрок чувствует выстрел, попадание, смерть и награду.
4 неделидвижокпараллельно с Ф4
СобытиеКартинкаВремя
Попаданиебелая вспышка спрайта, 2–4 искры; тяжёлый удар — звукоподражание и хит-стоп только у целивспышка 50–100 мс, хит-стоп 40–80 мс, слово 0,85 с
Тряскамодель trauma²: сила = trauma², плавный шум, затухание; только взрывы, заклинания, боссызатухание ≈ 0,8–1 /с
Стрела, болтштрих со шлейфом, пыль при попаданиишлейф 120 мс
Мортирадуга, тень на земле растёт к месту падения, взрыв, кольцо, воронкаполёт 0,9 с, воронка 6–8 с
Магияшар со следом, цепная молния ломаной, свечение ночьюмолния 220 мс
Смертьоблачко пыли цвета фракции, монеты летят в счётчикмонеты 0,75 с, счётчик «подпрыгивает»
Утечка врагакрасная вспышка у выхода, сердце в HUD трясётся0,4 с
Старт волныбаннер с названием фракции, рог, пролёт камеры2,6 с
Боссзатемнение, портрет и имя, рык, тряска, полоска HP сверху; общий стоп-кадр — только на смерти босса2–3 с, пропускается тапом, один раз за забег
Улучшение башнизолотые искры, кольцо, рост на 6%0,5 с
Статусызамедление — иней у ног, яд — зелёные пузыри, горение — язычки огня, оглушение — звёздыпока действует
Готово, когда: все события таблицы есть в срезе; не больше 3 вспышек в секунду на большой площади (WCAG 2.3.1); тряска, вспышки и эмбиент отключаются в настройках; бюджет частиц 300 с приоритетом «босс → заклинание → башня».
лист эффектов · генерация на GX10Лист эффектов: взрыв, мороз, молния, яд, свет, вихрь, пыль, монеты

Эффекты рисуются на чёрном фоне, альфа берётся по яркости, смешение аддитивное. Каждый эффект — 8–16 кадров во флипбуке плюс частицы движка. В живом макете выше уже работают вспышки, искры, дым, воронки, кольца, цифры, монеты и тряска.

Ф6

Карты и атмосфера

Карта — это не картинка, а слоёная сцена: земля, вода с рябью, анимированный декор, тени облаков, погода и время суток, следы боя.
непрерывно, 36+ картмирартмастер-план: Фазы 4, 7, 8
1. Раскладка из редактора: пути, пады, вода
2. Схема для ControlNet: дороги и пады
3. Арт Z-Image + ControlNet → 5K тайлами
4. Проверка: план поверх арта

Задачи

  • Крупнее и чётче: 2–4K → 4x-UltraSharp/SeedVR2 → тайловый img2img с ControlNet Tile для Z-Image, denoise 0,3–0,45, дороги и вода держатся контуром.
  • Слои: земля / вода и дороги (маска для шейдера) / декор отдельными спрайтами / тени multiply. Qwen-Image-Layered — для черновой раскладки на слои.
  • Живость: рябь воды, ветер в кронах по маске высоты, флаги, дым из труб, птицы, тени облаков (как в макете).
  • Погода из weather.json — фильтрами камеры: дождь, снег, туман, песчаная буря, пепел. Время суток: рассвет, день, закат, ночь с огнями башен.
  • Следы боя: воронки, выжженная трава, лёд от магии мороза, слизь Гнилотопи — декали с затуханием.
  • Декали запекаются в текстуру-слой земли (render target тайлами примерно по 1024²), живых декалей не больше лимита, старые гаснут, как cl_maxdecals.
  • Адаптация карты под фракцию: порча Пустоты расползается по земле фиолетовыми трещинами по мере волн, как органика в Iron Marines.
  • 2–4 интерактивные пасхалки на карту (корова-шпион в KR6, улетающая овца в Legends of KR) и мирные жители: рыбак, мельник, кузнец.
  • Ночь «лунная», а не тёмная: дорога и юниты сохраняют разницу по яркости; источники света у башен. Переключатель эмбиент-эффектов, как в BTD6 47.0.
  • Сверка воды и ориентиров с раскладкой (река m01 сейчас не там, где на плане).
Готово, когда: у каждого из 19 биомов есть карта со всеми слоями, а погода и время суток переключаются на любой карте без новой генерации.

Биомы: пробы этой сессии

Пустыня и каньон Скарабея
Зимняя тайга Хладных Пиков
Туманное болото Гнилотопи
Порча Пустоты на руинах Рубежа

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

Ф7

Интерфейс боя

Свой визуальный язык HUD: дерево, латунь и пергамент, шрифт Philosopher с кириллицей, крупные цели для пальца, всё важное по краям экрана.
4 неделиинтерфейсмастер-план: Фаза 2 «Полный HUD»

Элементы

  • Сверху слева золото и жизни, по центру волна, превью состава следующей волны и таймер «вызвать раньше» с наградой.
  • Снизу слева портрет героя с HP и двумя навыками, по центру заклинания с круговой перезарядкой, справа мини-карта.
  • Пады как в KR: утоптанная площадка с деревянной табличкой; закрытые — завал и табличка с красным крестом, расчистка за золото. Флажки-щиты у точек сбора, золотые круги у точек героя.
  • Радиальное меню стройки на паде: 4 линии по кругу, цена под иконкой, недоступное серое (не скрытое), «тряска» при нехватке золота. Для башни: улучшение сверху, продажа снизу, точка сбора сбоку.
  • Первая встреча с новым врагом — всплывающая карточка, бой не прерывается (как в KR5).
  • Карточка башни: уровень ромбами, урон, дальность, улучшение, ветки IVa/IVb, продажа; радиус — пунктир с бегущей анимацией.
  • Карты поддержки (очки командования) — веер карт внизу справа, перетаскиваются на поле.
  • Шрифты с кириллицей: заголовки Philosopher (или Ruslan Display, Kelly Slab), звукоподражания и цифры Rubik Black с обводкой, текст Nunito или Golos Text. Cinzel, MedievalSharp, Uncial Antiqua кириллицы не имеют.
  • Доступность по Xbox Accessibility Guidelines: текст от 18 px на ПК в 1080p, масштаб до 200% вместе с иконками, контраст 4,5:1, простой шрифт как альтернатива, режимы для дальтоников и высококонтрастные радиусы, «меньше вспышек», левша — зеркальная раскладка.
Готово, когда: игрок без подсказок строит, улучшает, кастует и вызывает волну на ПК и телефоне. Цели касания не меньше 44 px, HUD закрывает не больше 12% поля на телефоне.
макет · телефон в ландшафте
560
18
Волна 5/12
UI-кит · генерация на GX10UI-кит: рамки, кнопки, полоски, баннер, радиальное меню

Портретный режим телефона и все элементы HUD работают в живом макете (переключатель «Экран → Телефон»).

Ф8

Экраны вне боя

Главное меню, карта кампании, совет и Цитадель, герои и башни, итоги боя, загрузка, комиксы сюжета.
6 недельинтерфейсартмастер-план: Фаза 5 «Стратегический слой»
ГЛАВНОЕ МЕНЮ

Победа!

★★★
Жизни 17/20Убито 214Время 14:32
+340 золота+2 очка герояНовая башня: Мортира
Повторить
Дальше
ИТОГИ БОЯ
карта кампании · генерация на GX10Карта континента для кампании
Тан Борин Хладный Горн
«Перевал наш, если твои стрелки удержат брод три волны. Заплатим сталью — пушками для твоих стен».
Принять союзТорговаться
СОВЕТ · ДИПЛОМАТИЯ

Задачи

  • Главное меню на живом ключевом арте: параллакс 3 слоёв, дым и знамёна, смена арта по сезону кампании.
  • Карта континента 16384×9216: провинции 8 фракций, сезоны, туман войны, флаги миссий со звёздами, дороги рисуются при продвижении.
  • Совет и Цитадель: портреты советников и лидеров в едином стиле (переделать «анимешных» в стиль библии), три облика Цитадели по пути развития.
  • Итоги боя: звёзды выпадают по одной со звуком, счётчики добегают, награды карточками.
  • Экраны героев и башен: вращение модели героя (Spine), дерево навыков, сравнение веток IVa/IVb на одном паде.
  • Загрузка: арт биома следующей карты + совет по фракции врага.
  • Комиксы сюжета: 150–200 панелей, рамки и шрифт из UI-кита.
Готово, когда: путь «меню → кампания → совет → бой → итоги → герой» проходится без единого экрана-заглушки, все портреты прошли тест библии.
Ф9

Разнообразие контента

120 врагов, 24 босса, 16 героев, 30 линий башен — так, чтобы на сороковой карте глаз всё ещё находил новое.
непрерывно, М3–М9мирартмастер-план: Фазы 6–8

Механизмы разнообразия

  • Фракции: у каждой своя форма силуэта (Клыкастые — сутулые и зубастые, Великаны — огромные и квадратные, Пустотники — парящие и угловатые), свой материал и палитра (см. линейки выше).
  • Элитные аффиксы без новых спрайтов: масштаб ×1,25–1,4, аура или эмблема, значки аффиксов над HP и 1–2 слова на плашке. Цвет только в дополнение: урок Diablo 3 и 4, где элита без второго признака плохо читалась и мешала дальтоникам.
  • Ступени силы врага и башни кодируются формой рамки (как в Rush Royale) и цветом зелёный → янтарный → красный (как в Defense Grid), в том числе в превью волны.
  • Размеры и роли: разведчик, пехота, танк, стрелок, маг, летун, громила — у каждой роли своя высота на линейке масштабов.
  • Боссы: 2–3 фазы с перерисовкой (броня откалывается, свечение меняет цвет), интро-карточка, арена реагирует на фазу.
  • Биомы × сезоны × погода × время суток: 19 × 4 × 5 × 4 сочетания на одних и тех же слоях карты.
  • Скины: два визуальных языка пути, сезонные скины героев, скины Цитадели.
Готово, когда: в каждой фракции 20 врагов с узнаваемыми на 64 px силуэтами, ни один спрайт не повторяется в двух фракциях, у каждого босса есть смена облика по фазам.

Элитные варианты из одного спрайта

Это фильтры поверх текущего спрайта орка. В игре они делаются шейдером Phaser (ColorMatrix, Glow) и частицами, без новой генерации.

Ф10

Инструменты и витрины

Чтобы арт можно было смотреть, сравнивать и принимать без чтения логов.
1–2 недели, затем по ходуинтерфейсмастер-план: Фаза 3 «Редактор»
  • Галерея rimwardens-art: починить превью, показать вердикт автопроверки у каждой картинки, фильтр «не прошло».
  • Режим «Принять или отклонить» для арт-директора: решение пишется в манифест, отклонённое уходит на перегенерацию с заметкой.
  • Сравнение «до и после» ползунком, просмотр спрайта на карте нужного биома в масштабе игры.
  • Редактор карт показывает настоящие спрайты башен и врагов, а не круги; предпросмотр погоды и ночи.
  • Страница «Арт-библия» на rimwardens-docs с живыми примерами.
Готово, когда: владелец принимает арт целого региона за один проход в галерее, а редактор показывает карту так же, как игра.

Дорожная карта

Месяцы — по мастер-плану (М1–М9). Видимый результат каждые 2–3 недели на rimwardens-slice: Ф0 через 2 недели, срез на Phaser 4 с новым HUD к концу М3.

Метрики качества графики

МетрикаСейчасЦельКак мерим
Попадание в стиль (слепой тест)не измерялось, на глаз 5/108/1050 новых объектов, 3 оценщика
Силуэт на 64 px узнаётся≈ 60% врагов95%тест «назови юнит по силуэту»
Белые пиксели на крае спрайта≈ 40% полупрозрачных< 2%автопроверка конвейера
FPS, 500 юнитов, средний Androidне мерили60сцена-бенчмарк
Доля поля под HUD на телефоне≈ 25–30%< 12%скриншот 390×844
Оценка плейтеста «как KR?»—≥ 8/1010 игроков, анкета мастер-плана

Риски

Лицензии моделей

FLUX.2 dev и Kontext dev некоммерческие; у Qwen-Image-2.1 лицензия не подтверждена; RMBG-2.0 требует договора. В коммерческий конвейер — только Apache и MIT: Z-Image, Qwen-Edit 2511, FLUX.2 klein 4B, BiRefNet, TRELLIS.2.

Дрейф стиля

Модели правки «мылят» детали после 2–3 правок подряд, видео-модели меняют пропорции. Лечится финальным проходом через Z-Image + LoRA и автопроверкой.

Производительность

Phaser 4 молодой, KTX2 не подтверждён. Замер на слабом Android в первые 2 недели Ф3, запасной вариант — PixiJS v8.

Исследование и источники

Арт-дирекция TD и отклик

ИИ-конвейер, рендер, эффекты