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.