Newer
Older
rpg / README.md

Пепельные луга

Изометрическая пиксельная RPG с сюжетом — и собственный жанронезависимый игровой движок под неё.

  • Движок: свой (packages/engine), TypeScript, PixiJS 8 как низкоуровневый рендер-бэкенд. Спроектирован под переиспользование в других жанрах.
  • Игра: одиночная сюжетная RPG (apps/game), сначала браузер, дальше — планы на Steam и Android.
  • Стек: TypeScript (strict), Vite (dev + сборка), Vitest (тесты движка).

Быстрый старт

npm install
npm run dev                          # http://localhost:5173
npm test                             # 81 юнит-тест движка
npm run build                        # прод-сборка
node tools/pixelart/gen.mjs          # перегенерация пиксель-арта

Структура

docs/engine          # документация движка: архитектура, все подсистемы, рецепты
docs/world.md        # библия мира: сеттинг, локации, персонажи, сюжет
docs/art-style.md    # арт-библия: палитра, размеры, стиль, чеклист ассетов
packages/engine      # движок: цикл, сцены, ввод, камера, изометрия, A*, сейвы,
                     #   диалоги, твины, GameState, UI-кит, частицы, аудио, карты
apps/game            # RPG: сцены, локации, NPC, диалоги, сюжет
apps/game/assets     # пиксель-арт (генерируется tools/pixelart)
tools/pixelart       # генератор арта: PNG из кода, палитра в одном месте

Правила: игра использует только публичный API @rpg/engine; движок ничего не знает о жанре игры; тёплый цвет в арте — только жизнь (цветы, бронза, огонь).

Документация движка

Начни с docs/engine/README.md — там карта документации и принципы архитектуры.

Файл О чём
getting-started.md новая игра на движке с нуля: bootstrap, сцены, ассеты
core.md Engine, GameLoop, Tween, GameState, StateMachine, Settings
render.md Renderer, pixel-perfect, Camera, IsoDepthLayer, частицы
input.md действия, клавиатура, мышь, тач, геймпад
maps.md изометрия, A*, формат карт (JSON+RLE), импорт из Tiled
ui-and-dialogue.md UI-кит, шрифт VT323, DialogueRunner и формат графов
assets-audio-save.md ассеты и атласы, аудио-шины, сейвы
art-pipeline.md генератор арта, палитра, замена на рисованный
recipes.md «как сделать»: локация, NPC, квест, анимация, частицы

Правила: игра использует только публичный API @rpg/engine; движок ничего не знает о жанре игры; тёплый цвет в арте — только жизнь (цветы, бронза, огонь).

Мир

Сорок лет назад Северные Печи горели девять дней — и пепел накрыл край. Пепел гасит звук и цвет; против него работает только резонанс. Звонари прозванивают дороги, лунные колокольчики пьют пепел из земли. Полная библия — в docs/world.md.

Первый акт: выжженные луга, Серые пруды, старейшина Ирвин и безгласная торговка Мила.