• Weekly Update – August 21, 2026

    Attributes Wired Up

    The stat modifiers affected by attributes (Might, Agility, Insight, etc.) were fully configured, but never wired into the game. Attribute scores now determine many stats such as HP gained per level, maximum pushing weight, trap detection chance, and base evasion.

    New Abilities (10)

    These were a lot of work because half of them required new archetypes (custom coding).

    • Chain Lightning: Lightning bolt strikes multiple nearby targets.
    • Ricochet: The equipped arrow or thrown weapon strikes multiple nearby targets.
    • Anchor Stance: Immune to Push and Pull.
    • Double Jump: Jump twice in one turn.
    • Long Run: Like Run, but increased distance.
    • Quick Recovery: Stun status reduced by 1 turn.
    • Combat Acrobatics: Moving 2+ cells in one turn applies temporary Nimble status.
    • Knock Down: Applies Knocked Down status to target.
    • Parry: Applies Parrying status to self.
    • Giant Slayer: Hit chance and damage bonuses when attacking larger sized enemies.

    New Status Effects (3)

    • Knocked Down: Actor can’t move until performing the Get Up action.
    • Nimble: Evasion bonus.
    • Parrying: Next attack is blocked.

    New Combinations (3)

    • Potions + Arrows (Fear, Slowness)
    • Cure Poison + Poison Puddle

    Minor Enhancements and Bug Fixes

    • The screen now shakes when destroying walls.
    • Furniture monsters got more dangerous. Chairs have Charge ability, Tables have Shove.
    • Terrain modifier values are now good/bad color-coded.
    • Enemies not using all available abilities.

    Next week, I’ll continue adding new abilities and room types.

  • Weekly Update – August 14, 2026

    This week, I went down the optimization rabbit hole to speed up map generation. I still didn’t get around to replacing the missing sound effects. 

    Map Generation Optimization

    Average map generation time shrunk from eight seconds to one second. The improvements came from caching, early filtering, and short circuiting.

    Sample map generation stats

    New Content

    • New theme: Temple.
    Temple theme
    • New room internal structures: Perimeter Grid, Fine Grid, Triple Grid. These provide more varied and interesting spaces in some rooms.

    Next week, I’ll focus on adding content, mainly sound effects, room types, and abilities. I’m also on the hunt for an artist again.

  • Weekly Update – August 7, 2026

    I didn’t follow my plan for the week of fixing missing sound effects and weird enemy AI behavior. Playtesting led me in many other directions.

    UI/UX Enhancements

    • Dots indicating the path the player will take when moving to the hovered-over cell are now shown.
    Path dots
    • Double-clicking, rather than single-clicking, is now used to use an item in inventory.
    • Double-clicking can now be used to equip/unequip items.
    • The actions performed when moving using a keyboard or gamepad are now limited to specific action types. Previously, the default action would always be performed. This is underdesirable for certain actions such as drinking from a fountain or praying at a shrine.
    • The Ability panel now closes when an ability is selected.

    Improved On-Screen Log

    Improved Log
    • Enemies, items, and attacks are now colored.
    • Child log entries are now indented.
    • Hovering over an attack or item shows details in a tooltip.

    New Abilities

    • Battlefield Awareness: attack of opportunity immunity.
    • Disarm: disarms an enemy, dropping their weapon 1-2 cells away.
    • Raise Skeleton: converts a pile of bones to a skeleton.
    • Raise Zombie: converts a humanoid corpse to a zombie.
    • Fire Lash: creates a line of flames.
    New ability: Fire Lash
    • Fire Ring: creates a ring of flames around the caster.

    New Objects

    • Caster-Friendly Fire. A variation of the Fire object that doesn’t harm or propagate to the caster. This was needed for the Fire Lash and Fire Ring abilities.

    Ally AI Type

    To support summoned allies, I had to create a new actor AI type. Ally AI a variation of the standard enemy AI that follows a specified ally. This was needed for the new summoning abilities. 

    Minor Enhancements

    • Enemy selection for a level is now automatic, based on the enemy’s dungeon level and challenge level values.
    • Player attacks on stationary objects no longer miss.
    • Certain status effects such as Fear now prevent Attacks of Opportunity.

    Bug Fixes

    • Game loading stopped working.
    • Returning to a previous level stopped working.
    • Attribute allocations aren’t being saved.
    • Arrow keys perform subsequent actions too quickly, such as taking an item and moving to the cell.
    • Autoexplore doesn’t avoid webs.

    Finalized Enemy List

    I’m starting to work on all the levels of the dungeon and need to determine the enemies appearing in each level. The final enemy list contains 124 enemies excluding bosses. The average number of new enemies per level is 6, though lower dungeon levels have more enemies and higher levels have fewer.

    Next week will be a lighter week due to some travel. The plan is: missing sound effects, more new abilities, building out the remaining enemies.

  • Weekly Update – July 31, 2026

    The week started with a new map generation feature and ended with QoL/UI enhancements.

    Room Group Modifiers

    Modifiers can now be applied to every room in a group, enabling the entire map or portions of the map to be stocked with similar content, or modified in a similar manner. This allows natural disasters such as floods, earthquakes, and fires.

    New History Events

    • Flood. The entire map or portions of the map can now be flooded using the new Room Group Modifier feature.

    Game Over Panel

    The player gets a proper roguelike death now with some run stats. No morgue file yet.

    Game Over Panel

    Minor Enhancements

    • Available Attribute and Ability Points now shown in the button panel. This makes it obvious the player has points to spend.
    Attribute and Ability Points on button panel
    • XP award given when reaching a new dungeon level.
    • Level names procedurally generated. It’s not very sophisticated yet. It simply chooses a random adjective and noun from a list.
    • Key/button for targeting enemies. Pressing multiple times cycles through the visible enemies.
    • Pressing the Enter key performs the default action on the selected cell (previously this only worked in Look mode).
    • Escape turns off Look mode.

    Next week, I’m focusing on fixing open issues: missing sound effects, weird enemy AI behavior, and miscellaneous bugs. I’ll also configure the enemies placed in levels 2 and 3.

  • Weekly Update – July 17, 2026

    Third highly productive week in a row. That may be a record for 2026.

    Key Binds

    Keys can now be remapped in the game settings. This started out as wanting to display what each key did. I reasoned, after the new UI panel was built, that it wouldn’t be that much more work to support binding actions to different keys. Not true.

    Loot Adjuster

    This is a new step in the map generation process that adjusts loot quantity and quality. It upgrades items behind locked doors and adds items to empty locked rooms. It also adds torches based on the number of floor cells to ensure the player has enough light sources (I was consistently running out during playtesting).

    New Enemies

    • Cultist Knifethrower. Level 1 needed an enemy with a ranged attack.

    New Rooms

    • Extremely Random Room. This is a variation of the standard random room that performs more room modifier iterations to produce rooms that don’t make any sense but can have interesting and unique gameplay due to the combinations of elements. They only occur 1% of the time. It was just an idea that popped into my head and I decided to add it into the game because it was easy to do so.

    Minor Enhancements

    • Better loot behind locked doors.
    • Blue Slimes that are killed before they’re split leave two puddles behind instead of one.

    Bug Fixes

    • Sometimes stairs are placed next to doors.
    • Open doors can be closed when there is an object in the doorway.
    • When running, actors don’t get caught in webs. However, I wonder if I should leave this in — one of those bugs that becomes a feature.
    • Sometimes keys aren’t generated for locked doors near the start.
    • Chairs can’t be attacked.
    • Pray isn’t the default action for a Shrine.
    • Rats avoid disadvantaged cells (only smarter enemies should do this).
    • Torches are consumed when combining a torch with another entity.

    Next week, I’m traveling and don’t expect to get much done.