Pigeon Hole Stepping v2

Pigeon Hole Stepping v2

I had originally written an article on how to implement PHS here. Having found the maps generated slightly redundant I decided to take another look. Here are the steps taken to successfully generate a more realistic "town." It's essentially a drunken walker like Diffusion Limited Aggregation mixed with a hallway constraint that mimics the large part of PHS.

  1. Start somewhere in the middle, add this and all possible directions up to a certain dynamic length (I used a standard deviation of 1.4 with a mean of 5, ) as nodes: [{x,y,direction},...].
  2. We will be looping until all nodes

Read More

Generating Ancient Ruins

Generating Ancient Ruins

While creating algorithms for random continent generation, I came across an old algorithm I had worked with called Coupled Map Lattice. Using that to create a continent was hard but I was able to accomplish it doing layers of filters:

  • generate map with noise between -1 and 1
  • apply CML using Spatiotemporal Intermittency settings
    • (a = 1.75, ε = 0.6)
    • I found that using something too chaotic didn't have a noticeable affect compared to just generating noise in general.
  • normalize values to between 0 and 255
  • apply a gaussian blur
  • normalize values to between 0 and 1
  • apply slight height

Read More

Pigeon Hole Stepping

Pigeon Hole Stepping

For 7DRL this year I developed a new map generation algorithm called Pigeon Hole Stepping.

Fill the map with walls

This map generation algorithm relies on negative building techniques. This concept will make more sense as the later steps are explained.

Dig Hallways

Essentially, we can assume that hallways that are parallel to each other are at least the length of a single room and up to two rooms apart in distance. Because of this assumption, we can make a random walker that will move around with this restriction in mind until map is filled completely.

Allocate Rooms

Assuming the

Read More

ETB v4 Showcase

ETB v4 Showcase

Update, January 7th 2017

This showcase is now a debugging: true flag inside of Exploring The Bleak on engine.scene.viewport.

Original Post

Since beginning the fourth version of this game, I've always had it in my mind that testing, particularly Test Driven Development should be a guiding factor in how it should be made. Many projects get scrapped because their scaffolding is bad or their design lacks the proper structure to allow growth. Exploring The Bleak is not a tiny Javascript game, so structure is important.

I'm scaling a testing application for ETBv4 as features are added to the

Read More