Skip to content

Latest commit

 

History

History
44 lines (35 loc) · 2.11 KB

ROADMAP.md

File metadata and controls

44 lines (35 loc) · 2.11 KB

SPACE Project

Main Objectives

1. Rendering System

  • Objective: Implement a versatile rendering system capable of handling both 2D and 3D graphics.
    • Integrate OpenGL for rendering capabilities.
    • Implement shader management and customization.
    • Support for various rendering techniques like shadows, post-processing, and more.

2. Entity-Component-System (ECS) Architecture

  • Objective: Design and implement an ECS architecture for flexible and efficient game object management.
    • Define components, entities, and systems for modular game object composition.
    • Implement a robust system for entity transformations, behaviors, and interactions.

3. Cross-Platform Support

  • Objective: Ensure the game engine is cross-platform, capable of running on various operating systems.
    • Utilize platform-independent libraries like GLFW for window management.
    • Implement platform-specific code when necessary for optimal performance.

4. Input Handling

  • Objective: Develop a responsive input system to capture and process user input.
    • Implement keyboard, mouse, and controller input support.
    • Allow for customizable input mappings and configurations.

5. Scene Management

  • Objective: Create a robust system for managing and transitioning between different game scenes.
    • Implement scene loading, unloading, and transitioning mechanisms.
    • Support for scene serialization and deserialization.

6. Physics Simulation

  • Objective: Integrate a physics engine to handle realistic object interactions and movement.
    • Develop a physics engine.
    • Implement collision detection and response.

7. User Interface (UI) System

  • Objective: Implement a UI using ImGui.
    • Develop modulable UI.
    • Support for full UI customization and styling.

8. Debugging and Profiling Tools

  • Objective: Create tools to assist in debugging and profiling the game engine.
    • Implement logging mechanisms for debugging information.
    • Develop profiling tools to analyze performance bottlenecks.