My day job has also been an early morning and late night job of late. Giving up early mornings has cut deeply into dev time, as this is my largest block of free time in the day and when I’m most productive. After these longer work days, I’m typically too brain-fried to do the level of thinking that game development requires. My weekend was packed as well, so there’s not much to report this week.
- New sound effect hooks: secret revealed, actor movement (can be based on a sound the actor makes, floor type, or objects on the floor such as bones), item conversion, actor death. A hook is a call in the code to play a sound effect for a given object and sound effect type. Objects such as actors and items have dictionaries of sound effect types and audio clips that are used by a hook to play the right sound effect at the right time. There are also shared sound effect dictionaries for objects such as physical materials, and universal sounds. This framework enables sound effects to be configured through the design tools and makes it easy to add new points into the game at which sound effects are played.
- Added more sound effects. My sound effects come from 3 or 4 Unity asset store mega sound effect packs. The quality varies widely, and despite having 1000’s of sound effects to choose from, I’m still often unable to find one that is applicable. The volume also varies widely; while playing the game, some sounds are much too loud and others are barely audible. Next week, I’ll read up on managing sound effect quality and I’ll look for some more sources.
- Thinking about how to make melee combat more interesting. Now that real damage and armor values are in the game, I’m experiencing battles where I’m repeatedly bump attacking an enemy with lots of HP’s. It’s boring. An idea I’m considering is multiple attack types, perhaps a quick attack that could be performed twice in one turn and a power attack that takes two turns to perform. I’m also considering enhancing the AI to prevent intelligent enemies from being kited.
- Bug fixes, minor improvements, and refactoring
- Braziers placed on top of bookcases during map generation. This was an example of a larger issue, which was that entity placement wasn’t checking for the presence of existing, conflicting entities in some cases. The underlying issue is that there are multiple sections of code where the check must be applied, and I missed some of those. My quick fix was to apply the check where it was missing, but the better solution is to centralize the check and eliminate the redundancy.
- Debug console command to dump the current turn state and actor action manager state to the log.
- Removed the code using item-based physical material sound effects, since these sound effects were moved to the physical material definitions last week.
I’m traveling most of next week. I’ll crank out as much as I can this weekend, before I head out. There are some game-breaking bugs involving action cancellation and concurrency that need to be fixed. Also, I’ll add more sound effects. I may experiment with some of the ideas I mentioned above to improve melee combat.