61 lines
1.5 KiB
Markdown
61 lines
1.5 KiB
Markdown
# 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).
|