SVG / CSS / React
UI-иконки, HP bars, подсветки клеток, маркеры, простые служебные объекты.
Как перейти от текущей кодовой/SVG-графики и AI-концептов к красивым, стабильным и проверяемым ассетам, не сломав board-first UX и игровую читаемость.
Нам не нужно выбирать между векторной графикой и красивым raster-art. Для этой игры нужен гибрид: технические слои остаются управляемыми кодом, художественные слои становятся полноценными ассетами.
UI-иконки, HP bars, подсветки клеток, маркеры, простые служебные объекты.
Танки, камни, аптечки, флаги, дым, взрывы, gallery portraits, splash.
Маленькие повторяющиеся объекты и эффекты, чтобы не грузить десятки файлов.
Галерея, reveal и hero получают несколько размеров, а не один тяжёлый файл.
Простое правило: если объект должен быть точным и управляемым состояниями, оставляем его кодовым. Если объект должен создавать ощущение качества, фактуры и света, делаем production raster asset.
| Тип ассета | Решение | Почему так |
|---|---|---|
| UI-иконки, кнопки, glyphs | SVG или icon library |
Чётко на любом размере, легко перекрасить, минимальный вес. |
| Подсветки клеток и planning markers | CSS / SVG |
Это часть игровой логики и состояний, её нужно тестировать и точно позиционировать. |
| Танки, камни, аптечки, флаги | PNG/WebP с прозрачностью |
Именно здесь raster даст видимый рост качества: материал, свет, силуэт. |
| Взрыв, дым, muzzle flash | Sprite sheet | Эффект выглядит живее, но остаётся дешёвым и контролируемым в runtime. |
| Gallery / reveal / splash | Responsive WebP/AVIF + fallback |
Большой арт не должен грузиться в одном размере для всех экранов. |
Production-ready ассет рождается не в момент генерации. Он проходит понятные шаги: brief, batch, style lock, export, manifest, integration, QA. Если asset плохо читается в реальном размере, возвращаемся к brief или style, а не маскируем проблему кодом.
Это операционная модель. Она нужна, чтобы генерация не превратилась в бесконечное «ещё один красивый вариант», а каждый принятый asset можно было проверить и откатить.
Фиксируем место ассета, размер в интерфейсе, состояния, фон, iPhone constraints.
Генерируем 8-20 вариантов одного направления, а не один случайный финал.
Закрепляем ракурс, палитру, тень, детализацию, правила повреждений и эффектов.
Храним master-исходник отдельно от оптимизированного runtime export.
Задаём размер, anchor, версию, состояние и файл, который реально грузит игра.
Проверяем на целевых viewport, в игре, рядом с маркерами и текущей UI-обвязкой.
Не начинаем с полной замены всех runtime sprites. Сначала берём зоны с высоким визуальным эффектом и низким игровым риском, затем двигаемся к полю и эффектам.
Одна страница visual direction: палитра, свет, top-down перспектива, размер в клетке, approved/rejected примеры.
Быстрый визуальный скачок без риска для hit testing. Уже есть raster gallery pipeline.
Камни, аптечки, флаги. Проверяем центрирование, clipping, contrast с markers, editor placement.
Самый важный слой: сторона, направление дула, damaged/destroyed states, размер на 9x9/13x13/17x17.
Muzzle flash, impact explosion, smoke/fire, heal pickup. Проверяем timing, layer order и читаемость поля.
Ассет не считается production-ready, пока он не прошёл не только художественный отбор, но и техническую проверку в реальной игре.
Главный риск: мы получим красивые отдельные картинки, но игра станет хуже читаться. Поэтому защита строится вокруг style lock, manifest, visual QA и маленьких фаз.
| Риск | Как защищаемся |
|---|---|
| Красивые ассеты ухудшат читаемость боя. | Проверяем не на preview, а в реальном размере клетки на mobile viewport. |
| Разные AI-генерации дадут разный стиль. | Сначала Style Bible и style lock, потом batch внутри одной системы. |
| Raster увеличит вес приложения. | Atlas, compression, lazy-load и responsive exports для крупного art. |
| Тени и прозрачность сломают ощущение hit testing. | Логика выбора остаётся на DOM-клетках, anchor задаётся явно в manifest. |
| Темы начнут конфликтовать с артами. | Gameplay assets получают theme compatibility gate, особенно для notebook. |
| Ручная оптимизация будет забываться. | Экспорт и сжатие автоматизируются, проверка веса входит в gate. |
Принять гибридный asset pipeline: оставить SVG/CSS для точных технических слоёв, использовать AI-assisted raster production для художественных слоёв, ввести manifest, начинать с gallery/splash, затем board objects, затем tanks, затем effects. Каждый шаг закрывать screenshot/contact sheet и текущим visual release gate.
Эта HTML-версия самодостаточна: схемы встроены в страницу, поэтому её можно открыть локально без отдельной загрузки картинок.