

The maps get slightly larger for later levels, and the contents of rooms change, but the layout algorithm is essentially the same every time. The game itself is a linear progression of such levels, typically two per “chapter”. With the exception of the secret room, there are no loops in the dungeon. Several rooms are special – there’s always a shop, reward room and boss on each floor, and a few other special rooms are randomly picked too. It’s a bunch of square rooms that connect adjacently to each other. Isaac is heavily inspired by the 2d zelda games, and generates maps similar to their dungeons. Given his write up, this article is somewhat redundant, but if you want the gory details, press on. Check out his whole channel for development details on his latest game, Squid Invaders. In fact, Florian has recently made a video describing the algorithm. Though I did work through a decompilation, and brush up on my rusty knowledge of Flash (I wrote my own actionscript decompiler back in the day), I was also very fortunate that Florian Himsl, the developer of Isaac, and Simon Parzer, one of the key developers of Rebirth, were both happy to answer my questions. In this article I go over how the generation works, including a Javascript demo. To my suprise, most tutorials get it wrong. I’ve seen countless tutorials online offering how to do Isaac-like generation, but I was interested in how the original did it. The dungeons it generates are particularly iconic. It’s a roguelite twin stick shooter, much like Enter the Gungeon. The Binding of Isaac, and its remake, Binding Of Isaac: Rebirth are one of my favourite games of all time.
