Code Optimization: Dungeon Mechanics & Quality Assurance


It's been a long time since the last devlog post. In fact, too long. FOUR MONTHS?! Woah. I owe you guys another one, it's about damn time, so here's an update of what's going on with the gamekit and the progress of it.

I finally realized that I am better off not rushing the optimization and final development of the gamekit, especially for quality assurance. Back when I was working on the 'code optimization' stage, I didn't actually pay much attention to the apparent 'health' of the eventsheets so it was more just skimming through and fixing/removing what was obvious. For example, I did not notice how bad and clunky the dungeon  door-warps were, so I probably wouldn't have been able to catch that design flaw otherwise. It's probably a good thing that I'm taking my time with the variable dictionary conversion since it's affording me actually to optimize the codebase better.

Some minor changes first, the player now starts in a dungeon if they last saved in one, as a nice small quality of life improvement. Secondly, a spawnpoint system has been implemented, so the game will now choose spawnpoints on a map based on what the previous location is.

Anyhow, onto the actual changes and improvements made with the dungeon mechanics.

As stated before, I made a pretty major improvement to dungeon door-warps, where it was previously a bunch of repeating events. It's now all one singular event, and so, is cleaner and far less clunky.

I was gonna mention this first but the following change is arguably the biggest change in this update. The gamekit now dynamically creates the HUD/inventory/etc at the start of every layout, so this pretty much solves most HUD bugs from before, such as the HUD not appearing if resuming a save in a dungeon.

Camera zones have now been given a per-instance variable that is a "room-ID". It's a simple function but it allows developers to check the player's sub-location, if in a multiple-room location like a dungeon. It's useful, whether for the function of a map marker or having events that are specific to one room.

Lastly, for cleanliness and organization, events supposedly unique to a dungeon have been sorted separately into their own event sheet. Dungeons will still use the Dungeon Mechanics eventsheet, but now dungeon layouts use their own corresponding eventsheet but include the Dungeon Mechanics eventsheet in their own eventsheets.

Leave a comment

Log in with your itch.io account to leave a comment.