This is the place to discuss how to get to something usable quickly and then iterate on to get better and add features.
An important concept if the "business value" when ordering goal.
For each milestone we could choose using Moscow's style (Must have, Should have, Could have and Won't have).
I'm not an Agile addict but some good ideas have standards so why not using them :)
Nothing is settled, it's a (very simple) backlog and open to discussion before we have a great tool to get our milestones organized. :)
I've not elaborated on the rendering side (this is left as an exercice for the reader).
On top of my head (please add to this considering a chronological order):
- Get a Cube rendered on all platforms (everything below should be considered cross platform).
- Get network / inputs.
- A standard lib to start with (emphasis on quick prog over perf at this stage - Stax?)
- Math Library (a correct one, not an optimized partial implementation full of tricks)
- Adapt importers of a generic format (cross plateform version at this stage).
- Choose a representation for the end user to work with and an event system to hook behaviors.
- Unit test for non-graphical classes
- Get UI.
- Get sounds.
- Get managed data cache (to evaluate).
- Get Physics.
- Get hierarchy and animations.
- Get proper streaming. (explicit and/or on demand design).
- Get skinning / morphing
- Unit test for graphical classes
- Get plateform specific speeds up on some features (unzipping, reading data formats, etc..).
- Plateform specific data generation.
I hope it brings you ideas..