The primary achievement this week was adding experience points and levels. I intentionally excluded experience points and levels from the design because I wanted to minimize player stats and base progression on items, and I felt that it was illogical for player characters to improve so significantly in a single dungeon. However, when playing the game, combat often felt like a hindrance; it slowed me down and forced me to expend all of my resources while offering little in return. Some enemies dropped loot, but many didn’t. Most of the time there was no incentive to fight other than avoiding dying. I theorized that awarding xp would help. To test this theory, I had the text “50 XP” appear over enemies after they were killed. This immediately felt better. Now, I was being rewarded for my efforts every time I won a battle. That was enough to convince me to implement the feature. The implementation was composed of the following changes:
- New player attributes for xp, level, and ability points. Display on the Character panel.
- New enemy attribute for xp value.
- New player class attributes for the max health/stamina/magic increases each level.
- Define xp needed for each level.
- Each time the player receives xp, check if the player reached a new level.
- Update ability points, max health/stamina/magic when the player levels up.
- Display message and play sound effect when player levels up.
- Display message when a stat’s maximum value changes.
- Display text above slain enemies indicating xp awarded. A sound effect is also played but I’m debating whether I’ll keep this.
- Only allow new abilities to be learned if the player has enough ability points. Display message if player doesn’t have enough ability points.
- Consume ability points when learning a new ability.
- Display player level instead of dungeon level for saved games on the Continue screen.
Last week’s map generation analysis revealed that some enemies and items still appear too often or not often enough, despite my efforts to fix this. I now understand the problem: there are too many places in the map generation configuration to set probabilities. Every history event, every map element, and every entity can have a probability set for each dungeon level. Additionally, many history events only occur when triggered by other events. This was a case where maximum flexibility backfired. I removed probabilities at the entity (enemy/item) level. I’ll now use history events exclusively to manage the probabilities of entities appearing.
The remaining tasks for the demo are:
- Major bugs fixed: 85%. No progress.
- Balancing: 75%. No progress, although the simplification of entity selection will make it easier to control enemy and item distributions.
Next week, my main goal is to complete balancing. The remaining time will be spent on bug fixing.

