I’ve been spending more time on Yendor, which you can play here: play.madcoretom.com/yendor


The light levels are calculated using Dijkstra’s algorithm, based on the distance from the player. NPC pathfinding can also use this data to find the direction to walk towards the player

Room Generation

There are a number of room types, which are constrained by the generated room shapes and then randomised. At this stage, I have:

  • Hallways – long rooms that contain a Goo monster, and paintings on the wall
  • Spike Rooms – that are packed with spikes
  • Storage Rooms – The centre is full of crates, that might contain cakes
  • Furnished Rooms – Medium sized rooms with chairs and a flame NPC
  • Stair rooms – Same as furnished rooms, with stairs that will link to the next level, downstairs

A Sword

You can’t see it, but it damages everything in the surrounding squares. Flame monsters die and crates are opened