UI Layout Algorithms

Roguelikes tend to have a lot of UI. And, frequently, it's fiddly UI—there are lots of things to display, with deep and complex information. So UI layout is a pretty important part of building a roguelike. Nethack's inventory and status line UICogmind's part list UIThe advanced inventory UI in…

Terrain generation in Minecraft

The procedural terrain generation in Minecraft produces stunning results, and the worlds it creates have captivated millions. Underneath the hood, it's actually a fairly straightforward algorithm driving all the complexity and variation in Minecraft's infinite worlds. In this post I'm going to break down how one important stage in Minecraft's…

Adrift map generation: WFC for rooms

In my last post on Adrift's map generation, I noted that the binary space partitioning technique that Adrift uses produces arbitrarily-sized rectangles for rooms. Generating the contents of rooms that aren't a standard shape is a bit of a challenge. Games like NetHack and Cogmind get around this by having…

Adrift: Fragments

You wake up alone on a broken colony ship. You're starving hungry—how long were you asleep?—but the door won't open. You'll need your wits about you to take apart, diagnose and repair the ship's limping systems, stay alive, and figure out what the hell happened. I was looking…

Adrift map generation: binary space partitioning

I've been working on map generation in Adrift this week. I've been through a few different unsatisfying iterations of the map generation code and I'm finally feeling like I've encountered a rich algorithmic vein, so I wanted to write a little bit about what's been working. The world of Adrift…

Soul food

There's a lot in this verse. I think Laozi is wrestling with the nature of the world—there are bad things, ugly things, hard things. Why? Because without them, there would be no good things, beautiful things, easy things.…

Taoing

I first encountered the Tao Te Ching when I was 22 years old. I don't remember how I came across it. Maybe I'd heard that it was a book of wisdom, and decided I could use some of that.…

Eudaimonia

I think of myself as a creative person, in that I find pleasure in creating, and I'm drawn to the act of creation. I want to bring into the world things that weren't already there. I know that to be true about myself, but why it's true is elusive to…