Files
Voile/TODO.md

1.5 KiB

Voile MVP

Core

  • Add and implement interfaces for systems (ISystem, IUpdatableSystem, etc.)
  • Minimize amount of possible null references.
  • TextDataResource providing a convenient wrapper around TOML data files.
  • Add documentation for common classes.
  • Hot reloading of resources.

I/O

  • Use GUIDs and string ID maps for fetching resources instead of string IDs alone.
  • (stretch goal) Make async API for ResourceManager
  • (stretch goal/1.0) Streamed resource loading
  • (stretch goal) Virtual file system

Serialization

  • Serialize attribute.
  • Add automatic serialization of resources through code generation and System.Text.Json.
  • Provide means for fetching key/value configuration (INI? TOML?)
    • Expose some sort of ConfigFile class for safe key/value configuration fetching.

Rendering

  • API for drawing textured quads
  • Camera API
  • Arbitrary mesh rendering API.
  • (1.0) Create WebGPU renderer (StandardRenderer)

Audio

  • Integrate FMOD
  • 2D audio abstraction

Misc

  • Asset manager
  • Separate engine and game into separate projects
  • Particle system

SceneGraph module

  • Layers (sorting mechanism)
  • Full overhaul using Entity Component architecture (not to be mistaken with ECS).
  • Save/load scenes from file

Input

  • Action system
  • Make action system use an InputMap resource instead.
  • Gamepad support

UI

  • Immediate mode API.
  • Styling.
  • Basic input elements (button, text field, toggle).
  • Containers (vertical and horizontal).