| 2026-09-05 |
сейвы v2 + предметы + инвентарь
...
- движок: Inventory — контейнер Map<id, count> (add/remove/count/has/all,
onChange), inventoryFromData; тесты;
- Game.inventory: сумка героя, сброс в новой игре;
- SaveData v2: поле version + items, normalizeSave дополняет сейвы v1;
- data/items.ts: реестр предметов (cloth, bellflower, salt, water_flask);
- сбор цветка кладёт bellflower в сумку; полотно выдаётся предметом
после диалога Милы (флаг got_cloth остаётся меткой);
- InventoryScene: строки сумки из инвентаря (имя + ×N);
- тесты: 192/192.
Co-Authored-By: Claude Code <noreply@anthropic.com>
root
committed
12 hours ago
|
Фаза 4: TallSpec.height в мировых юнитах
...
- плейсхолдер-колонна: h = tall.height * iso.tileW (вместо px);
- удалён устаревший map.screenSize (остался worldBounds в юнитах);
- data/map.ts: высота дерева 1.5 юнита (те же 48 px на экране);
- .map-файлы перегенерированы (diff — только height: 48 -> 1.5);
- parseMap отвергает tall.height > 16 как высоту в px (защита от
протухших карт-файлов);
- тесты: 186/186.
Co-Authored-By: Claude Code <noreply@anthropic.com>
root
committed
13 hours ago
|
Фаза 3: мир игры в мировых юнитах
...
PlayerController, CombatWorld, EnemyBrain, CombatViews и LocationScene
переведены с виртуальных пикселей на мировые юниты (1 юнит = 1 тайл):
- позиции/дистанции/скорости в юнитах (герой 1.75 юн/с, скорости и
радиусы врагов, knockback 0.75, INTERACT_RANGE 1.5);
- конус/окружности через inConeW/inCircleW (метрика проекции);
- вью-позиции — через worldToScreen, округление до px только на границе;
- гистерезис дистанции плевуна ±0.4 юнита, attackStop 0.85 юнита;
- тесты EnemyBrain/stats обновлены под юниты (185/185).
Co-Authored-By: Claude Code <noreply@anthropic.com>
root
committed
13 hours ago
|
игра: квест «Три цветка» — сбор, журнал, сумка, сдача и крючок акта 1
...
- движок: IsometricTileMap.setTile — изменение тайла с перерисовкой ячейки (+тест);
InputManager: одна клавиша маппится на несколько действий (Space = advance+attack)
- data/quests.ts: журнал квестов и предметы из флагов/варов GameState
- сбор лунных колокольчиков кликом на прудах (тайл зеленеет, прогресс flowers)
- сдача квеста Ирвину (elder_hand_in) — посадка цветов у тропы, крючок «Машина дышит»
- повторные реплики Милы (trader_repeat/trader_after)
- InventoryScene: сумка и журнал на Panel (клавиша I / геймпад Y)
- tools/smoke-quest.mjs: смоук диалога и сумки
Co-Authored-By: Claude Code <noreply@anthropic.com>
root
committed
14 hours ago
|
игра: вторая локация «Серые пруды» — карты-файлы .map, переходы, сейв-слоты
...
- encodeMap/parseMap: карты локаций теперь файлы assets/maps/*.map (RLE v1),
генерируются тестом tools/maps/gen.test.ts (npm run maps), грузятся в BootScene
- LocationScene параметризована LocationDef (spawn, NPC, враги, выходы, амбиент);
Серые пруды: гладь воды, туман-частицы, 5 сгустков, обратный переход
- переход между локациями по тайлу-триггеру с fade и точкой входа
- SaveSlotsScene: меню сейвов (autosave + 3 слота, listSlots/delete)
- хук window.__game (dev) для смоук-тестов; tools/smoke-ponds.mjs — сценарий перехода
Co-Authored-By: Claude Code <noreply@anthropic.com>
root
committed
14 hours ago
|
игра: бой в реальном времени — сгустки на ECS, конус/резонанс, HUD, интеграция в LocationScene
...
Co-Authored-By: Claude Code <noreply@anthropic.com>
root
committed
15 hours ago
|
Миграция игры на новые API движка + документация docs/engine
...
Игра:
- диалоги переписаны на графы DialogueRunner + GameState (тексты сохранены)
- меню на MenuList, шрифт VT323 через PixelText во всех сценах
- герой из атласа hero_sheet (gen.mjs), акторы в IsoDepthLayer
- пепел через ParticleEmitter, fade-переходы сцен, сейв с GameState
- Vite: publicDir: 'assets', алиас regex, шрифт через ?url-импорт
Документация: docs/engine/ — 10 файлов (архитектура, подсистемы, рецепты).
CLAUDE.md и README.md обновлены под новые модули и грабли.
Co-Authored-By: Claude Code <noreply@anthropic.com>
root
committed
16 hours ago
|
Мир, арт-библия и пиксель-арт
...
- docs/world.md: библия мира (Великий Пепелопад, звонари, лунные колокольчики,
регион Низина Звенца, персонажи, арка акта 1)
- docs/art-style.md: арт-библия — палитра 32 цвета, размеры, стиль, чеклист
- tools/pixelart: генератор PNG из кода (тайлы, дерево, герой 3 направления,
NPC) без внешних зависимостей
- игра: загрузка ассетов через AssetLoader в BootScene с прогресс-баром,
тайлсет в карте, анимированный герой, спрайты NPC, квестовый тайл
с колокольчиками
Co-Authored-By: Claude Code <noreply@anthropic.com>
gbook
committed
16 hours ago
|
Скелет проекта: свой движок + изометрическая RPG
...
- packages/engine: жанронезависимый движок (цикл, сцены, ECS, ввод, камера,
изометрия 2:1, A*, сейвы, диалоги, анимация) на PixiJS-бэкенде
- apps/game: первый вертикальный срез — меню, локация «Выжженные луга»,
герой с click-to-move, 2 NPC с диалогами, автосейв по Esc
- CLAUDE.md, README.md, workspaces + Vite + Vitest
Co-Authored-By: Claude Code <noreply@anthropic.com>
gbook
committed
17 hours ago
|