Newer
Older
rpg / docs / art-style.md

Пепельные луга — арт-библия пиксель-арта

Основа — 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. Стиль

  1. Контур: 1px P0 только на внешнем силуэте; внутренние формы отделяются тенью, не контуром.
  2. Свет: сверху-слева. Три тона на форму: тень → база → свет. Хайлайт — 1px, редко.
  3. Дизеринг: разрешён шахматный 1px на границе двух тонов, не более 2px полосы.
  4. Цветы жизни: цветок = 3 пикселя B1 + 1px B2 сверху. Никаких «нарисованных» лепестков крупнее.
  5. Механизмы: ржавчина по нижним граням, сталь сверху. Пепел ложится на горизонтальные грани (P5 сверху рельсов).
  6. Анимация ходьбы: 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 (квестовый тайл)

Персонажи (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/grassassets/tiles/grass.png).
  • После замены сгенерированного арта на нарисованный руками имена файлов и размеры не меняются.