Roadmap - 0xJas0n/Omni GitHub Wiki
Roadmap for Omni
1. Planning & Design
-
Game Design Document (GDD): Define core mechanics (controls, movement, attacks, abilities, game loop, etc.), character roles, maps, and objectives.
-
Tech Stack Finalization:
- Frontend: HTML, CSS, JavaScript (possibly with Phaser.js).
- Backend: Java Spring Boot (REST APIs, WebSockets for real-time communication).
- Database: PostgreSQL/MySQL for player stats, Redis for caching.
- Networking: WebSockets for real-time multiplayer.
2. Setting Up the Project
-
Frontend:
- Set up a JavaScript framework.
- Create a basic game loop (rendering, input handling, physics).
-
Backend:
- Create a Spring Boot project.
- Implement REST API for account management, matchmaking, and game state storage.
- Set up WebSocket endpoints for real-time communication.
3. Prototyping
- Create a simple player movement prototype (keyboard/mouse).
- Implement basic shooting mechanics (hit detection, damage calculation).
- Add a test map with obstacles and walls.
- Implement a basic bot or dummy enemy for testing.
4. Multiplayer Implementation
- Use WebSockets to sync player positions and actions.
- Implement matchmaking (lobbies, teams, queue system).
- Optimize server-authoritative gameplay to prevent cheating.
- Handle lag compensation (interpolation, client-side prediction).
5. Game Mechanics & Features
- Abilities & Power-ups: Implement abilities, and item pickups.
- Character Progression: XP, levels and upgrades.
- Game Modes: Battle royale.
- UI & HUD: Health bars, ammo and score
6. Backend Enhancements
- Database Management: Store player profiles.
- Leaderboards & Stats: Implement ranking systems.
- Matchmaking Algorithm: Improve balancing and fair play.
7. Testing & Optimization
- Network Stress Testing: Simulate multiple players to test server load.
- Performance Optimization: Reduce lag, optimize rendering, and compress assets.
- Bug Fixing: Address gameplay and networking issues.