So I've hit the deadline for the second milestone of my project (technically it's tomorrow, but I'm not going to exactly get much done between now and then).
Anyway here's a summary of the progress made, and what I'm working on next.
Requirements
- Entity spawning and placement (done)
- Basic collisions (done)
- Room connectivity (partially done)
The last one is only partially completed as it ended up being less of a priority than anticipated, and will instead roll over to the next milestone.
Delivered
Here's everything that was delivered since the last milestone.
- Initial pass for node properties
- Node context menu and entity class selection
- Surface inspector
- Entity spawning is now hooked up, along with basic entity simulation logic
- Face smoothing
- Ray vs. poly + plane tests
- Sphere vs. poly tests
- Console input history
- Console notifications
- Entity component serialisation and deserialisation
- Transform-relative culling and scene transforms
- Further expansion of validation between client and server
- Rough rope collisions
- ACM has been moved into an external library
- Rough camera collisions
- Spotlights
Mind these are just the highlights.
I also spent quite a bit of time removing things recently, because they were out of scope and taking up more time than they were worth. For instance I had a UI framework that allowed you to create various panels, attach widgets to those panels, and move them around with the mouse, with a stylesheet system.
The only things I've retained of that is the font API and the "canvas" API which essentially is just a simplified off-screen rendering layer on top of the render target API the engine provides.
I'm trying to be a little bit more wary about what I spend my time on and what benefits it'll actually have to the project. Which, with a brain like mine that wants to do something new every five minutes, can be a struggle.
A couple of minor bits relating to the game are below, but still not much I want to show or talk about yet.
Milestone 3
Milestone 3 is a bit more ambitious, and is set for May 5th. It's more focused on the game itself.
- Third-person camera
- Inventory and weapons
- Controllable player pawn
- Decals
- Further geometry editing work for editor
- Room connectivity
I've already started on some of these, so hopefully you'll see (or at least read) more about that over the course of the month.