Goal: Port all C++/Java engine systems to TypeScript web engine
- 187 TypeScript modules across 16 subsystems
- Complete puzzle game engine (OKGame, BobsGame, Grid, GameLogic, Piece, Block)
- Complete RPG engine (EventManager, EventScript, GUI, Wallet, Clock, Player)
- Complete ECS (47 modules — behaviors, components, systems)
- Complete audio engine (AudioManager, AudioUtils, WaveData, OggDecoder)
- Complete networking (Socket.io, WebRTC P2P, ServerConnection)
- Complete map system (GameMap, MapManager, AutoTiler, AsepriteParser)
- Complete entity system (Sprites, Characters, Camera, PathFinder)
- Complete text system (BitmapFont, TextManager, DialogueBox, CaptionManager)
- nD mini-game console (ND, Wheel, NDMenu, Ping, Ramio)
- Tournament system (Stadium, TournamentManager)
- State management (StateManager, GameFlowStates)
- Client game engine (ClientGameEngine, BGClientEngine)
- Settings & persistence (GlobalSettings, GameSave, NetworkGameSave)
- Utilities (FileUtils, ManifestLoader, OKMath, OKColor, Cache, BobMenu)
Goal: Wire up all systems into the actual running game
- Wire ClientGameEngine as the running game engine in the main game loop
- The Game.ts main loop should instantiate and run ClientGameEngine
- All subsystems (Player, GUI, Clock, Friends, Map, Events) should update each frame
- Wire BGClientEngine render pipeline to actually render maps, entities, and GUI
- Wire ND into the game — pressing Enter should open the nD with the puzzle game
- Wire BobsGame menu flow — title screen → game type selection → difficulty → play
- Wire MapManager to load and render actual map data
- Wire EventManager to process event scripts on map triggers
- Wire AudioManager to play music and SFX during gameplay
- Wire NetworkManager for real multiplayer connections
- Wire TournamentManager for bracket-style tournaments
Goal: Create playable demo scenes for each major subsystem
- Puzzle Game Demo — fully playable puzzle with BobsGame menu flow
- RPG World Demo — walkable map with NPCs, dialogue, items
- nD Console Demo — open nD, play mini-games, browse game library
- Tournament Demo — create/join tournament, play bracket matches
- ECS Demo — spawn entities with behaviors, watch them interact
- Editor Demo — map editor, sprite editor, event sheet editor
- Network Demo — connect to server, join room, play online
Goal: Fill the game with content and polish the experience
- Create actual map data (town, buildings, interiors, overworld)
- Create sprite data (player characters, NPCs, enemies, items)
- Create event scripts (story events, NPC dialogue, puzzle triggers)
- Create music tracks and sound effects
- Implement all 9 puzzle game types in PuzzleTypes
- Complete the Custom Game Editor UI
- Complete the Game Sequence Editor UI
- Add achievement system integration
- Add replay recording and VOD playback
- Add deep linking for sharing custom games and replays
Goal: Modernize C++ and Java engines
- okgame C++: Resolve compile/link errors, vcpkg/Conan modernization
- okgame C++: Port latest web features back to native (tournament, replay)
- Java: Complete Libretro JNI integration
- Java: Complete libprojectM native bindings
- Java: Ensure MMO server parity with Node.js backend
Goal: Mobile apps and public launch
- Capacitor iOS build validation
- Capacitor Android build validation
- Performance optimization (lazy loading, code splitting)
- SEO and meta tags
- Analytics and crash reporting
- Community features (forums, chat, user profiles)
- Monetization (if applicable)
Goal: Integrate features from 34+ sprite/tilemap editors and provide Generative AI toolsets within the Omni-Engine (bgeditor).
- Port
bgeditorto C++ using Qt6 (bobui) - Port
bgeditorto JavaFX - Implement Unified Sprite Canvas mimicking Aseprite & Pixelorama
- Integrate text-to-sprite using local stable-diffusion pipelines
- Integrate image-to-3d mesh via Shap-E