- Graphics / Input Engine
- Wgpu + Winit
- Simple frame management and buffer upload system
- Robust key binding support
- Basic command system
- VR support
- Joystick support
- Gamepad support
- Atmospheric Simulation
- Basic precomputed scattering: Using Bruneton's method.
- Dynamically changing atmospheric conditions
- Spatially variable atmospheric parameters
- Weather Simulation
- Pick a technique to apply for both global and local scales
- Water Simulation
- Pick a research paper to implement
- Cloud Simulation
- Pick a technique to implement: Using Horizon Zero Dawn's method
- Noise based cloud layer generation and management
- Cloud light scattering implementation
- Forest Simulation
- Pick a technique to implement
- Script Driven Game Engine
- Pick a good name: Nitrous
- Basic scripting engine
- drop-down console
- command history
- ECS Driven Memory System
- pretty output and entities lists
- Scripted Functions
- Flight Modeling
- Pick an algorithm: Allerton's Principles of Flight Simulation
- Expose relevant controls and surfaces
- Framework for providing forces and moments to the flight model
- Entity/Runtime System
- Save/Load support
- Replay recording
- Network syncing
- Planetary Scale Rendering; Using Kooima's thesis.
- Patch management
- Patch tesselation
- Heightmap generator
- Colormap generator
- L14+ data
- polar projection data
- web hosted data
- Atmospheric blending
- Self shadowing
- Text
- Layout management
- TTF loading
- 2d screen-space rendering
- in-world text rendering
- UI
- Basic UI Framework
- Blurred backgrounds
- Labels
- Line editing
- Vertical Box
- Expander
- Console
- In-world UI elements
- Sound
- Pick a framework
- Sample management
- Channel management and blending
- Positional audio
- Frequency scaling (e.g. for wind and engine noises)
- Doppler effects