Пепельные луга — арт-библия пиксель-арта
Основа — docs/world.md. Ключевое правило арта из сеттинга: тёплый цвет — только жизнь. Золото колокольчика, бронза, огонь кузни. Всё остальное — серо-оливковое, ржавое, тёмное.
1. Палитра (32 цвета)
Движок и генератор (tools/pixelart/) используют ровно эти цвета. Имя цвета — тоже комментарий к настроению.
Пепел (нейтраль)
| Слот |
HEX |
Роль |
| P0 |
#17171d |
контур, самая тёмная тень |
| P1 |
#23232b |
тень плащей, ночная сторона |
| P2 |
#2f2f38 |
тёмный серый |
| P3 |
#3e3e48 |
пепельный накат, тень тайлов |
| P4 |
#52525c |
базовый серый |
| P5 |
#6a6a74 |
светлая пыль |
| P6 |
#86868f |
пепельный бугор, свет |
| P5H |
#a3a3ac |
выгоревший свет (редко!) |
Мёртвая трава (оливково-серая)
| Слот |
HEX |
Роль |
| G0 |
#2b3026 |
тень травы |
| G1 |
#3d4436 |
базовый луг |
| G2 |
#525b44 |
трава, свет |
| G2H |
#687053 |
сухие стебли |
Ржавчина и металл (индастриал)
| Слот |
HEX |
Роль |
| R0 |
#3a2822 |
тёмная ржавчина, тень |
| R1 |
#5c3b2e |
базовая ржавчина |
| R2 |
#82503a |
светлая ржавчина |
| M0 |
#26262e |
тёмный металл |
| M1 |
#44454e |
сталь |
| M2 |
#61626c |
светлый металл |
Вода (Серые пруды)
| Слот |
HEX |
Роль |
| W0 |
#22343c |
глубина |
| W1 |
#32505c |
базовая |
| W2 |
#4a737f |
блики, рябь |
Тепло (только жизнь!)
| Слот |
HEX |
Роль |
| B0 |
#8a6a2e |
бронза, тень |
| B1 |
#d99a32 |
бронза, свет / цветок |
| B2 |
#f2cd68 |
золото,highlight цветка и колоколов |
| F0 |
#d97f2b |
огонь кузни, уголёк |
| F1 |
#f2b45a |
огонь, свет |
Люди и ткань
| Слот |
HEX |
Роль |
| C0 |
#3a4356 |
плащ звонаря (тень) |
| C1 |
#4d5a72 |
плащ звонаря (свет) |
| W3 |
#8a8f7d |
вощёное полотно, Мила |
| S0 |
#8a6d55 |
кожа, тень |
| S1 |
#c9a689 |
кожа, свет |
| T0 |
#5a4a3c |
шляпа/плащ Ирвина |
| T1 |
#77634f |
шляпа/плащ Ирвина, свет |
Правила палитры: чёрный/белый запрещены (крайности — P0 и P5H). B1/B2/F0/F1 занимают не более 5% площади любого спрайта — золото должно быть событием, а не заливкой.
2. Формат и размеры
- Тайл: ромб 32×16 (движок,
DEFAULT_ISO).
- Персонаж: 16×24, якорь — центр между ступней (низ спрайта = центр ромба тайла).
- Дерево (высокий объект): 32×48, якорь — центр ствола у земли.
- Пропсы (бочки, тележка Милы, рельсы): 16×16 или 16×24, тоже якорь у земли.
- Шрифт интерфейса: системный monospace до появления пиксельного шрифта (8px в виртуальном разрешении).
3. Стиль
- Контур: 1px
P0 только на внешнем силуэте; внутренние формы отделяются тенью, не контуром.
- Свет: сверху-слева. Три тона на форму: тень → база → свет. Хайлайт — 1px, редко.
- Дизеринг: разрешён шахматный 1px на границе двух тонов, не более 2px полосы.
- Цветы жизни: цветок = 3 пикселя B1 + 1px B2 сверху. Никаких «нарисованных» лепестков крупнее.
- Механизмы: ржавчина по нижним граням, сталь сверху. Пепел ложится на горизонтальные грани (P5 сверху рельсов).
- Анимация ходьбы: 2 кадра (ноги в разнобой) + idle. Читается на 16×24 — крупность важнее плавности.
4. Ассеты и чеклист
Все PNG — из apps/game/assets/, генерируются tools/pixelart/gen.mjs.
Тайлы (32×16, id совпадает с apps/game/src/data/map.ts)
| id |
файл |
содержание |
| 0 |
tiles/grass.png |
серая трава, редкие сухие стебли |
| 1 |
tiles/path.png |
звонёная тропа: утоптанный пепел, светлее травы |
| 2 |
tiles/water.png |
Серый пруд: W1 база, блики W2 |
| 3 |
tiles/tree.png |
дерево Ржавой рощи — 32×48, tall-объект |
| 4 |
tiles/ash.png |
пепельный бугор: P4/P6 с тёмным ободом |
| 5 |
tiles/bellflower.png |
трава + цветок B1/B2 (квестовый тайл) |
| 6 |
tiles/tower.png |
башня Звенца — 32×80, tall-объект 2.5 юнита: бак на ногах-рельсах, колокол B0/B2 под баком |
| 7 |
tiles/house.png |
дом Звенца — 32×56, tall-объект 1.75 юнита: стены из вагонных щитов, крыша из шпал |
Персонажи (16×24)
| файл |
кадры |
содержание |
chars/hero_down_1.png, hero_down_2.png |
ходьба вниз |
звонарь: плащ C0/C1, шляпа T0, колокольчик B0 |
chars/hero_up_1.png, hero_up_2.png |
ходьба вверх |
спина: узел плаща, лампа |
chars/hero_side_1.png, hero_side_2.png |
ходьба влево |
вправо — горизонтальный флип |
chars/elder_irwin.png |
idle |
длинный плащ T0/T1, борода S0, стилос |
chars/trader_mila.png |
idle |
платок W3, тележка-ручка, ручной колокольчик B1 |
Интерьер/UI (позже)
- Панель диалога: 9-patch, тёмный P1 с бронзовой окантовкой B0.
- Иконки: цветок, маска-полотно, колокольчик — 8×8.
5. Что где хранится
tools/pixelart/gen.mjs — генератор: пиксель-карты в ASCII + энкодер PNG (без зависимостей).
apps/game/assets/ — выход генератора, загружается AssetLoader по ключу = пути без расширения (tiles/grass → assets/tiles/grass.png).
- После замены сгенерированного арта на нарисованный руками имена файлов и размеры не меняются.