Development Roadmap
That's a long way to come.
Genesis -> Start Journey
- Yep I really want to make my own block game sorry x (x = any other projects I gave up during the period)
- Learn how to code in C++ again
- Learn basics about game development
Start Journey -> First Cube
- Work out useful libraries
- Building them all (this cost me 2 weeks)
- Learn to program shaders and bgfx
First Cube -> Design the Game
- Design game architecture
- A lot of thoughts for how can packs integrate with core engine with high performance
- Read Minecraft technology explanations
- Implement simple input handler
- Implement primitive renderer
Design the Game -> Cross Platform #1
- Learn CMake and other build system technologies
- Determine on final plan
- Set up GitHub Actions for building incompatible dependencies
- Set up dependency configuration for CherryGrove
Cross Platform #1 -> More Designs
- Design CGNBT
- Implement CGNBT
- Design Data Storage System
- Refactor JSON processor
- Refactor Input Handler (and it needs a third refactor after this)
- Rewrite Input Handler (input2) mainly for key combos
- Refactor Sound System to be command driven
- Dynamically choose sound backend at runtime
- Settings system
- Rewrite JSON parsing system
More Designs -> Tech Demo (First Data-Driven Block)
- Rewrite Renderer
- Write a competent Component System
- ... With loading zones, chunks and all that good stuff
- Design UMI
- Implement unified layer
- Build frontend infra/utils
- Actually write some UMI functions
- Build API for component system