The first thing I did this week was throw together a rough list of the programming tasks remaining to be done:
- Game-state changes (recording defeated enemies, found items, triggered events, etc)
- Attack registration and collision with entities
- Dialogue management
- Text captions
- Animation registration points and derived effects
- Improvements to Tile Editor:
- Option to automatically link tile appearance to tile shape
- Fix alignment issues w/ menus and dropper
- Add ability to invert collision mesh within selected area
- Manage loading levels better (consistent & simple) – currently is inconsistent and unreliable
- Manage loaded level assets (particles etc) better – figure out when the best time to pre-load is
- Main menu
- Load game
- Multiple profiles
- Improvements to Particle System
- Can be spawned by entity events
- Can play sound
- Collision with defined shapes (must be efficient)
- Spawn masking
- Dynamic zoom?
- Graphics post-processing? (offload to C++ sub-program?)
- Special effects
- Reflective floors
- Water reflections/rippling
- Screen shake
- Basic lighting
- Lighting editor?
The second thing I did this week was tenuously start working on one of these and get completely sidetracked onto something else that I thought was interesting. I ended up spending several days in a row developing a class for working with colors, one which I kept coming up with ideas for, new features and optimizations and improved interface tweaks and so forth. I actually still have several ideas for additions which I may revisit at some point, but for now I’m moving on.
So, first up I’m going to be tidying up and adding a couple of features to my tile editor, then I’m probably going to start figuring out attack registration since that’s the only missing component of the core gameplay. Maybe it’s kind of weird to get sidetracked for a week on making a fancy color class, and it may be a long time before that work ends up paying dividends if ever, but I’m still happy I spent that time on it. It was good practice, and it added another tool to my growing toolbox – one I will probably find many uses for in the future.