• 7 Day Roguelike 2016: Polish

    Tonight I finished the level generator, adding weapons and items. I fixed a bug in my recursive shadowcast implementation causing strange behaviour when looking at the edge of the map. I tweaked a couple of mechanics, namely:

    • explosions destroy nearby walls regardless of whether one side is pressurized
      • this is unlike bullets, which only damage walls if one side is pressurized and the other isn’t
    • flames from the flamethrower don’t stop when they hit an enemy
    • doors can’t be closed if there is an enemy standing in the way
    Read more...
  • 7 Day Roguelike 2016: Pathfinding

    The most notable change from tonight is that I turned on pathfinding for NPCs for the first time. Up until now they had been stationary, and could be injured or killed, or affected by vacuum, but could never observe the world or take actions. Enabling AI is scary because it greatly increases the amount of work the computer is doing between human turns. The vision system is now running once per NPC turn as well as the player. Then there’s the additional cost of pathfinding for each NPC. I use Dijkstra maps for pathfinding which are explained in detail on roguebasin. This post is about solving a performance problem introduced by all the extra characters.

    Read more...
  • 7 Day Roguelike 2016: Procedural Generation

    This is my second attempt at a procedurally generated space ship. The first attempt involved generating the hull first by starting with a large rectangle and stripping smaller rectangular pieces away until I got something roughly hull-looking. I would then attempt to fill the hull with rooms. Adding rooms to a preexisting hull proved messy and prone to difficult edge cases.

    Here’s what it looked like at the point where I gave up:

    Read more...
  • 7 Day Roguelike 2016: Day 1

    It’s one day in. Here’s my progress so far!

    Read more...