Skip to content

Development Timeline and Feature Roadmap #8

@Frogpants

Description

@Frogpants

Development Timeline and Feature Roadmap

Overview

This issue outlines the planned development timeline of the project, focusing on when key features and systems will be implemented. It is intended to guide contributors and maintain a clear progression from the current foundation toward more advanced engine capabilities.


Current State (Baseline)

The project currently includes:

  • Core game object structures (Player, Character, Tile, Camera)
  • Basic vector math system (vec2)
  • Input handling (keyboard and mouse via GLFW)
  • OpenGL-based rendering (textures and primitives)

Development will build directly on top of these systems.


Phase 1: Core Gameplay Systems (Short-Term)

Timeline: Immediate – Next Milestone

Goal: Enable basic interactive gameplay using existing structures.

Features

  • Collision detection system (AABB or tile-based)
  • Basic physics (velocity integration, friction)
  • Player movement improvements
  • Health and damage system
  • Basic enemy AI (follow, patrol)

Outcome

A minimal playable environment with movement, interaction, and simple AI.


Phase 2: World and Rendering Expansion

Timeline: After Phase 1

Goal: Improve world structure and visual capabilities.

Features

  • Tilemap loading system (file-based or procedural)
  • Camera smoothing and follow system
  • Sprite animation system (sprite sheets)
  • Sprite batching for rendering performance
  • Basic 2D lighting or shading system

Outcome

A more visually complete and scalable 2D world.


Phase 3: Engine Systems and Infrastructure

Timeline: Mid-Term

Goal: Improve scalability, organization, and reusability.

Features

  • Scene or state management system
  • Resource manager (textures, assets)
  • Event or messaging system
  • Configuration system (settings, keybinds)
  • Improved file I/O systems

Outcome

A structured engine capable of supporting larger and more complex projects.


Phase 4: Backend Systems (Data and Multiplayer)

Timeline: Mid-Term to Long-Term

Goal: Introduce persistent data systems and networking capabilities.

Data Persistence

  • Save/load system (player state, world state)
  • Serialization system (binary or JSON)
  • Profile system (multiple save slots)
  • Persistent world data (tiles, entities, changes)
  • Versioning for save compatibility

Networking / Multiplayer

  • Basic networking layer (client/server or peer-to-peer)
  • State synchronization (player positions, entities)
  • Input-based networking model (client input → server authority)
  • Interpolation and lag compensation
  • Session management (lobbies, joining/leaving)

Backend Infrastructure (Optional / Extended)

  • Remote server support (dedicated server)
  • API integration for user data (if applicable)
  • Cloud save support

Outcome

Support for persistent gameplay and multiplayer experiences.


Phase 5: Advanced Systems Development

Timeline: Long-Term Focus

Goal: Introduce high-impact systems that expand engine capabilities.

Features

  • Shader-based rendering pipeline
  • Camera transformations using matrices
  • Physics system expansion (forces, gravity, collisions)
  • Pathfinding system for AI
  • Raycasting utilities

Outcome

More advanced gameplay possibilities and improved technical depth.


Phase 6: Large-Scale World Systems

Timeline: Future Expansion

Goal: Support larger and more complex environments.

Features

  • Procedural generation systems
  • Chunk-based world system
  • Spatial partitioning (grids, quadtrees)
  • Streaming or dynamic loading of world data

Outcome

Support for expansive worlds and higher-performance simulations.


Phase 7: Optimization and Tooling

Timeline: Ongoing / Late Development

Goal: Improve performance and developer experience.

Features

  • Performance profiling tools
  • Memory tracking and leak detection
  • Debug overlay (FPS, collision, object data)
  • Basic in-engine editing tools
  • Codebase refactoring and cleanup

Outcome

A stable, optimized, and developer-friendly engine.


Long-Term Direction

  • Maintain a balance between simplicity and capability
  • Prioritize performance and modularity
  • Support both singleplayer and multiplayer systems
  • Enable persistent and scalable game worlds
  • Keep systems flexible for different types of projects

Notes

  • Phases are flexible and may overlap depending on development needs
  • Backend systems should be designed with scalability in mind
  • Multiplayer should prioritize deterministic or server-authoritative design
  • Data systems should be modular and version-safe
  • Priority should be given to features that unlock additional systems

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions