The first full week of the new year was a productive one!
Autoexplore
Players can now explore the dungeon with autoexplore. Pressing the autoexplore key finds the closest unseen cell adjacent to a seen cell and moves the player to it. Autoexplore stops when new enemies or items are revealed. I wasn’t sure if I wanted to include this feature, but after recently seeing reviews of other games that had complaints about the lack of autoexplore, I decided to add it on a whim.
Keyboard Input
I began working on keyboard input, one of this year’s new goals. It was already possible to open and close panels and use hotbar slots using keys. Now movement, switching between melee and ranged weapons are possible with keys. Hotkeys are now displayed in tooltips. I was surprised by how different the game felt when moving the player character using the arrow keys instead of the mouse. I actually preferred the former, especially in rooms with a bunch of breakable objects.
New Content
Another 2026 goal is to create one piece of map content every day.
- Room types (6): Boarded Up Rooms (Single Coffin, Animated Bones and Gold, Skeletons and Chest, Beast, Cave In), Crates with Spiders, Animated Furniture
- Objects (5): Fog, Roots, Vampire-Spawing Coffin, Crate with Spiders, Empty Cauldron
- Enemies (2): Animated Chair, Animated Table

Corridors Connected to Many Rooms
One of Legend’s design goals is to procedurally generate maps resembling classic RPG dungeon maps. While the map generator is largely capable of doing this, there are some limitations. One of those limitations was that corridors could only be connected to rooms at the ends. Many handcrafted maps feature long hallways connected to multiple rooms. I made all the walls in a corridor, not just the ends, able to connect to rooms.

Bug Fixes
I burned two hours on an issue that prevented doors from being replaced with boarded up doors during map generation. It turned out there were not one but three separate bugs behind this: 1) only cells inside the room were considered as placement candidates (doors are on the outside of the room), 2) a default location was being incorrectly added and chosen (this works correctly when adding new content but not replacing existing content), and 3) the door was being removed from the cell, but the associated GameObject wasn’t being destroyed (this logic occurs through a separate code path).
It’s always fun and beneficial to look back at the year’s progress as a whole, and get encouragement and feedback from the roguelkedev community.
Next week, I’ll:
- Review the design goals, assessing current progress and refining
- Add keys, locked doors, and locked chests.
- Continue adding new content daily
- Continue adding keyboard support

