Nine Day Game, Day 7 - A Snail's Pace
I've been feeling the effects of my early design decisions over the past few days. With this being the most involved game engine I've written, I've definitely suffered from the lack of experience, meaning most of Day 6 and 7 needed to be spent correcting those problems. This means that on the 3D side, a bunch of the requirement that we've needed to implement are far overdue, and are hurting our chances of meeting the Sunday deadline. The goals for Day 7 were:
- Finish the code cleanup in the 3D engine
- Finish building the menu system for inventory and character management
- Begin work on the options screen
- Finish the action scheduler
- Write the functions to handle combat
Thankfully, I managed to complete all the code cleanup that needed to be done in the 3D engine. The problem was that so much game logic was in there that we would have needed to start writing a whole bunch of APIs inside the engine for controlling the game, which means the engine would be much less portable. With these changes, I feel pretty good that we could pull out the engine and use it to save us 4 or 5 days of work on a future game!
Unfortunately, I got hung up implementing menus due to my imperfect knowledge of C++, the language we're developing in. I haven't seen enough of the Design Patterns to know them by heart, so much of the day ended up being spent consulting StackOverflow and Effective C++, two resources that I can't recommend highly enough.
Ryan made slightly better progress than I did, finishing off the action scheduler and continuing to work on the combat systems. He also implemented our first special ability, the spin attack, that hits all nearby enemies.