8.1 KiB
8.1 KiB
BMS BattleMap Generator - Implementation Roadmap
Phase 1: Frontend Renderer MVP (2-3 weeks)
Week 1: Core Foundation
Days 1-2: Project Setup
Tasks:
- Initialize Git repository
- Create Vite + React + TypeScript project
- Install core dependencies:
konva react-konva(Canvas rendering)js-yaml(YAML parsing)zod(Validation)@monaco-editor/react(Code editor)tailwindcss postcss autoprefixer(Styling)
- Configure development environment
- Set up TypeScript, ESLint, Prettier
Deliverables:
- ✅ Project repository initialized
- ✅ Development environment working
- ✅ Basic React app running
Days 3-4: BMS Schema Implementation
Tasks:
- Create TypeScript interfaces for BMS 1.0
- Implement Zod validation schemas
- Create YAML parsing utilities
- Add error handling and validation
- Create test BMS files for development
Deliverables:
- ✅ Complete BMS TypeScript types
- ✅ Runtime validation with Zod
- ✅ YAML parser with error messages
- ✅ Sample BMS files for testing
Days 5-7: Basic Rendering Engine
Tasks:
- Set up Konva.js canvas
- Implement grid renderer
- Define Paperly style system
- Create room renderer (walls, floors)
- Add basic UI layout (editor + preview)
Deliverables:
- ✅ Canvas displaying grid
- ✅ Rooms rendered as rectangles
- ✅ Paperly style applied
- ✅ Split editor/preview layout
Week 2: Complete BMS Support
Days 8-10: Element Rendering
Tasks:
- Implement door renderer
- Open/closed states
- Hinge side indicators
- Connection lines
- Create object renderer
- Simple geometric icons
- Labels and tooltips
- State indicators
- Build hazard renderer
- Visual patterns
- Color coding
- DC indicators
Deliverables:
- ✅ Doors render with correct states
- ✅ Objects display as icons
- ✅ Hazards show visual patterns
- ✅ Real-time updates on YAML changes
Days 11-12: Advanced Features
Tasks:
- Implement lighting renderer
- Light radius visualization
- Bright/dim zones
- Glow effects
- Create annotation renderer
- Text labels
- DM notes
- Connection arrows
- Build export system
- PNG export (canvas to image)
- JSON export (serialized BMS)
- BMS YAML export
Deliverables:
- ✅ Lighting effects rendered
- ✅ Annotations displayed
- ✅ Export functionality working
- ✅ Complete BMS 1.0 support
Day 13: UI Polish
Tasks:
- Refine UI components
- Add error reporting
- Implement zoom/pan controls
- Add keyboard shortcuts
- Improve user experience
Deliverables:
- ✅ Polished UI
- ✅ Error messages for invalid BMS
- ✅ Zoom/pan functionality
- ✅ Keyboard shortcuts
Week 3: Testing & Deployment
Days 14-15: Testing & Bug Fixes
Tasks:
- Test with sample BMS files
- Fix rendering issues
- Optimize performance
- Test on different browsers
- Create documentation
Deliverables:
- ✅ All sample BMS files render correctly
- ✅ Performance optimized for large maps
- ✅ Cross-browser compatibility
- ✅ User documentation
Days 16-17: Alpha Deployment
Tasks:
- Build production version
- Deploy to maps.bouncypixel.com
- Set up basic analytics (optional)
- Create alpha testing guide
- Invite initial testers
Deliverables:
- ✅ Production build completed
- ✅ Deployed to maps.bouncypixel.com
- ✅ Alpha testing environment ready
- ✅ Testers invited and briefed
Phase 2: Texture Pack System (3-4 weeks)
Week 1: Texture Pack Architecture
- Design texture pack file structure
- Create style configuration format
- Implement texture loading system
- Add texture pack manager UI
Week 2: Texture Rendering
- Modify renderer to use textures
- Implement texture tiling
- Add texture blending options
- Create texture preview system
Week 3: Pack Management
- Implement pack purchase/download
- Add pack activation/deactivation
- Create pack marketplace UI
- Add user account integration
Week 4: Polish & Release
- Create default texture packs
- Test texture rendering
- Optimize texture loading
- Release to production
Phase 3: AI Integration (4-5 weeks)
Week 1: AI API Integration
- Set up OpenAI API integration
- Create BMS generation prompts
- Implement basic AI generation
- Add API key management
Week 2: Chat Interface
- Design chat-based UI
- Implement conversation history
- Add context preservation
- Create iterative editing workflow
Week 3: Advanced AI Features
- Implement schema modification
- Add suggestion system
- Create validation feedback
- Implement rate limiting
Week 4: Monetization Integration
- Add subscription system
- Implement API usage tracking
- Create tiered feature access
- Add payment processing
Week 5: Testing & Release
- Test AI generation quality
- Optimize prompt engineering
- Performance testing
- Release to production
Phase 4: VTT Export & Community Features (4-5 weeks)
Week 1: VTT Export Formats
- Implement FoundryVTT export
- Add Roll20 compatibility
- Create universal VTT format
- Test with popular VTTs
Week 2: Community Features
- Add template sharing
- Create user profiles
- Implement rating system
- Add search functionality
Week 3: Advanced Tools
- Add map editing tools
- Implement undo/redo
- Create layer management
- Add measurement tools
Week 4: Performance & Scaling
- Optimize for large maps
- Implement caching
- Add CDN for assets
- Scale infrastructure
Week 5: Polish & Release
- User feedback implementation
- Bug fixes
- Documentation updates
- Production release
Success Metrics
Phase 1 (MVP)
- ✅ BMS 1.0 YAML parsing
- ✅ Complete rendering with Paperly style
- ✅ Real-time editor + preview
- ✅ PNG/JSON export
- ✅ Alpha testing with 5-10 users
- ✅ Positive feedback on usability
Phase 2 (Texture Packs)
- ✅ Texture pack system working
- ✅ At least 3 quality texture packs
- ✅ Users can purchase/activate packs
- ✅ Texture rendering performs well
Phase 3 (AI Integration)
- ✅ AI generates valid BMS schemas
- ✅ Chat interface intuitive
- ✅ Iterative editing works smoothly
- ✅ Subscription system functional
Phase 4 (Complete Platform)
- ✅ VTT export works with major platforms
- ✅ Community templates shared
- ✅ Performance handles large maps
- ✅ Platform scales with users
Risk Mitigation
Technical Risks
- Canvas Performance: Use Konva.js optimizations, implement viewport culling
- Large Map Rendering: Implement level-of-detail, progressive rendering
- Browser Compatibility: Focus on modern browsers, polyfill if needed
- YAML Parsing: Robust error handling, helpful error messages
Business Risks
- User Adoption: Free tier lowers barrier, focus on useful core features
- Monetization: Multiple revenue streams (packs, subscription, AI)
- Competition: Unique BMS format, AI integration, community focus
- Technical Debt: Clean architecture, modular design, regular refactoring
Resource Requirements
Development
- Frontend Developer: 3-4 months full-time (or equivalent)
- Designer: 1-2 months for UI/UX and texture packs
- AI/Backend: 1-2 months for AI integration (optional backend)
Infrastructure
- Hosting: Static site hosting (Vercel, Netlify, self-hosted)
- Storage: CDN for texture packs
- API: Optional for AI features
- Database: Optional for user accounts/templates
Testing
- Alpha Testers: 5-10 trusted users
- Beta Testers: 50-100 users
- Production Testing: Continuous user feedback
Future Considerations
Technical Debt
- Regular code reviews
- Comprehensive testing
- Documentation updates
- Performance monitoring
Feature Backlog
- 3D top-down view
- Mobile app
- Collaborative editing
- Plugin system
- Advanced generation algorithms
- Integration with other TTRPG tools
- Print-friendly formats
- Custom asset import
- Advanced lighting simulation
- Sound effects integration
Last Updated: March 19, 2026 Next Review: After Phase 1 Completion