diff --git a/ROADMAP.md b/ROADMAP.md index 5311c03..b8899c5 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -1,82 +1,105 @@ -# Project Roadmap - -## ๐Ÿง  Vision: The PtiCalin Engine -"Light like a whisper, powerful like a storm. -Flexible for artists, fast for builders, and magical for players." - -## ๐ŸŒณ HIGH-LEVEL DEVELOPMENT ROADMAP - -### ๐ŸŸข PHASE 1 โ€“ Foundation & Architecture (CORE) -โ”‚ -โ”œโ”€โ”€ โœ… Launcher System (main.py w/ config bootstrap) -โ”œโ”€โ”€ โœ… SceneManager (YAML-driven, hotspots, transitions) -โ”œโ”€โ”€ โœ… WorldManager (multi-region, metadata, start scenes) -โ”œโ”€โ”€ โœ… AssetManager (caching, dynamic asset resolution) -โ”œโ”€โ”€ โ˜‘ GameState (flags, variables, save/load) -โ”œโ”€โ”€ โ˜‘ Engine Loop (scene stack, FPS clock, screen manager) -โ””โ”€โ”€ โ˜‘ Core UI Overlay (text boxes, tooltips, hover labels) - -### ๐ŸŸก PHASE 2 โ€“ Storytelling & Puzzles (GAME LOGIC) -โ”‚ -โ”œโ”€โ”€ ๐Ÿงฉ PuzzleEngine (modular logic types) -โ”œโ”€โ”€ ๐Ÿ’ฌ DialogueEngine (branching, memory, flags) -โ”œโ”€โ”€ ๐Ÿง  NPCSystem (traits, personality, reactions) -โ”œโ”€โ”€ ๐ŸŽ’ InventorySystem (pickup, combine, use) -โ”œโ”€โ”€ ๐Ÿ” TimelineEngine (events, time loops, scheduling) -โ””โ”€โ”€ ๐Ÿ”ฅ TriggerSystem (on_enter, on_solve, on_flag) - -### ๐Ÿ”ต PHASE 3 โ€“ Worldbuilding & Editor Tools (CREATOR MODE) -โ”‚ -โ”œโ”€โ”€ ๐Ÿ—บ๏ธ Region Editor UI (click-to-place hotspots) -โ”œโ”€โ”€ ๐Ÿงฑ Scene Builder (Obsidian/YAML companion + live preview) -โ”œโ”€โ”€ ๐ŸŽจ Asset Inspector (visual layer manager + loader) -โ”œโ”€โ”€ ๐Ÿงฐ Debug Overlay (FPS, flags, region info) -โ”œโ”€โ”€ ๐Ÿ’ก Visual Condition Tester (simulate triggers) -โ””โ”€โ”€ โš™๏ธ DevMenu (scene teleport, reload, test puzzles) - -### ๐ŸŸฃ PHASE 4 โ€“ Polish & Publishing (RELEASE) -โ”‚ -โ”œโ”€โ”€ ๐ŸŒ Multi-language Support (locales via YAML) -โ”œโ”€โ”€ ๐ŸŒŸ Title Menu / Save Slot System -โ”œโ”€โ”€ ๐Ÿ“ฆ Game Exporter (package to .exe, .app, or web) -โ”œโ”€โ”€ ๐ŸŽฎ Controller & Input Customization -โ”œโ”€โ”€ ๐ŸŒˆ Accessibility Settings -โ””โ”€โ”€ ๐Ÿš€ Performance Optimization (resource cleanup, framerate cap, caching) - -## ๐Ÿงฉ KEY MODULE SNAPSHOT - -| Category | Module | Status | -| --- | --- | --- | -| ๐Ÿง  Core | SceneManager | โœ… Built | -| ๐Ÿ—บ๏ธ World | WorldManager | ๐Ÿ”ง Coding now | -| ๐Ÿ–ผ๏ธ Assets | AssetManager | ๐Ÿ”ง In dev | -| ๐Ÿ” Game State | GameState | ๐ŸŸก Prototype soon | -| ๐Ÿงฉ Puzzles | PuzzleEngine | ๐ŸŸก Next | -| ๐Ÿ’ฌ Dialogue | DialogueEngine | ๐ŸŸก Planned | -| ๐ŸŽญ Characters | NPCSystem | โฌœ Future | -| ๐Ÿ•ฐ๏ธ Time | TimelineEngine | โฌœ Future | -| ๐Ÿ› ๏ธ Creator UX | RegionEditorUI | โฌœ Later | -| ๐ŸŽฎ Deployment | GameExporter | โฌœ Final phase | - -## ๐Ÿง™โ€โ™‚๏ธ PtiCalin Design Principles - -| Principle | What It Means for the Engine | -| --- | --- | -| โœจ Lightweight | Minimal dependencies, fast launch, <100ms input-to-frame latency | -| ๐Ÿงฉ Modular | Each system optional & plug-play (like VaultOS subplugins) | -| ๐ŸŒˆ Friendly | YAML-first, minimal syntax, UI feedback for creators | -| ๐Ÿ” Extensible | Easily add new triggers, conditions, puzzle types, visuals | -| ๐ŸŽฏ Focused | Core gameplay loop is clear, smooth, easy to scale | -| ๐Ÿ”ฅ Stylized | Clean fonts, parallax vibes, optional shaderFX later | - -## ๐ŸŽฏ Immediate Next Tasks - -| Priority | Feature | Dev Action | -| --- | --- | --- | -| ๐ŸŸข | Finalize WorldManager | Write logic, load world metadata | -| ๐ŸŸข | Build AssetManager | Add caching + fallback handling | -| ๐ŸŸก | Create GameState | Add flag setting/checking & save file | -| ๐ŸŸก | Define puzzle schema in YAML | Start with 3 puzzle types | -| ๐ŸŸก | Create DialogueEngine stub | Support one character + 3 choices | -| ๐Ÿ”ต | Write scene.yaml sample files | Showcase: region entry + dialogue trigger | +# ๐Ÿ“‹ PtiCalin Game Engine โ€“ Roadmap +## ๐ŸŸข Phase 1 โ€“ Foundation & Architecture (Done) + +โœ… Done + +- [x] Launcher System (main.py w/ config bootstrap) +- [x] SceneManager (YAML-driven, hotspots, transitions) +- [x] WorldManager (multi-region, metadata, start scenes) +- [x] AssetManager (caching, dynamic asset resolution) +- [x] GameState (flags, variables, save/load) +- [x] Engine Loop (scene stack, FPS clock, screen manager) +- [x] Core UI Overlay (text boxes, tooltips, hover labels) + +--- + +## ๐ŸŸก Phase 2 โ€“ Storytelling & Puzzles + +๐Ÿ› ๏ธ Finetuning + +- [x] PuzzleEngine (modular logic types) +- [x] DialogueEngine (branching, memory, flags) +- [x] NPCSystem (traits, personality, reactions) +- [x] InventorySystem (pickup, combine, use) +- [x] TimelineEngine (events, time loops, scheduling) +- [x] TriggerSystem (on_enter, on_solve, on_flag) +- [ ] Refactor PuzzleEngine to support YAML-based logic per type (e.g. `type: lockbox`) +- [ ] Enhance DialogueEngine with flag injection, memory branches, localization +- [ ] Merge TriggerSystem into unified Trigger + Timeline + GameState condition engine +- [ ] Expand InventorySystem to support crafting, enchanting, and tagging + +--- + +## ๐Ÿ”ต Phase 3 โ€“ Worldbuilding & Editor Tools + +๐Ÿ› ๏ธ Finetuning + +- [x] Region Editor UI (click-to-place hotspots) +- [x] Scene Builder (Obsidian/YAML companion + live preview) +- [x] Asset Inspector (visual layer manager + loader) +- [x] Debug Overlay (FPS, flags, region info) +- [x] Visual Condition Tester (simulate triggers) +- [x] DevMenu (scene teleport, reload, test puzzles) +- [ ] RegionEditorUX polish: drag accuracy, visual selection feedback +- [ ] Add Snap-to-grid, Zoom, Pan in SceneCanvas +- [ ] Add YAML live preview panel in Scene Builder +- [ ] DebugOverlay: Make togglable, color-coded states, tooltips +- [ ] Visual Trigger Tester: hover effects + click simulation in canvas +- [ ] DevMenu Plugin: Add teleport, flag toggle, scene reload buttons + +--- + +## ๐ŸŸฃ Phase 4 โ€“ Polish & Publishing + +๐Ÿ› ๏ธ Finetuning + +- [x] Multi-language Support (locales via YAML) +- [x] Title Menu / Save Slot System +- [x] Game Exporter (package to .exe, .app, or web) +- [x] Controller & Input Customization +- [x] Accessibility Settings +- [x] Performance Optimization (resource cleanup, framerate cap, caching) +- [ ] Refactor UIOverlay scaling for multi-resolution support +- [ ] Add autosave + multi-slot support to Save System +- [ ] Add input mapping panel (keys, controller, mobile) +- [ ] Add toggle font size / color contrast for accessibility +- [ ] Add export config tool (Windows, Mac, Web) +- [ ] Add startup language selector โ†’ loads from /lang/ + +## ๐Ÿช„ Phase 5 โ€“ Creative UX & Sandbox Builder + +๐Ÿšง Planned + +- [ ] Create editor/gamebuilder_ui.py (canvas scaffold) +- [ ] Create ui/asset_browser.py (shows assets, library, drag-to-canvas) +- [ ] Create editor/scene_canvas.py (background, items, hotspots) +- [ ] Create editor/properties_panel.py (context config) +- [ ] Add editor/timeline.py for trigger/layer preview +- [ ] Add editor/theme_selector.py to change UI skin +- [ ] Create scene diff preview & YAML validator + +## ๐Ÿ“š Built-In Asset Library + +- [ ] Create /library/ folder and scaffold subtypes +- [ ] Add /library/library_index.yaml (tagged asset registry) +- [ ] Extend AssetManager with dual lookup (library + user) +- [ ] Create asset metadata viewer/editor +- [ ] Create asset preview (image + audio waveforms) + +## ๐Ÿง‘โ€๐ŸŽจ User-Generated Asset Library + +- [ ] Create /game/user_assets/ with YAML tracker +- [ ] Hook into drag-and-drop & import logic +- [ ] Auto-populate user_assets.yaml with metadata +- [ ] Create tagging UI (name, type, resolution, tags) +- [ ] Add โ€œfavoriteโ€ & โ€œpublish to shared libโ€ features + +## ๐ŸŒŒ AI-Assisted Sandbox + +- [ ] Create ai/ module scaffold (ai_image_gen.py, ai_audio_gen.py, etc) +- [ ] Add editor/sandbox_ui.py (tabs: image, audio, puzzle) +- [ ] Connect prompt โ†’ preview โ†’ save to user_assets/ +- [ ] Add preset_prompts.yaml for creativity boost +- [ ] Add model selector (local/remote) for each tab +- [ ] Add AI โ€œSurprise Meโ€ logic + poetic prompt generator