My new mantra is “always maintain a playable game.” At any given time, the key features should all be working and playing the game should be a complete, coherent experience. I have a habit of breaking systems and putting off fixing them while I focus on specific aspects of the game. I’m adjusting my approach so that I maintain the core experience and expand out from it in bite-sized chunks. The intent is to get to a public release sooner and iterate faster on gameplay refinement.
This Week’s Achievements
- Restored moving back and forth between levels. This got broken months ago when I overhauled how actors interact with objects. This was fairly straightforward to get working again. I just had to add a new action type for when a player clicks on a stairs object.
- Music manager. To support music and sound effects needing to play across a scene transition, I added a music manager object. It’s basically just an object with DontDestroyOnLoad enabled to preserve it across scenes.
- Hotbar improvements. Starting usable items and usable items that are picked up are automatically added to the hotbar.
- More sound effects. Healing, ghosts appearing, walking on rubble, starting a new game.
- Added tooltips for game buttons. Hovering over the main game buttons now shows a tooltip explaining the button’s function.
- Miscellaneous visual effects. Items now spin when thrown. Poisonous gas is now translucent.
- More bug fixes. On average, bug fixing continues to take less time after the last code redesign/refactoring. I haven’t found anything that needs to be reworked in a long time.
- Rethinking level generation. The BSP algorithm I’m using to create and place rooms doesn’t work well with how I want to populate levels. I spent many hours this week researching and thinking about different approaches.
Next Week’s Goals
Next week, I’ll spend more time rethinking level generation and hopefully starting coding on a new approach.