Ревью отметило устаревшие тексты после перехода на загрузку PNG: - assets.ts: заголовок описывал «процедурно, без внешних файлов» — теперь PNG из src/assets/<ключ>.png с процедурным фолбэком. - HOWTO §8: убран совет «заменить тело drawX() на TextureLoader» (уже сделано); актуальный путь — положить PNG с нужным именем в src/assets/. - README/ARCHITECTURE/ASSET_BRIEF: статус «подключено», корректный механизм (рантайм- загрузка по пути, не импорт-бандлинг). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
8.9 KiB
Бриф на ассеты — «Биндим Фигняшку»
Документ для генерации/догенерации графики (через Claude/дизайн-ИИ или художника). Ниже — готовый промпт (можно копировать целиком) и таблица ассетов.
✅ Статус: набор уже подключён. 21 PNG лежат в
src/assets/и автоматически грузятсяsrc/render/assets.tsпо имени файла (assets/<ключ>.png); если какого-то файла нет — рисуется процедурный фолбэк. Этот бриф нужен, чтобы догенерировать или заменить ассеты: достаточно положить PNG с тем же именем вsrc/assets/.
Готовый промпт (копировать целиком)
Ты — художник 2D-игр. Сделай ПОЛНЫЙ набор ассетов для рогалика «Биндим Фигняшку» в духе The Binding of Isaac.
Игра и ракурс. Вид сверху под наклоном (псевдо-3D): пол лежит плашмя и виден под углом ≈50° (камера приподнята и смотрит вниз-вперёд), а персонажи и враги — это ВЕРТИКАЛЬНЫЕ спрайты-биллборды, стоящие на полу и обращённые к камере (фронтальный вид, чуть сверху). Стены — невысокий бортик по периметру комнаты. Комната — прямоугольник 15×11 тайлов.
Стиль. Мрачное подземелье, мультяшно-гротескный, читаемые силуэты, плотные тёмные контуры, без мелкой суеты — всё должно читаться на маленьком размере. Допустимы пиксель-арт ИЛИ чистый векторно-мультяшный стиль — но ЕДИНЫЙ для всего набора.
Палитра. Пол — светлый серо-песочный камень (≈#6b6657), стены — холодный сине-серый кирпич (≈#47475a). Поэтому персонажи/враги должны быть НАСЫЩЕННЫМИ и контрастными, чтобы выделяться на светлом полу. Игрок дальнего боя — синий, ближнего — красный. Враги: «обычный» — тёплый терракот, «быстрый» — ярко-красный, «босс» — тёмно-багровый с рогами.
Технические требования (обязательно):
- PNG с прозрачным фоном (alpha), без подложки и без «приваренной» тени/пола.
- Спрайты персонажей/врагов/дверей — ВЕРТИКАЛЬНЫЕ, соотношение 3:4 (ширина:высота), персонаж по центру, СТУПНИ у самого нижнего края кадра (мы «ставим» спрайт на пол по низу).
- Текстуры пола и стен — БЕСШОВНЫЕ (tileable), повторяются по сетке.
- Эффекты (вспышка/искра/дымок) — на прозрачном фоне, со светлым (почти белым) центром, чтобы их можно было тонировать цветом в движке; рассчитаны на аддитивное смешивание.
- Никаких теней под персонажем внутри спрайта — тень рисуется отдельным ассетом.
- Единая «толщина пикселя»/уровень детализации во всём наборе.
Что нарисовать — см. список ниже (каждый пункт = отдельный файл с указанным именем и размером). Пришли файлы по этим именам (или один атлас + JSON-карта координат).
(Дальше вставь таблицу ассетов из этого файла.)
Таблица ассетов
Имена файлов соответствуют ключам в src/render/assets.ts — присылай ровно с такими именами.
Персонажи и враги (вертикальные спрайты 3:4, прозрачный фон, ступни у нижнего края)
| Файл | Что | Рекоменд. размер | Заметки |
|---|---|---|---|
player-ranged.png |
Игрок, режим «дальний» (с пистолетом) | 192×256 | синий; большая голова в духе Isaac |
player-melee.png |
Игрок, режим «ближний» (с ножом) | 192×256 | красный; та же база, другое оружие/цвет |
enemy-normal.png |
Обычный враг | 192×256 | терракот, медлительный, «толстенький» |
enemy-fast.png |
Быстрый враг | 160×213 | ярко-красный, мельче, «дёрганый» |
enemy-boss.png |
Босс | 288×384 | тёмно-багровый, рога, крупный и злой |
Опционально (на будущее, не обязательно сейчас): по 4 ракурса на персонажа (вверх/вниз/влево/вправо) — тогда добавь суффиксы
-up/-down/-left/-right.
Окружение
| Файл | Что | Рекоменд. размер | Заметки |
|---|---|---|---|
floor.png |
Текстура пола | 256×256 | бесшовная, светлый серо-песочный камень, без сильных направленных деталей (виден под углом) |
wall.png |
Текстура стены | 256×256 | бесшовная, сине-серый кирпич |
door-closed.png |
Закрытая дверь (засов) | 192×256, 3:4 | стоит в проёме стены; видна во время боя |
door-open.png |
Открытая дверь (тёмный проём/арка) | 192×256, 3:4 | после зачистки комнаты |
Снаряды и эффекты (прозрачный фон, светлый центр, под аддитивное смешивание)
| Файл | Что | Рекоменд. размер | Заметки |
|---|---|---|---|
tear.png |
Снаряд-«слеза» игрока | 64×64 | голубая светящаяся капля |
muzzle.png |
Вспышка из дула при выстреле | 128×128 | радиальная жёлто-белая |
spark.png |
Искра попадания по врагу | 128×128 | бело-жёлтая, короткая |
puff.png |
Облачко при гибели врага | 128×128 | серо-белое, рассеивается |
shadow.png |
Мягкая тень-«пятно» под сущностью | 128×64 | чёрный радиальный градиент, эллипс |
Интерфейс и меню (опционально, но желательно)
| Файл | Что | Рекоменд. размер | Заметки |
|---|---|---|---|
logo.png |
Логотип «Биндим Фигняшку» | 900×220 | прозрачный фон, для стартового меню |
menu-bg.png |
Фон стартового меню | 880×660 | тёмное подземелье, не пёстрый (поверх — текст) |
heart-full.png / heart-half.png / heart-empty.png |
Сердечки HP | 48×48 | замена полоске HP на сердечки (как в Isaac) |
icon-ranged.png / icon-melee.png |
Иконки режимов (пистолет/нож) | 48×48 | для индикатора оружия в HUD |
Как это подключено (уже работает)
- PNG лежат в
src/assets/с именами-ключами (floor.png,player-ranged.png, …). src/render/assets.tsгрузит их в рантайме черезTHREE.TextureLoaderпо путиassets/<ключ>.png(НЕ импорт-бандлингом). Нет файла → процедурный фолбэкdrawX().- Dev-сервер отдаёт
/assets/*изsrc/assets/; прод-сборка копирует их вdist/assets/. - HUD-ассеты (
heart-*,icon-*) грузитHudOverlay, меню (logo,menu-bg) —index.html.
Заменить/добавить: просто положи PNG с тем же именем в src/assets/ — подхватится само.