The Bestiary


Over the past week, I have been developing a system for the game to track player kills and unlock data logs based on enemy kills. These data logs are permanently unlocked and saved to the the players specific save file. There were many issues involved in making this system fully functional including: UI functionality, player input, game pausing, player action tracking, and player data saving. While this piece of the game is completely optional, I feel that it was necessary to add so that the end user could better understand the world and feel rewarded for encountering and fighting new enemies.

To explain my solution lets step through the important parts listed previously. UI functionality was implemented by a combination of stopping the enemies delta time and toggling off the players controls. Once the game was paused the game manager needed to be told that the game was paused and hand over control to the UI.  This was the framework for accessing the bestiary from the pause menu. More importantly the stat tracking. Enemies all have ID's assigned to them now. Upon defeat the enemy's ID will be passed to the game manager to then be parsed by the save manager to retain that that enemy's ID is active in the bestiary. Some enemies do not ever get destroyed by the player though. For niche scenarios like this the unlock method is different, but not unintuitive so that the player will probably unlock the bestiary entry after interacting with those enemies without even knowing. The way that saving was handled was passing the enemy ID information to the save manager as previously stated. When the bestiary was loaded, it will access the save manager and updated its own array of entries based on the save data. This will accurately black out the locked entries and show the unlocked entries.

Leave a comment

Log in with itch.io to leave a comment.