Remaking an Old Game in OCaml

After finishing up my PhD, I was finally free after all these years to pursue things other than my main research topic. OCaml is a lovely functional language that I became quite enthusiastic about during the first stage of my PhD work, and I’d always had a passion for games and for reverse-engineering. In fact, I’d underestimated my passion for reverse-engineering and tweaking bits and bytes. If programming is a creative outlet where you make stuff work and watch in amazement as it does, reverse-engineering is a very different sort of pursuit – closest in my experience to assembling a jigsaw puzzle. When you work on a jigsaw puzzle, you see only little bits of the big picture at a time. As you put together more and more of the picture, you keep guessing at the role of different elements, until the final ‘a-ha!’ escapes your lips and you see how the pieces fit in the big picture. If you’re the kind of person who likes working on 1000-piece puzzles (especially without peeking at the box), you’ll LOVE reverse engineering.

Anyway, I’ll talk about that stuff later. First I want to talk about the second part of my work: after you’ve reverse engineered a sufficient chunk of the game, you can now start putting it together again. In my case, I don’t want to deal with some low-level language like C or C++, but rather to see if I can streamline the process by using a modern high level language like OCaml, which I like anyway. OCaml is a very popular choice in compiler circles, but is less commonly used for the kind of realtime programming required for games. This is due to the simple reason that functional programming, while safer overall, tends to be less efficient than good old-fashioned imperative code. There aren’t a lot of guides on writing large OCaml codebases, and especially on integrating functional concepts into your code, so hopefully my thoughts can provide some value. Here are some issues I’ve been pondering while working on this stuff:

Frontend vs Backend

One of the nice things about functional programming is that the code is fairly malleable. Avoiding the hierarchies of OOP (Object-Oriented Programming) means I can shift things around and build up my code bottom-up without having to do a lot of up-front design. I really like this style of programming – it goes together nicely with my affection for puzzles. Gradually introducing new elements into the picture may eventually force a refactor, and I’m more than ok with that: OCaml’s strong typing assists me with finding all the spots that need to be updated.

Nevertheless there’s one top-down design decision I realized fairly early on I’d want to adhere to, and that’s the separation between frontend and backend logic. These concepts weren’t nearly as thought out in the past as they are in today’s world of Internet clients and servers. From the perspective of reimplementing a game, I would like to keep the options open for separating the game server from the game client, allowing for the addition of multiplayer later on. Even if I don’t end up implementing multiplayer, it’s a pretty good principle for separation of concerns, as it allows me to completely switch out the UI if I want to while keeping the game logic intact. I therefore made it so that everything the frontend (UI) wants to do has to go through the Backend module, whether it’s a direct function call or an indirect message. Nothing can be accessed client-side behind the iron curtain that is the Backend without asking the Backend for permission.

Functional vs Imperative

This is one of the most interesting topics for me as I write this code. I like functional code: it’s localized and mostly side-effect free. But unfortunately, it’s just not a great fit for real-time performance. Functional data structures are allocation-heavy and each update requires even more allocation. One of the cool aspects of programming this game in a functional language is trying to figure out which parts need imperative-level performance, and which ones can settle for a functional approach. In general, I try to think of how often different modules will be called: if it’s something that’s called every game tick like a state update based on time, it’s probably going to have to be imperative. But if it’s something related to player input (which is relatively slow) – something like mouse events or menu code – then we can afford to write it in functional style. Regardless, I’ve found that it’s best to write the wrapping code in a functional style regardless i.e. have functions return the data structures they are given, even if they update them imperatively. This allows you the flexibility to use either functional or imperative style inside the modules or functions.

Loop vs Threading

I’ve chosen to write the code in the old fashioned game-loop style, where one main render loop updates the code and then paints the screen. Here’s what it looks like:

let main init_fn =
  let zoom = 2. in
  let win = R.create 320 200 ~zoom in
  let event = Sdl.Event.create () in
  let some_event = Some event in (* For reducing allocation with SDL *)

  let data, v = init_fn win in

  let rec event_loop data (last_time:int32) =
    let has_event = Sdl.poll_event some_event in
    let event =
      if has_event then Event.of_sdl event ~zoom else Event.NoEvent
    let render_wait_time = 30l in
    match event with
    | Quit -> Result.return ()
    | _ -> 
      let data, stop = v.update data event in
      let data = v.render data in

      let open Int32.Infix in
      let time = Sdl.get_ticks () in
      if time - last_time < render_wait_time then
        Sdl.delay (render_wait_time - time + last_time);

      Sdl.render_present win.renderer;
      if stop then
        Result.return ()
        event_loop data time
  ignore(event_loop data @@ Sdl.get_ticks ());

  Sdl.destroy_renderer win.renderer;
  Sdl.destroy_window win.window;
  Sdl.quit ();
  exit 0

Under this model, you update the game world a little bit every time (v.update), and then render it (v.render). The downside of this approach, it turns out, is that short-term state such as animation state has to be saved explicitly into your globals or, in this case, your passed-along state values. Every bit of state has to be maintained across calls from the main loop. An alternative design would use either green threading or system threads, locking the state during updates, with the advantage being that short-term state such as animation could simply be held in short-term local variables. This makes it much easier to write thing like animations, transitions, short-lived screens etc. OCaml offers green threading currently via the Lwt library, but this forces you to use monads – which I’m not a huge fan of – all over your code. Another alternative is to use system threading, which isn’t optimal currently but will be much more powerful in OCaml 5.0. For now, I’m sticking with the tried and true game-loop design, but I may change my mind at some point.

Anyway, I hope to have more to talk about as I flesh out more of the implementation.

Spelunky: The Perfect Game?

It has long bothered me how every time people mention the design of Spelunky (HD and otherwise), they automatically describe how ‘perfect’ it is. In my opinion, Spelunky is a masterfully made game, but it also has some very serious balance issues — ones not understood until you have delved far enough into the game.

Spelunky was a revolutionary game, having created the rogue-lite genre that is so popular nowadays. Spelunky started with the recipe for a platformer and then added ingredients from the esoteric rogue-like genre, which has existed in lo-fi ASCII-based incarnations for decades. Into a Mario-like design, Spelunky has inserted permadeath, procedural generation of worlds, and challenge in spades.

Like all rogue-lites, Spelunky excels in the two basic elements of rogue-lites: variety and challenge. Variety in Spelunky comes from the different situations you find yourself in and the various items you may have in any run.

Spelunky’s challenge derives from the fact that the game is unforgiving: you start with only 4 lives. Traps and enemies will quickly attack you in systematic fashion, driving your HP down to zero. Additionally, some enemies and traps are a source of instant death: you must learn to respect these entities or you will pay a heavy price, and of course, once you die, your run is over, and you get to start from the beginning.

Two more qualities differentiate Spelunky from its rogue-lite descendants: there is no real meta-progression. Instead, within a certain run, you may unlock a new cosmetic character, unlock practice shortcuts for later areas, or fill in your journal. Thus, every run starts out with the same brutal sameness, and unlike Rogue Legacy and its ilk, you cannot grind your way to victory. In return, you obtain a real sense of exploration: you want to encounter new things to fill out your journal and find new characters simply because there is nothing else to attain. Exploration becomes an end unto itself, and the more you plumb the game’s secrets, the more qualified you become to master it.

The second quality that differentiates Spelunky is its obsession with consistent rules. Whatever the rules Spelunky establishes, they’re followed meticulously. For example, if an enemy holds a weapon, killing that enemy will drop that same weapon for you to use. An arrow trap is triggered by you crossing its path, but can also be triggered by any small object or enemy who enters said path. These and many other simple rules allow for systems that interact with each other, and can be used to create complex situations, either to demolish the player or to make him feel like a genius (or just a lucky survivor).

These two qualities make Spelunky what I consider to be the purest type of rogue-lite experience, closer to the original rogue-like genre than just about any other rogue-lite that has come along since Spelunky entered the scene.

Yet another aspect I want to comment on is the player upgrades. There aren’t many upgrade items in Spelunky, but each one is usually more than the stat upgrade found in other games. Each upgrade introduces a new dimension to gameplay, though some upgrades are more meaningful than others. For example, the climbing gloves allow you to act against gravity without a need for ropes. This is a huge advantage, as the player starts at the top of a level and is generally limited to downward movement, and upward mobility is therefore resource-intensive. Another example is the spike shoes, which turn your Mario-style stomps lethal and also allow you to traverse slippery surfaces safely. On the other hand, you have an item like the baseball glove, which allows you to throw items and bombs in a straight, rather than curved arc. This particular item has minimal benefit in-game and is only situationally advantageous.

Less impressive are the weapon items. This is due to the fact that Spelunky only allows you to hold one item at a time, and while your built-in whip is always carried with you, any further weapon upgrade (with the exception of one weapon that replaces your whip) requires you to juggle items if you need to carry anything else (which you often do). This means that any weapon must be balanced against the inconvenience of carrying said weapon. Virtually all weapons, such as the machete and boomerang, barely pass this test. The main exception is one particular weapon – the shotgun – which brings me to my first major balance issue with Spelunky.

1. The Shotgun is Overpowered and Common

Almost all enemies in Spelunky are designed around close combat, due to the fact that your default mobility is limited to small jumps. Large falls both damage and stun you, with the latter usually allowing other nearby enemies to finish you off. Unlike, say, Enter the Gungeon, where your default attack is ranged and you have high maneuverability, Spelunky exists in a different world where enemies move in varied patterns but only really damage you from up close. Additionally, an enemy having more than one hit point cannot be killed easily with the default weapon: the enemy sticks around, ready for you to make another mistake.

The shotgun eliminates all of these concerns. It has near-infinite range and causes massive damage, with 3 pellets spraying out at random yet constrained trajectories ahead of you. The shotgun is easily the most powerful weapon in the game despite the existence of presumably more powerful weapons, since it combines massive damage, near-infinite range, and relative safety for the user. While it has some recoil, players can quickly learn how to adapt to it without falling back into dangerous traps. The shotgun even serves as a mobility enhancer, allowing the user to make a higher jump using its kickback. Most importantly, the shotgun eliminates all enemies before they can even get close to you, no matter what their attack patterns or HP levels are. If Spelunky is a game of both traps and enemies conspiring to kill you, the shotgun reduces it to a game of traps alone, eliminating much of the challenge in the game. It is very much a god-tier weapon.

Normally, there’s nothing wrong with superweapons in rogue-lites. Rogue-lites will have these weapons drop rarely, giving the player a lucky run that feels overpowered. Once the run is over, the player is back to his default power level, and the experience is unlikely to repeat itself. Indeed, the key principle is that the more powerful the item, the more rare it needs to be, to allow for runs that, on average, retain their challenge and variety. And this is where the problem lies. Because although the shotgun is fairly rare in shops and item drops, it can consistently be found in the hands of every single shopkeeper, just waiting for you to take it. And this is a big problem. Not only does this consistently raise player power to massive levels – which is a major misstep for rogue-lites – it also makes it silly to bother with weaker weapons, such as the short-range machete, or even the mid-ranged freeze ray. Every other weapon becomes obsolete due to its inferiority.

2. The AI is a Bad Shotgun Steward

Spelunky allows you to rob any shop in the game by just killing or stunning the shopkeeper. This is yet another mechanic borrowed from rogue-likes. In these turn-based games, you often have the choice of stealing from the shopkeeper, who tends to be extremely overpowered and able to destroy you quite handily as a way to discourage players obtaining items willy-nilly. Still, it may sometimes be worth it to anger the shopkeeper when you have the right particular set of items. Generally, however, you’re expected to fail — robbing the shopkeeper in these games is a desperate measure for desperate times. Seemingly, Spelunky follows the same pattern: the shopkeeper moves around rapidly and shoots like a madman with his shotgun, making it a risky proposition to steal from him.

Before we go on, it’s worth considering that other rogue-lites – those games that descended from Spelunky – have mostly desisted from borrowing the shopkeeper-robbery mechanic. Generally, these other games control the flow of items into the game by having a shopkeeper who cannot be shot, or by just skipping the shopkeeper altogether and giving the player a menu from which to choose to buy items. Why would they do this? Perhaps it has to do with the fact that while coding a strong AI for a turn-based game is fairly doable, doing the same for a real-time platformer is very difficult. This means that in a real-time platformer, humans can learn to take advantage of the AI’s limitations and easily rob the shopkeeper, thus upsetting the balance of the game. Unfortunately, this is precisely what happens in Spelunky.

The shopkeeper AI in Spelunky moves rapidly, but is quite predictable. Countless videos exist of methods to kill or stun the shopkeeper and take his items. Once you do, every item found in his shop, and every shop thereafter, is yours to keep, so long as you can survive. The shopkeepers will hound you at every level exit, which sounds scary, but in fact, their AI is so pitiful, it tends to rarely be a threat. Two techniques are generally all you need to dispatch all further shopkeepers: either approach from above and lob bombs at them (preferably sticky ones using paste, which most players will have obtained), or approach from the side and shoot at them with the gun you obtained from earlier shopkeeper.

See, the shotgun is so very powerful, that not only does it eliminate all enemies, it also makes quick work of the shopkeepers: since the shotgun range is so much greater than the shopkeepers’ aggro range, you can shoot them before they have any idea you’re present. The shotgun’s long range doesn’t assist the poor shopkeepers, however, who stop shooting at you once you’re outside their range, even after being aggro’d.

Most importantly, by robbing the shopkeeper, the player has traded all the danger of every enemy in the game via the power of the shotgun and whatever other items they now stole (and will continue to obtain for free), for the minor danger of being chased by the shopkeepers. This deal is 100% worth it, since the shopkeeper AI is generally unable to pose a danger and usually kills itself.

Spelunky introduces what is known as a Chick Parabola into its gameplay. Normally, the Chick Parabola – coined by Tom Chick of – applies to strategy games. In most computer strategy games, once you learn the mechanics of the game, you become disillusioned with the AI’s inability to play the game itself and realize the mechanics were a veneer of complexity over a game that lacks challenge. Spelunky inserts the same problem into dealing with the shopkeepers. Once you learn how the game really works, you realize the shopkeepers pose no real challenge. In fact, the shopkeepers tend to kill themselves or each other quite often, whether by jumping into an abyss or shooting blindly while running past each other.

The fact that the shopkeeper always has the strongest item in the game for you to plunder is a massive design issue. In effect, there are two ways to play Spelunky. One way is the ‘lawful’ path, where you avoid killing shopkeepers and have to tackle all the enemies in the game and their dangers, in addition to the many traps out to get you. You try to make do with the limited consumables and items you can afford. The second way is the the ‘criminal’ path, where you kill the shopkeepers, immediately get the strongest item in the game (the shotgun), proceed to get infinite resources and items, and easy eliminate every enemy. The former is the ‘wrong’ or hard path through the game, while the latter is the ‘right’ or easy path. Additionally, at any point, you may decide to leave the hard path and enter the easy path.

3. Too many items in shops

In general, rogue-lites don’t like putting too many items in the shops. Remember how we said rogue-lites excel in variety and challenge? Well, the more items the player acquires, the higher the chance that every run starts feeling the same and that the challenge disappears. Also, it’s very hard for any game to keep player money from accumulating, and therefore, the more items a game offers in shops, the more the player tends to obtain, whereas having items drop randomly in dungeons means the process can be controlled using probabilities.

Spelunky features a massive 6-store area called the black market, which you are guaranteed to enter on every run if you follow the by now well-known secret path through the game. Since this area occurs early in the game, the player tends to not have amassed so much money by that point, thus reducing the normal rogue-lite concern of excessive shops. Additionally, to proceed through the secret path through the game, the player needs to buy a very expensive item in the black market, leaving very little money for anything else. Seemingly, there is no problem here: average player power is contained. However, given the fact that the AI is trivial to dispatch, the black market represents a unique opportunity to obtain countless items and resources, thus assuring the player of a run full of plentiful consumables and virtually all the upgrades offered by the game. Additionally, The black market has a fairly static map, allowing for easy robbery even without having obtained the shotgun. After dispatching the first few shopkeepers, their shotguns are readily available for massacring the remaining shopkeepers.

All of which means that thanks to the black market, every run ends up looking pretty much the same as any other one. You will obtain just about all the items for free, including the all-powerful shotgun. There goes variety, and with it goes a big part of the challenge as well.

4. Too much health?

Spelunky has one more issue based on an item that doesn’t affect most runs, but has the potential to snowball: the Kapala. The Kapala is an item you obtain by sacrificing sufficient bodies on altars that spawn randomly throughout the game. This item lets you obtain blood from every enemy you whip or kill. After a certain amount of blood, your health counter ticks up. This lets you turn Spelunky from a brutal, unforgiving game where every mistake counts, to one where you can afford to take plenty of damage so long as it’s not of the instant kill kind (e.g. spikes or lava). It’s easy to see that the item is potentially near game-breaking.

It takes only the sacrifice of two live damsels to obtain the Kapala, which seems far too low, as every level is guaranteed to have a damsel. In reality though, you need the RNG gods on your side to obtain it: the damsel needs to be available and accessible, as does the altar, and you must have sufficient mobility or consumables to allow for grabbing the damsel and sacrificing her. You can also sacrifice other enemies – who count for less than the damsel, but most enemies don’t leave a body after their death, and the game doesn’t offer many bodies to sacrifice until later levels, by which time, the Kapala doesn’t give you sufficient time to snowball. In general, in a lawful run, you’re unlikely to have the resources to obtain and use the Kapala. In a criminal i.e. ‘easy’ run, you probably will, but unless you get lucky, it’s unlikely to make a huge difference.

One thing worth mentioning here is an exploit that exists with the Kapala: stand in the right place with regard to the mummy enemies in the Temple, and you can farm unlimited health from them, making yourself near-invincible. I consider this to be a bug that has unfortunately never been patched in Spelunky HD.

So these are the four main issues I have with balance in Spelunky. I still think the game is pretty great – I wouldn’t have invested the effort into analyzing it if I didn’t – but as you can see, it’s far from perfect. The balance is such that you either play Spelunky the ‘right’ way (in easy mode, shooting shopkeepers), or you have to deliberately force yourself to play it in lawful mode, which I consider to be hard mode. Only ignorance and fear of the shopkeeper’s wrath in new players’ imagination keeps most Spelunky players from realizing how easy it is to beat the shopkeepers, and how it transforms and trivializes so much of the game.

Spelunky 2

When I first heard of Spelunky 2 coming out, my first concern was about these balance issues. Surely, I thought, Derek Yu was going to address these massive issues? In the next entry, I’ll analyze Spelunky 2’s balance changes and answer this question based on what I’ve experienced in Spelunky 2 so far.

Dear Edmund: A Post-Afterbirth Letter

Hi Edmund. I love Binding of Isaac. It’s one of the best game designs I’m familiar with, which is totally crazy given how quickly you cooked up all of the original Isaac. Even though I had big criticisms of Rebirth, I find that Afterbirth improved on many aspects of Rebirth: Tiny rooms, more boss champions, and a seemingly lower chance of getting items from mushrooms and skulls, all work to make the game more challenging and therefore balanced despite huge power upgrade the player has gotten since WotL. I heard you’ve recently become interested in balancing the game some more, and I’d like to make some suggestions.

  1. The biggest problem by far is that the game has been fairly unbalanced for about a whole year. By unbalanced, I mean that for dedicated players who know most of the strategies, the game is a cakewalk, and for new players, the game will probably be easy enough to beat most of the time. Since it’s been like this for a long time, most new fans who only know Isaac from Rebirth think the game shouldn’t be challenging at all — that it’s just a fireworks show of different OP combos. They don’t want the strategy or skill which are such an important part of the Isaac design, as demonstrated in BOI and WotL. All they care about is getting an OP/breaking run, and they get frustrated if they lose. Fortunately, you’ve already solved this problem with hard mode. Leave normal mode for these new fans, and make hard mode for the old fans who expect Isaac to also be a real challenge, and only want to be OP once in a while. Also, no more achievements in hard mode! Achievements encourage a sense of entitlement, of expecting to easily move from one thing to the next. The metagame becomes more important than the actual game, and that’s bad IMO.
  2. The biggest balance difference between Rebirth and WotL is that you took away 90% of the special items, which kept the strength of the player restrained. It used to be that almost all tear up and damage up items were in the special item list, but that isn’t the case anymore. These are the items that easily change the player’s power curve and therefore upset the balance of the game, making it easy to tear through enemies. If enemies don’t survive for more than a second, they can’t pose a threat, no matter how interesting their mechanics are.
  3. The upside of the special item design is that the player can get any initial items with equal probability. The downside is that once he gets those items, he knows other good items are now more rare. It’s like a penalty for getting good items (in fact, that’s exactly what it is). A rarity system will have different upsides and downsides. All strong items will have low probabilities, but seeing one strong item won’t affect other strong items. Also, with a rarity system, you can play with the weights to tweak the average run strength and make your enemy power curve match that average strength. In any case, it’s no surprise that players get so strong now, since you removed the main cap on their power. Either putting it back (by putting a lot more items in the special list) or using a rarity system for the strong items and the damage up/tear up is advisable.
  4. I still don’t know why blue flies and spiders do damage proportional to your tears, and especially why they do more damage than your tears. Flies are homing projectiles you don’t even need to shoot. Spiders are random projectiles that fill the room and take out enemies for you without you doing anything. These are some of the strongest things in the game for no reason. It just doesn’t make sense. IMO they should just do constant damage, or at least a fraction of your tear damage (with some minimum). Flies could do 5 damage, for example, and spiders 10 since they don’t auto-seek. Doubling the damage with the spider item would do just that.
  5. The worst problem this causes is with Guppy mode. Now that Guppy carries so many flies around, it’s an instant victory as soon as you transform into Guppy. But every other fly/spider-producing item is now also OP.
  6. Guppy mode is so much easier to get now that there are 2 more Guppy items (collar and hairball) and there are more ways to get it, since the devil deals can give you red chests. The small golden chest pool also includes Guppy’s Head now. Make Guppy mode require 4 items in hard mode please!
  7. I was going to say something about the donation machine giving you infinite money in the store which is ridiculous, but I accidentally put one coin into my 999 coin machine, and now it’s…gone? Have you taken care of this oversight already? EDIT: Never mind. This is still a problem. How does it make sense to allow infinite money in the shop? If you don’t take out the donation machine, at least make it so you can blow it up just once to get some money, after which it’s broken for the rest of the run. Perhaps the later you blow it up, the more money it gives you, to give some risk/reward element there.
  8. Too many shop items fundamentally alter the economy of the game in overly powerful ways. Sack boy is the new worst example, but before that, Humble Bundle was the main offender. Ideally, shop items should have subtle effects on the economy that add up over time. If they suddenly take away all resource rarity, they make the player OP immediately and remove all strategic decision-making, which is usually related to resource shortages. For example, rather than giving you double the drops, humble bundle could have a low chance (10-20%) of doubling the drops. Sack boy needs to slightly increase the chance of sacks. Right now it’s far, far too strong.
  9. Black hearts were a missed opportunity IMO. Why make a version of spirit hearts, which are so powerful to begin with, but even more powerful? Black hearts have all of spirit hearts’ bonuses (in terms of devil deal protection), but they also have offensive capabilities that deal 40 damage all over the screen, which is often enough to clear the entire screen. Why? Isaac is a design of taking small, cumulative damage in a few rooms that are difficult for the player’s build/skill combo. If you kill everything on screen just as the player gets damaged, you’ve eliminated the threat to the player. If anything, black hearts could have been a form of red hearts. This would have worked beautifully: black hearts are the way the devil corrupts your heart (so it works thematically), and they are offensive, but they don’t give you more devil deals. Spirit hearts would have remained rare and would have been the only ones to give you the unique advantage of getting devil/angel deals.
  10. Anyone getting devil deals in a run is bound to fight Krampus. But adding Krampus’ Head means that every active item has to compete with Krampus’ Head! Krampus’ Head is still a very powerful item, even after the nerf, and better than many other items. By making almost every serious run encounter it, you’re making half the items worthless, and making runs more uniform.
  11. The library layout that gives 4 or 5 books is a bad idea IMO. The library pool is tiny, and with 4 or 5 books, you’re almost certain to have the Satanic Bible, which outclasses every other book by far, or the Book of Revelations, which is the next best book. This gets even sillier once you have a reroll item, since you can easily exhaust the library pool. I would even take the Satanic Bible out of the Library pool since it’s such a powerful item — let it be only in the Devil pool. Alternatively, make every small pool reroll from the treasure item pool, so it can’t be exploited as easily.
  12. Making pools themed is also a big problem. For example, the golden chest pool has only head-themed items. But many of those items are extremely strong, giving either damage ups, flight, or Guppiness, even though they’re in a tiny pool and therefore very likely to be drawn from. Putting back the some of the weaker items from Flash Isaac in the golden chest and similar pools is probably a good idea.
  13. Tammy’s Head is now an insanely strong item with synergies and needs a longer cooldown, preferably only when it reaches a certain power level.
  14. Guppy’s Head suffers from flies being overly strong and probably needs a longer cooldown as well. Aren’t Guppy items supposed to be relatively weak on their own, but strong together (in Guppy form?) for some reason, that doesn’t apply to Guppy’s Head. A longer cooldown (or adjustment of flies as suggested above) would really help.
  15. I love that you fixed Isaac’s Heart so you can’t abuse the blood donation machine. This is one of the most interesting and therefore good items in the game, and I’m so happy that it’s no longer broken. EDIT: now I’m not sure you’ve fixed it. Blood Rights should damage your heart, as should IV bag.
  16. Pyromaniac has the potential to be such an interesting item, but because it not only removes bomb damage but also heals you, it’s ridiculously OP, especially when paired with an explosion producing item. If you remove the healing properties, it’ll become such a cool, interesting item.. EDIT: I’m slowly going through Afterbirth’s items, and I found the Host Hat, which kind of does what I suggested. So Pyromaniac should be made very rare, and Host Hat can be the more common version.
  17. I really wish that you’d reduce/nerf elements of gameplay that don’t require any real… gameplay. That list includes Gnawed Leaf, Daddy Long Legs, Smart Fly, and Little Haunt (he can cause fear without doing damage, for example). Eve’s Bird is at least fair, since you need to take damage for it to work. Succubus’ attack radius is so large, that it’s another one of these items. Meat Boy is also one of these, but at least you have to use several upgrades to get him, which usually means those upgrades weren’t used for strengthening you in other ways.
  18. Gnawed Leaf encourages terrible gameplay mechanics. I really hate this item’s design, reference be damned. How about it causes all your familiars to stay right next to you, and enemies to ignore you? That means you have to at least move to where the enemies are. Or your familiars could die instead of you, leaving you with no familiars and having to move eventually.
  19. The shears have always been OP. Can they be made more interesting somehow? Perhaps your body does a certain amount of damage and then disintegrates.
  20. Succubus has a very cool mechanic, which is this thing bouncing around the room with a radius that strengthens your tears when you’re in the radius. Unfortunately, it also has a boring mechanic, which is that it damages everything within its radius. Did we really need another familiar that requires no player action? I’d love to see only the former effect, without the latter.
  21. Batteries were a good addition to the game in terms of variety, but I think their execution was lacking. The whole point of having multiple charge bars on items was to gate their power. Batteries could have given you two bars on the charge bar and would therefore have been valuable while still respecting item gating. Instead, they fill up the whole bar. And now we have battery baby, who’s in the small shop pool, and drops batteries all over the place! This guy needs to be super rare. How about making batteries give you only 2 bars in hard mode?
  22. I totally get the buff to shops in Rebirth. Shops were uninteresting in old Isaac. But now they’ve completely upset the balance of the game, because there are so many good items that affect the resource balance of the game, and the game was never designed with these items in mind. How about taking away the donation machine, and making shop sizes random again? That would make it such that sometimes you don’t find so many items in shops, and sometimes you do, rather than always having a 6 item shop (once you unlock them, which every serious Isaac player has done). Also, every resource-affecting item should have a much smaller effect.
  23. I’ve noticed that many elements in Afterbirth stress choice. Half of Greed mode is about choice, and we have all these re-rolling mechanisms now in item rooms etc. The problem is that rogue-likes aren’t so much about choice — they’re more about having very limited choices, and playing the best that you can with them. This is the main problem with greed mode. Since you can always choose the best items, you quickly become OP. The game is more interesting when it forces you to use items you wouldn’t normally use, and is most interesting when those items interact in clever (but not OP) ways. We don’t need item choice as much as we need items that don’t make us so strong that there’s no challenge left, but do interesting things instead. Continuum, Isaac’s Heart, Anti-Gravity Tears and Tiny Planet are all examples of such items. Also, a big element of choice is which active item to choose, but when Krampus’ head is in 50% of the runs, it dominates the game — an item is essentially worthless if it’s not better than Krampus’ Head.
  24. Afterbirth inherits the original Isaac’s flaws: so many items could have been terrific design opportunities, but instead were just made game winners. Brimstone is the best example. It could have been like Azazel’s Brimstone, where you have to build up your range. It could have made you freeze while you charge it. It could have prevented charging in empty rooms and carrying the charge. Instead of making gameplay interesting and keeping the challenge, it’s just this superpower. The same applies to Epic Fetus, Dr Fetus, Mom’s Knife (actually this one seems pretty interesting and not so OP in Rebirth), and Ludovico. And in every expansion, you feel like you have to up the ante with stronger weapons. Stop doing that. Design these things better in hard mode, so they’re more fun to have.
  25. Tech X is an example of the latest super-powered weapon and another missed opportunity IMO. The tech items should all lower your damage to different degrees, since they give you infinite range and shot speed. Tech X doesn’t give you infinite shot speed, but does give you infinite range and large tear radius. It could easily afford to lower your damage.
  26. Familiars that go far away from you and fight for you really reduce your chances of taking any damage, since the enemies are so far from you they can’t damage you. This applies to Blue Baby’s only friend and the Tech Babies, but even to Ludovico technique. It would be better if they were consumed over time until they disappeared. Ludovico could fire one giant tear you control, and once the tear has dispensed its damage, it’s gone for the room and you have to fire normally.
  27. Taking multiple charge items (like Brimstone and Mom’s Knife) could combine their charge times in some way, making it a real risk-reward thing.
  28. As soon as I heard of more Transformations in Afterbirth, I became worried. Three items is too low of a number, and I was afraid you’d get even more OP even more easily. Unfortunately, I think my fears were justified. This is a great way to make crappy items more worthwhile, but the number really has to be upped to at least 4 IMO. At the very least, using the D4/D100 should strip you of transformations once you lose the relevant items, so you don’t just easily build up all of the transformations (which is currently the case).
  29. Boss Rush is an interesting concept. I get that you wanted some urgency, some need to go through floors faster. However, I think Boss Rush in general didn’t work so well. It’s very monotonous, since you’re always facing the same boss sequence, and the huge space means that most bosses become ineffective as threats. It’s also an admission that we can’t restrain player power in Rebirth, which is why the player is allowed to face an arguably harder challenge than the cathedral (and possibly the Chest) right after mom. I know this is impossible, but I would personally take out Boss Rush from the game. It’s far more effective to have players competing with each other for best times as an incentive, and the requirement to do Boss Rush in order to get a good score on the daily is annoying as heck. It’s similar to having to ghost in Spelunky to do well on the daily, if you’re aware of how that works.
  30. The most interesting thing to me in Greed mode isn’t the choices, but the interesting combinations of enemies. Even though enemy waves are preprogrammed, because you get the potential of so many waves mixing together, you get an effective randomness which is awesome in the way it combines threats against the player. Having different types of enemies mixed together randomly in large amounts is something Isaac never pulls off in the main game, but is just begging to be there. I suggest that some rooms – specifically the ones that don’t have gaps requiring enemies to fly or have special properties, and some of the bigger rooms – could be programmed to randomly generate large mixes of enemies from that floor, resulting in a mix similar to what’s in Greed mode. This would really invigorate the game and up the challenge in a fun way.
  31. Flight is too OP until you get to the Cathedral/Sheol. There are so many threats – spikes, pits, walking enemies, creep – and so many missed upgrade opportunities due to items you can’t reach, that flight eliminates. It needs to remain rare — in any case, the ladder and I Can Jump are so much more interesting gameplay-wise than flight. Flight items should therefore be uncommon, and for example, the Cthullu transformation giving you flight is a big mistake IMO. (Devil items are already super strong, why also give flight for free?).
  32.  Flight could also have some downsides to make it interesting. Some traps could only target flying players, and some enemies could have special, more powerful attacks vs flying players.
  33. Tear size scaling with damage is a problem, because it means that the most dominant stat in the game – damage – also makes it really easy for you to hit your enemies without actually needing to aim. In Flash Isaac, tear size seemed to scale much more gradually with damage, meaning that your tears didn’t get so huge. Also, given that Flash Isaac had much higher resolution, there was plenty of leeway to make the tears get bigger without making them so big that it wasn’t a challenge to aim. Not so in the reduced resolution of Rebirth/Afterbirth, where in order to show the effect of damage, tears are made to be visibly larger, which means that very quickly they get so large that they can easily hit anything in the room. I’d like to see tear size up either be unconnected to damage, or go up much more subtly, to keep the challenge of aiming properly even when you have high damage.
  34. I really like the Hush fight. It’s really well made, is a huge challenge, and I wish fighting Blue Baby was anywhere near as hard.
  35. I recognize that balance isn’t everything. Sometimes you want to tip the balance to make things more interesting — that’s what many of the super-power items are about. However, Isaac is currently very far from being balanced, and in any case, it’d be far more interesting for specific 5 or 6 item combinations to be OP than for a single item to carry you, which is the case currently. My most interesting runs have been the Challenges, because the lack of item rooms in most of them means that my power doesn’t easily go out of control, and therefore the enemies can really provide a challenge, as they were designed to do. Let’s make Hard mode as good as the Challenges. There’s nothing wrong with the occasional OP run, but when almost every run is OP, I think there’s a problem.
  36. Thanks for reading!

The Imperfect Rebirth of Isaac

The Binding of Isaac : Rebirth seems to be a wonderful remake of the original. It’s got a great engine, smooth animations, new items, new synergies and even a new level — what’s not to like? Well, if you’re new to Isaac, you’ll probably miss a lot of the issues that I’m about to discuss. But if you’ve played the original (‘vanilla’, as it’s commonly called), after the excitement dies down, you’ll find that there’s a problem with the game — it’s just too easy. It won’t be clear why that is — everything seems faithful to the original’s design. But what you’ll experience is run after run of steamrolling through the game. A run in Rebirth starts out challenging, much like vanilla, and then quickly becomes both interesting, since you’ll become overly powerful, and boring, since you’ll be so powerful nothing in the game will challenge you. Chances are, you’ll plow through every enemy the game has to offer past level 3 with little threat to yourself. Notice that I’m not saying that it happens all the time — there will be some weak runs. But I estimate that around 70 to 80% of your runs will be overpowered.

You might think that your success at the game is simply a function of you being familiar with it. This is not the case. Go play a run of vanilla Isaac (without using the D6, which I’ll get to later). You’ll probably feel challenged throughout the run. In other words, you’re not that good — the game is just much easier (on average).

Why is this? What elements of design make Rebirth so much easier and OP-inducing than the original? Let’s examine the different elements of the remake’s design and see what we can find.

Item Chances and Devil Deals

Isaac is all about randomness and getting items, right? Well, the main place where that happens in a fair way is through the item room. Vanilla Isaac with WoTL had around 200 items, and Rebirth has around 300. Most of these items sit in the item room pool. Some items are very strong, while others are weak. Some are situational (Razor Blade), while others are all-around fantastic (Epic Fetus). But the most important thing is that there are a lot of items, and if you rank them into weak, good, strong, and game-winning, as I do here, you’ll find that there’s a fairly nice ratio there, especially in vanilla. Let’s say  that there are 4 game-winning (legendary) items, 30 strong (very rare/rare) items, 100 good (uncommon/common) items, and 25 weak items. This is a good ratio, because it means that you’re not always going to get the strongest items in the game. Once in a while you’ll get lucky, and that’s good — the occasional strong item will give you a needed boost, but hopefully not immediately win the game for you. Once in a while, you should get a really game-winning item and become OP, and that’s ok — Isaac is a short game, so becoming OP once in a while isn’t a huge deal and is fun. But you don’t want to be OP all the time. That’s just boring.

Now what about the devil room items? The devil items are much fewer than the item pool — there are only 40 of them (in vanilla there were 30), and a very high percentage of them is good. There are 3 legendary items, 13 rare/very rare items, 12 uncommon/common items, and only 2 weak items. This means that the chance of getting OP through the devil deals is very high. In fact, I identify the devil pool as the weakest point of the Isaac design (for both Rebirth and vanilla) since it is almost always the dependable way to become OP in the game. Get a few devil deals, and your chances of beating the game become significantly higher. This means that the strategy to success in Isaac almost always involves getting devil deals, while in order to keep player power in check and remain challenging, the game needs to limit your access to the devil pool. Otherwise, the player’s runs will be both consistently OP and homogenous (dominated by the same few devil items).

Interestingly, while vanilla Isaac had a smaller devil pool (30 items), that pool was much weaker on average than Rebirth’s devil pool (no Lil’ Brimstone, Dark Bum, Abaddon, Satanic Bible, Gimpy, Contract From Below, Goat Head etc). So even though Rebirth ameliorated the problem of Brimstone and Mom’s Knife being too common by making the pool bigger, it made the average Devil deal items much stronger, exacerbating the problem in that sense.

It’s interesting to keep going with the comparison: Rebirth has a 1/7 chance of offering you 3 devil deals, while vanilla only had a maximum of 2. Obviously, this makes every deal more capable of making the player OP in rebirth. To balance this out, however, the devs introduced a 1/7 chance of getting only 3 red chests in a devil deal. As we’ll see below, this ‘bad’ devil deal isn’t really bad at all. On the other hand, vanilla’s Curse Room had a chance of spawning devil room or angel room items, meaning that you could get a free devil deal. This increased the chance of seeing Brimstone or Mom’s Knife in a game. Rebirth, however, changed it so that the Curse Room had a chance of spawning out of its own pool, which contains all the Guppy items as well as Goat Head. For the impact of this decision, keep reading.

While some of the different design decisions in vanilla and Rebirth balance each other, the takeaway from this section is that Rebirth has less of a chance of spawning Brimstone and Mom’s Knife (which was a complaint with vanilla) but has a much stronger Devil Deal on average. But this by itself clearly isn’t the source of the easiness of Rebirth.

Spirit Heart Rarity

Consider the mechanism of getting Devil deals: it’s all about avoiding red heart damage. One way to do this is to avoid all damage, which is hard, and is a real measure of skill. The easier way to do it is to get spirit hearts to serve as a buffer for your red hearts. This makes spirit hearts immensely valuable – much more so than red hearts – since they are the tickets to getting into devil rooms, which are the main way to get strong.

Spirit hearts have another value to them – they are the only hearts you’ll build up if you use your red hearts as devil currency. If the devil deals function as intended, you should be bartering your health for strength, risking yourself in the process — a true ‘deal with the devil’. However, if spirit hearts are easy to collect, then that doesn’t mean anything — sure, you lost some red hearts, but you can just replace them with spirit hearts (and as a bonus, get more devil deals).

What this all amounts to is that for the sake of making the devil deals work as a concept, spirit hearts need to be rare. They can’t appear all the time, as that would compromise the mechanics of the Devil room.

Were spirit hearts rare in vanilla? I would say that in general, they were. However, almost all easily OP runs in vanilla that didn’t originate in being lucky with item-room items, came out of some ability to get more spirit hearts than the game’s design was built for. The sources of spirit hearts in vanilla were random drops (small chance of a spirit hearts), tinted rocks in the first few levels, Guppy’s Paw, the Book of Revelations, the Relic, red chests, Mom’s Pearl, the Hierophant card, and the Fortune Telling Machine. It’s no coincidence that the Book of Revelations and the Relic were two of the strongest items in vanilla, since they were such a consistent source of spirit hearts. However, they were also quite rare. Guppy’s Paw, however, was highly exploitable, since it gave you a very high 3 to 1 ratio of spirit hearts to red hearts. The Fortune Teller Machine was also a very weak design point in my opinion, allowing you to convert money (a plentiful resource) to both trinkets and spirit hearts. However, aside from these particular sources, spirit hearts were indeed rare in vanilla, making it very hard to play with blue baby as your character, for example.

Now let’s examine the commonness of spirit hearts in Rebirth. Rebirth contains every source of spirit hearts from vanilla, and many more. Tinted rocks are much more common in Rebirth, persisting all throughout the game. Additionally, many Rebirth maps contain blue or pink fires which can be put out with bombs. These have a high chance of giving you spirit hearts, and often are situated in clumps that are easily bombed together using just one bomb. Rebirth also contains more items that give you spirit hearts, such as Gimpy and Dark Bum, for example, and the upgraded shop concept in Rebirth – about which I’ll talk below – means that there will almost always be a spirit heart for sale.
But Rebirth also contains an entirely new type of heart called a black, or devil heart. These hearts count like spirit hearts and have all their associated issues, but add a new problem to the mix: when you lose a black heart, you trigger the Necronomicon effect. This means every enemy on-screen gets hit for 40 points of damage. While that may not seem so bad, the impact on Isaac’s design is devastating: the majority of enemies in Isaac have less than 40 points of health, and most damage in Isaac happens not from giant bosses – whose patterns you learn over time, since you face them repeatedly – but from small enemies who slowly whittle down your health room after room. Black hearts ensure that situations that would have challenged you in vanilla – where the player takes damage –  result in just about every enemy on-screen getting wiped out immediately. The effect is subtle but builds up over time.
Once again, this wouldn’t be so bad if black hearts, together with spirit hearts, were rare. Unfortunately they aren’t. The super secret room often contains a black heart. The middle levels of the game contain skulls, which often give out black hearts. The devil room itself often contains a black heart and sometimes even gives you 2 black hearts + a deal, making the deal effectively cost only 1 spirit heart. Many devil room items also give you black hearts, including the Satanic Bible — an item stronger than the Book of Revelations, since it deals out black hearts, and Abaddon, which removes all your red hearts and gives you 6 black hearts. Finally, Curse Rooms often contain several black hearts.

All of which brings us to the following point: spirit hearts, and their more problematic black heart cousins, end up being far more common in Rebirth, and this greatly skews the percentage of obtained devil deals, as spirit/black hearts are the keys to obtaining devil deals. A pattern that emerges is that Rebirth buffs the player’s strength, while keeping the challenges of the game around the same level as vanilla, thus making the game too easy.

Free Devil Deals

Rebirth contains a concept that was very rare in vanilla (with the exception of the rare joker card): the existence of items that give you guaranteed access to every devil deal  in the game. The Book of Belial is one such item, but I consider it the lesser offender. Not only is it relatively rare, it also competes for your active item slot, which means that if you want some other active effect, you’ll have to ditch it. Nevertheless, it’s not clear why the buff to this item was necessary. In vanilla, the Book of Belial increased your chances of getting a devil deal, but didn’t make it a sure thing.

The worse item in my opinion is Goat Head, which passively grants you every devil deal in the game up to the Cathedral/Sheol. Considering the strength of devil deals and their ability to influence and skew the game, this is a very big design issue. Additionally, the Goat Head was stuck in just about every small pool: it’s found in the devil item pool itself, in the red chest pool, in the curse room pool, and in the golden chest pool. The result is that a player has a very high chance of getting an item that completely eliminates any barriers to obtaining the strongest items in the game.  Now of course in some runs, the player could get this item after it loses its relevance, but on average, this item will make a huge impact on the game’s balance. This item would have probably been ok had it been stuck in the general item pool where it would turn up rarely, mixing up the gameplay (as all good items do), but making it as common as it is was a very problematic decision.

Blue Flies, Blue Spiders

Blue flies (or ‘attack flies’) were, in my opinion, one of the worst designs in vanilla Isaac. These are flies granted to you by different sources. They orbit your character until they find an enemy, at which point they attack the enemy and expire on the spot. The problematic point with these flies is that they do twice your regular damage. This means that they force upon you bland gameplay, where enemies expire instantaneously. With decent damage and a few flies, you could enter a room and immediately wipe out its enemies.

This design decision was very strange. Why do the blue files scale with your damage? Almost everything that does a lot of damage in Isaac is big and powerful-looking, and yet these innocent-seeming, tiny flies do more damage than even your tears. It would have made so much more sense to keep them at a constant level of damage or at least to cap their damage.

Regardless, blue flies were mitigated by 2 factors in vanilla: first, they were quite rare. You could obtain them randomly from chests, or you could get them from Infestation when hit, from Guppy’s Head when used, or from Mulligan (and Guppy) when you hit enemies. Of these sources, Mulligan and Guppy were the worst, because every hit spawns a fly. If you had an attack that triggered many ticks of damage, like Brimstone, you could have very many flies indeed. But then, the second mitigating factor kicked in: because of Flash’s limitations, you could only carry 5-6 flies between rooms. This meant that you couldn’t just march in with an army of flies and demolish enemies instantly. So, as bad as this design was, it was limited in its severity.

Rebirth makes the fly problem much, much worse. First, it introduces a new kind of blue ally: the blue spider. Because the spider can’t fly, and therefore can’t reach your enemies as easily, it was given even more damage, to the tune of 2.5x your damage level. Aside from this, though, there are now many more items that produce blue flies and blue spiders at varying rates: Rotten Baby, Mom’s Wig, Box of Spiders, Infestation 2, Juicy Sack, Sissy Longlegs and Spiderbaby, in addition to the Mulligan, Infestation and Guppy from vanilla. Finally, to show off the new engine’s prowess, all limits on the number of spiders/flies carried from room to room have been lifted. This means you can fairly easily develop huge armies of flies and spiders in easier rooms, and then march them from room to room, where they proceed to demolish everything on the spot. The most OP runs in Rebirth are usually caused by this design issue, which obviates virtually all of the gameplay and skill in the game.

‘Bad’ Devil Deals and Guppy

We’ve mentioned the ‘bad’ Devil deals, which occur 1/7th of the time in Rebirth, and which were almost certainly added as a small ‘nerf’ to Devil Deals, given the fact that they are far more common in Rebirth. Now let’s see why these Devil deals aren’t so bad at all.

Guppy form was added to the Isaac design in WotL, as an alternative path in which to play the game. Rather than just opening golden chests and getting regular items, a player can venture into Curse Rooms at the cost of a heart’s worth of damage. The results of this action can either be negative – fighting several spiders – or very positive, in the form of spirit hearts, an item from the Devil/Angel room, or the elusive red chests, which have a chance of containing either enemy spiders, spirit hearts or Guppy items. The whole thing was supposed to be a high risk/high reward addition to the regular gameplay.

While Guppy items were good, they weren’t amazing, for the most part, on their own. The ultimate reward came from obtaining Guppy form after finding 3 Guppy items, which gave you both flying (which is very powerful) and the Mulligan effect (see above). Due to the blue fly issue described above, Guppy form in Rebirth is an instant won run, making you essentially invulnerable.

Another problem with the implementation of Guppy is that it’s just a numbers game. The red chest pool contains almost exclusively Guppy items. As such, the probabilities are easy to calculate. After opening about 20 red chests, you have a bigger chance of being Guppy than not being Guppy. The more red chests you open, the closer you arrive at being Guppy and thus of being unbeatable.

Vanilla Isaac gave you a maximum of 2 red chests in a curse room, plus an occasional red chest here and there. The remaining source of Guppy items was the Devil room and the Curse room itself, but without the D6, it wasn’t easy to get Guppy form. Rebirth gives you up to 3 red chests in the Curse room, the occasional red chest, and 1/7 chance of getting 3 red chests in the Devil room. Additionally, there are more Guppy items in Rebirth, making it more common in the Devil deals. And since the Curse room now has its own pool, much of which consists of the Guppy items, and Guppy’s Head even features in the small Golden Chest pool, the result is that Guppy form (and its resulting power) is far more common in Rebirth.

Mushrooms and Skulls, Pills, Cards and Runes

Rebirth has a new destructible terrain type, which in the mid-levels manifests as mushrooms and skulls. These destructible items can generate pills and item; and cards and black hearts, respectively. Seemingly, they were placed there to give some extra strategic options to weak runs, which is good in my opinion, but they do so at the price of flooding the game with resources.

In vanilla, you rarely had too many cards or pills, and thus these potentially game-altering resources were rare and therefore precious. In Rebirth, you have so many cards and pills, you don’t know what to do with them, especially if you’re already tending OP and can therefore use your bombs or stomp skill (from Leo or Thunder Thighs) to break all the containers. This element of Rebirth therefore serves as a huge feedback loop, making OP players who can afford to destroy these items even more OP.

What kinds of bonuses can you get from pills? Tear upgrades, full health and bonus spirit hearts are the most game-altering pills. Cards can give you bonus spirit hearts, doubled resources (bombs, keys or hearts), a free devil room deal, access to the secret room, or just free teleportation, which in the case of Rebirth’s boss rush results in a free item out of a choice of 4. Another new, overly powerful card is 48-hour energy, which generates 3 batteries (see below). Additionally, Rebirth contains powerful runes which the game treats like cards, some of which have extremely strong effects, such as the ability to make you invulnerable for long periods of time, the ability to see all secrets on the map (including super-secret rooms), the ability to double resources (which is best used to double the number of golden chests on the Chest), and so on. The key point is that these resources weren’t available in vanilla — certainly in nowhere near the same quantities.

Huge Shops

In vanilla, the shops were randomly sized, from 2 items up to 5. This increased the challenge of the game and the excitement of finding a nice, big shop. In Rebirth, by upgrading your shops over time, you can consistently make 6 items appear. This means that the shops always store a huge variety of items, allowing for such strong items as spirit hearts and lil’ batteries to be carried reliably. Once again, we see the feedback effect at work: strengthening one thing strengthens others, giving the player more and more advantages and buffs.

Edmund himself has stated that he wanted to make the shops more strategic and important, and I get that. There are more powerful items in the store, such as the Broken Watch and the Sharp Plug. But buffing the store without compensating for it elsewhere in the design, in addition to every other buff in the game, places too much strain on the original Isaac design.

Donation Machines

As if the large shop size wasn’t enough, each shop contains a donation machine. This machine can be blown up repeatedly, giving you plenty of coins with which to buy whatever you want. It completely eliminates the scarcity of money from the game, so long as you have any bombs or bomb-like powers in your possession. Find something you like but can’t afford? No problem — just bomb the donation machine.

Lil’ Batteries

Rebirth includes a new consumable in the form of the lil’ battery. Unfortunately, this consumable completely disregards the number of bars needed to charge items, and charges each item completely. It’s made even worse by the fact that a 48-hour energy card exists, giving you 3 battery consumables on the spot. This card is also relatively common due to the abundance of skulls in the game. These consumables completely upset the balance of active items, even more so than the regular shop charge items such as the Habit or Sharp Plug.
Here is what Edmund had to say about the battery consumables on the Rebirth blog: “the lil battery is a new rare pickup item that only appears if you are holding a usable item, recharging it fully… who likes breaking the game!? (this ones for you!)”. Bypassing the charge time of items completely is in fact very effective in breaking the game, but items such as Satanic Bible and the Book of Revelations become much stronger when they can reliably produce several hearts at a time. Given the large shop sizes, the lil’ batteries unfortunately tend to be quite common.


Flying was always very powerful in Isaac. Many of the traps and difficulties of the mid-game (for example, creep and spikes) only apply when you walk on the ground, or arise from the challenge of using the limited amount of space given to you. Flying is even more effective in Rebirth, where there are shooting traps that can be bypassed and larger pits that can be flown over to completely avoid enemies.

It could easily be argued that vanilla gave out flying far too often. You have 2 devil room flying items, 2 angel room flying items, 1 golden chest flying item (Fate), and 1 regular pool flying item (Transcendence). Given how powerful it is, and given the fact that there are other, more interesting choices to get around obstacles (namely, the ladder and the Pony items), it’s unfortunate that flying is as common as it is.

Rebirth added yet another interesting way of getting around: the ‘How To Jump’ book, which allows you to strategically hop across chasms so long as this active item is in your possession. How unfortunate, then, that Rebirth didn’t do anything to reduce the commonness of flying. Particularly, while Fate was rare in vanilla (with a 50% chance of not being in the pool altogether), it’s always in the golden chest pool in Rebirth with a 1/9 chance. And let us not forget about Guppy form, which is statistically far more common in Rebirth as we discussed above.


I’ve already mentioned some problematic items in passing, but in this section I’ll discuss some more item designs in the game, both good and bad. A good rule of thumb (in my opinion) is that it’s ok for an item to be OP, so long as it’s rare — otherwise the whole balance of the game is upset. Ideally though, items should change the way you play, making things more interesting without making the player too overpowered, and the game could afford to have these kinds of items be more common. In general, it appears like Rebirth had a few really good ideas for items, and then, to reach a large enough number, many items were thrown in without enough consideration of their impact on gameplay. Furthermore, many items become problematic only after synergizing with other items. If the combination is rare, that’s fine, but oftentimes it isn’t.

  • Stopwatch is a horrible item, no matter what it’s gated behind (in this case, an exercise in patience). It trivializes the game more than any other item, completely removing any challenge. Additionally, Rebirth implements the slowdown effect of both Stopwatch and Broken Watch very strangely, wrecking the behavior of many enemies in the process.
  • Brimstone was buffed up unnecessarily from vanilla. In vanilla, it was an item you could sometimes still lose with, giving you unlimited range at the price of a long, inflexible charge time. The item also didn’t fire for very long unless you abused a bug in its implementation (known as ‘brimsnapping’). In Rebirth, you can decrease the charge-up time of brimstone (and all other charge items) significantly with tears-up pills, essentially removing the element that was critical to brimstone’s balance. Additionally, the brimstone laser is thicker, does more damage, and lasts for longer, making it essentially an instant-win item. Finally, the developers decided that brimstone should also synergize with many items, such as the very common (since it’s in the tiny golden chest pool) Tammy’s Head to produce a room-by-room death machine, or with Bent Spoon to automatically seek out enemies. This means that with one extra item, Brimstone goes from a sure-win to extremely OP.
  • Tammy’s Head was a fun item in vanilla, but with its one-room charge and its insane synergy with strong items like Brimstone (and others), it easily becomes an instant (and common) run-winner in Rebirth. This item needs an adjustment to lengthen its cooldown the stronger it gets.
  • Gnawed Leaf is a horribly designed item, encouraging the worst kind of gameplay — passively sitting and doing nothing, while your familiars do everything.
  • Magic fingers is another lazy item. It scales with your damage, meaning that you can destroy every enemy without even touching it by just using your item, so long as you have money. Money is extremely easy to obtain in Rebirth given the existence of many other money-producing items and trinkets.
  • Pyromaniac completely breaks the game, since it both protects you from explosions and heals you.
  • Holy mantle also breaks much of the content of the game. Most of the rooms in Isaac whittle you down a little bit at a time — especially because the plentiful black hearts don’t give most monsters more than one chance to attack you. Nullifying that one hit negates the enemies’ main method of attack.

Special Items

All the factors listed above still don’t explain fully why Rebirth is so much easier than vanilla on average. For a long time, I just couldn’t figured it out. However, it turned out that I was overlooking one crucial detail, which I just happened to gloss over: Special Items. Special items are select items that work based on a different spawning mechanism than all other items in the game. Rather than rolling independently, obtaining (or, in the case of Rebirth, simply observing) a special items causes a counter to go up. The higher the counter, the more times the game re-rolls when producing a new special item. Thus, encountering special items causes fewer and fewer other special items to spawn. As it turns out, this is vanilla Isaac’s main check on obtaining too many OP items.

Is this a good implementation? Well, let’s consider the alternative. A more straightforward approach would assign a probability to each type of item, classified by strength. Legendary items would be extremely rare, and common items would be common, etc. What are the advantages of each approach? The ‘special item’ approach allows the player to get even rare items almost every run. However, you could only ever get a few of these items. It also lumps all special items together into one pool of progressively rare items. The probability approach doesn’t guarantee any rare items — you just have to get lucky. But it doesn’t penalize you for getting a good item. You could get lucky enough to get a whole bunch of great items. Personally, I think the Special Item system was badly designed, and a good probability system would have been much better. Nevertheless, it is the primary way that Isaac prevents you from getting a whole bunch of overly powerful items and steamrolling the game.

Indeed, this is where the biggest difference between Rebirth and vanilla lies. In vanilla, all the items that are rare or above in my google docs sheet – even damage ups – use the Special Item system. This means that all items that are of moderately powerful (rare) level or higher are regulated. Rebirth’s developers didn’t like the Special Item system, and I can’t blame them for that — I happen to agree that it’s far from ideal. But they didn’t replace the old system with anything else. Instead, only the strongest (Legendary) items use the Special Item system. This means that most of the items in the game don’t have any of the probability regulation of vanilla Isaac, and that it’s extremely easy to just keep rolling powerful items far more often than in vanilla. This is why Rebirth makes you so OP. The game has lost its main method of controlling player power, and no other system has been used as a replacement. As a result, Rebirth is easier.

“Just Don’t Take It”

As an aside, a common refrain of defenders of Rebirth is, “If you don’t like an OP item, don’t take it”. I think this argument completely misses much of the point of the game. Isaac is a game mostly about skill: dodging, shooting, etc. But it’s also a game of strategy. Getting a devil deal by shielding your red hearts, heading for the boss early to get a devil deal, blowing a hole from secret rooms to other special rooms — all of these are examples of the strategies that people develop as they learn the game. Much of the strategy comes from knowing how to best use your resources to beat the game. This is part of the reason why the game needs to be challenging — if it isn’t challenging, you don’t need to work too hard to figure out ways to beat it.

Now, if you tell a player not to take an item because it’s OP, you’re essentially telling him to ditch the strategic element of the game. At that point, the game ceases to be a struggle for survival. How much should the player continue to weaken himself to let the game challenge him? It becomes similar to playing a game of chess against a 6 year old — much of the satisfaction is lost. If you lose, is it because you were unskilled, or because you overly handicapped yourself?

Vanilla already suffered from the commonness of Brimstone and Mom’s Knife in devil deals. Many players (including myself) compromised their gameplay by not picking these items even when they were offered them. However, at least these choices were isolated. In Rebirth, you would have to avoid taking almost any item the game gives you to maintain a sense of challenge.

Commonly OP

You don’t need this analysis to feel that something is wrong in Rebirth. In fact, I didn’t start out by making this analysis — I started by just feeling something was off. The first 2 levels of Rebirth are very similar in difficulty to vanilla (despite some weaker enemies being mixed in). But then, the problematic design choices of Rebirth start kicking in – whether it’s the plentiful cards/pills, the black hearts, the countless devil deals, the blue flies/spiders or, more than anything, the reduction in Special Items – the result is that the enemies in the later game, which were so meticulously crafted to be challenging in vanilla, become easy cannon fodder to be blown away in Rebirth. The normative situation in Rebirth is that you become OP and obliterate the game starting around level 3 (or a little later). This means that it doesn’t matter how much design effort went into those later levels or enemies — it’s almost all wasted, due to weak balance decisions.

What About Vanilla?

You might claim that vanilla wasn’t very well balanced as well — that you easily became OP in that game. I think most advanced players view that game through D6-tinted glasses. Yes, if you happened to get Mom’s Knife or Brimstone, the game would be easy. And if you used the D6, the game would be easy as well. This can be considered vanilla’s biggest flaw: one of the strongest items in the game also happens to be Isaac’s default item. But assuming I’m talking to a good Isaac player (why else would you be reading this?), if you go play a run of vanilla Isaac right now, odds are you won’t beat the game easily, even if you do get some strong items, so long as you don’t use the D6. Vanilla Isaac had design issues, but they were isolated and limited. And most importantly, it regulated player power via the Special Item mechanism.

The Bottom Line

In my opinion, these design flaws are what causes Rebirth to give you one OP run after another. The game starts out difficult, which lets players feel like they’re challenged, and then, due to a missing regulating factor (Special Items), feedback loops and other balance issues, dramatically eases up on the difficulty, by constantly boosting the player and leaving the enemies at the same difficulty level. This makes even new players feel empowered — they think they’ve gotten great at the game, while in fact, the game just makes them OP very often.

At the end of the day, the points above just reinforce my impression of Rebirth as an easy game ‘pretending’ to be hard (specifically, as hard as its predecessor), while vanilla Isaac was a flawed, yet brilliantly crafted, hard game that sometimes threw you a bone.

BTW, if you agree with my analysis, you may be interested in my mod for Rebirth, where I try to make the game far more balanced and keep the challenge all the way through.

Binding Of Isaac and the Small Pools

In the previous post, I blogged about experiences I was having as I went through Rebirth. I’ve now learned a lot more about the mechanics of the game than I used to know (partially from working on my Rebirth Balance mod) and I think I’ve zeroed in even better on the issues in Rebirth.

The problems of Rebirth aren’t unique to this version of the game, as I previously suspected. They’re actually flaws in original Isaac’s design, only they’ve been made somewhat worse by Rebirth’s changes.

OP Items?

A normal player can go through Isaac or Rebirth and experience a nice distribution of good and bad runs. In the previous post, I mentioned that there are too many OP items in Rebirth. I think the game unlocks more of the OP items for you earlier on in Rebirth than in Vanilla, but in general, over time, you’ll find that the pool of treasure room items is quite big. Going through and cataloging items for their strength, I noticed that the ratio of good to great to excellent items, or in ARPG lingo, common, uncommon, rare and legendary, was about an order of magnitude at each step, which is pretty decent. It’s unclear whether you should ever have items that trivialize the game single-handedly, like Brimstone or Mom’s Knife or even Daddy Long-Legs to an extent — these items are so powerful on their own, and reduce the skill needed by the player by so much, that just the act of obtaining them almost means you’ve almost won the game already. I think this is questionable design, but it’s buried deep inside the design decisions of the first game. In my mod, I try to make these items very rare so that at the very least, you only get them when you’re really lucky. There’s little doubt, however, that the basic Isaac design suffers from items that are too strong — it’s just that Rebirth’s treasure item pool is big enough to prevent you from usually getting these items.

A Dominant Strategy

The problem is that there’s a dominant strategy in Isaac that almost always pays off. The basic principle is shifting from the regular item pool to smaller item pools, where you stand a better chance of getting strong items. This is the Achilles’ Heel of the game. The devil pool has only around 40 items, all of which range from good to great. A high percentage of devil room items can either carry the game or get you close to being carried (ie. let you win regardless of skill). In the devil pool you have Brimstone, Mom’s Knife, Lord of the Pit (flying), The Book of Belial and Goat Head (infinite devil deals), and the list goes on and on. Essentially, while playing Isaac normally will give you a normal distribution, playing with the advanced strategy of always trying to get devil deals will make you OP in most cases, giving you only ‘rich’ runs (to use my last post’s terminology). The devil pool is so small and so powerful, that several devil deals will almost always guarantee that you get too strong for the game. And the problem with devil deals is that you can control when you get them by avoiding red heart damage. While this creates an opportunity for exceptional skill to shine, it also creates an opportunity for manipulation of the game and for easy OP runs. Additionally, it rewards advanced players with an easy game, rather than scaling up to their level.

Rebirth tried to fix the devil room problem by enlarging said pool, but the pool is still too strong and too small. You don’t get Brimstone all the time as you did in Vanilla Isaac, but you do get Goat’s Head, which gives you every single devil deal without even having to worry about red heart damage. Goat’s Head is available in many small item pools, including the devil room itself. Additionally, the joker card, which transports you straight to the devil room, is extremely common in Rebirth due to the multitude of skulls which explode to give cards. This means you’re visiting the devil room much more often in Rebirth. To balance this out, Rebirth sometimes gives you devil rooms without deals, or with black hearts, or with red chests, but this brings us to the other problem in Isaac.

The Path of the Left Hand

Another easily exploited pool is that of the red chests. Red chests are often found in curse rooms, and are the only special chests to spawn if you have the Left Hand trinket. While red chests have lower odds of giving you items in general, the red chest pool is the only pool to almost exclusively contain Guppy items (as well as Goat’s Head, which brings us back to the previous exploit). This means that if you consistently enter curse rooms or obtain the Left Hand, you have a very good chance of eventually obtaining Guppy form from 3 Guppy items. Guppy form gives you both flying (which is extremely dominant in the game) and flies, which are some of the strongest attacks the game has.

What all of this means is that a clear dominant strategy in Isaac is to shield your red hearts with soul or black hearts to get devil deals, to get as many devil deals as possible, and to consistently pursue Guppy form by opening red chests. Even if you have the bad luck of getting weak Devil room deals or getting red heart damage (and thus no devil room deal), you still have a good chance of becoming Guppy or even obtaining the Goat’s Head and then getting all remaining devil room deals for ‘free’ (in the sense that you don’t have to play well). The game does almost nothing to balance out this strategy, with the result being that advanced players consistently become OP, either from devil items or from Guppy, and the endgame becomes fairly monotonous as players constantly have the same strong items.

Rebirth also makes the situation worse by giving you more opportunities to get red chests, and it appears that your chances of getting items in red chests is higher than it was in vanilla Isaac. This exacerbates the problem.

The Shop? Really?

Another place Rebirth decided to place some OP items is the shop. This is yet another small-ish pool — not as bad as the red chest pool or the devil pool, but still much smaller than the treasure item pool. 2 items stand out in particular — the Blank Card and the Stopwatch. The first is an active item that can imitate the behavior of any card or rune. This, combined with the Jera rune which doubles any items, can quickly be used to create game-breaking situations. The latter is another insanely OP item, one which causes all enemies and enemy bullets throughout the game to be slowed down. This completely removes almost all skill from the game. Blank card is a cool concept, and had it only imitated cards exclusively, would have been a fairly balanced item (with a 6 room rather than 4 room charge). As it is, it’s easily game-breaking and probably doesn’t belong in a small item pool like the shop. The stopwatch is completely unbalanced and doesn’t belong in the game at all as far as I’m concerned. Edmund hid it behind an unlock that takes very little skill and much time, but that doesn’t change the fact that the item should not be in the game.

Another really OP item is the ‘magic fingers’ box active item, which uses a coin to deal damage to everything on screen and has no cooldown whatsoever. It also scales with your damage. If you have a few damage upgrades under your belt – a common occurrence – and happen to have a lot of money – which is also quite common – you can easily eliminate every single enemy on-screen with a few uses of this item. This item therefore encourages unskilled play.

What Can Be Done?

There are many things that can be done to reduce the dominance of this strategy. Any combination of the below items would be helpful (please note that I’m not saying all of these points should be implemented):

  • Increase the cost of devil deals. Most devil deals cost 1 red heart, which is easy to obtain. The strongest items in the devil pool cost 2 red hearts, which is a steal for Brimstone or Mom’s Knife. The cost could easily be increased to 3 hearts to balance out the power of these items.
  • Make Guppy form require 4 or even 5 Guppy items instead of 3. This would make Guppy form rarer (as it should be) and out of reach of most runs, making red chests less desirable, and the whole strategy less dominant as a whole. This was suggested to me on reddit by Doomspeaker and is an excellent idea.
  • Guppy items in the devil rooms should have a higher price, even if they’re bad. Some Guppy items aren’t great, but they still lead to Guppy form. You’re paying for that, rather than for the item itself. This is something I do in my mod.
  • Strong items in the devil pool can be made more rare. This will decrease the chances that players will get the same extremely strong items.
  • The red chest pool can be diluted with weaker items. The reward of getting Guppy items is too great to be balanced by the loss of a heart to the Curse room. Guppy items can also be made rare in the red chest pool using probabilities.
  • Goat’s Head needs to be made very rare. The fact that it completely removes Devil room mechanics and makes Devil deals effortless makes this item too powerful in the long run, much more so than the Book of Belial, which has the same effect but at least competes for your single active item slot.
  • Nerf the strength of the strongest items and Guppy form. Too many items in Isaac completely dominate a run. For example, Guppy could generate far fewer flies — perhaps with a limit of 2. Brimstone could freeze Isaac during the charging stage, preventing carrying the charge from room to room, or clearing a room with one shot by spreading the laser effect. Mom’s knife + brimstone could inherit Brimstone’s charge phase (it currently doesn’t). Mom’s Knife itself could be a pure melee item with longer reach (as a supplement to your tears). Flying could have its own negative effects, like traps or enemies that have stronger attacks against flying targets.
  • Reduce the number of skulls and mushrooms. These have a large unbalancing effect in the mid-game, particularly if you’re already trending OP, and especially if you get joker cards. While I appreciate the addition of additional strategic options in the design, I think fewer skulls and mushrooms would take away from the OP runs while still providing options to weaker runs.
  • Fix some items that are broken by design. For example, the magic fingers box can have a cooldown of at least 1 room. Using it would require 10 coins, and it would lump together damage rather than do damage per coin as it does now.

Ultimately, preventing common OP runs is one of the main goals of the devs at this point if Rebirth is to have longevity. As discussed in my previous post, OP runs that are rare make the game more interesting long-term, and currently, too many runs devolve into the same items (and hence the same Isaac appearance, the variety of which is one of the appeals of the game). Isaac is at its best when the randomness of the large item pool dovetails with the player’s skill — when you get an item that helps you out or changes your gameplay but still keeps the tension alive. Easily becoming OP through the game’s plethora of overly strong items just kills the challenge and removes the tension of permadeath.

Still A Great Game

Despite all my criticism of Isaac, I still like the game a lot. I consider it second only to Spelunky in the rogue-like genre. For perspective, note that most good games lack balance in places and are still good. Rebirth takes an excellent foundation with a terrific, random-based design, and mostly improves on it. Nevertheless, I feel like Rebirth missed an opportunity to fix what was wrong in the Isaac design. Some effort was definitely made in this direction: limiting the number of hearts a player could have, nerfing the D6, and making Brimstone more rare were clearly steps made to fix pre-existing problems. And yet, some things were made worse rather than better, with the casualty being the game’s tendency to over-generate OP runs, as well as its general ease once you know the winning strategy.

Currently, Rebirth can be considered an easy game pretending to be hard. The neophyte player will play a little and get the impression of a brutal, difficult game, requiring much skill. With more experience, the player will realize that the game is actually quite easy and requires only minimal skill — all that is required is pursuing the right strategy.

Binding of Isaac: Rebirth – Death of the Middle Class

In The Beginning

The Binding of Isaac was a little rogue-lite title created by Edmund McMillen of Super Meat Boy fame. I consider it one of the greatest self-contained works of art of PC gaming. Everything in this game: the art, the music, but especially the mechanics, came together to make a sublime experience. Like many rogue-lites, the game takes the familiar Zelda top-down mechanics and transplants them into a procedurally generated, randomized dungeon. Every level of the dungeon is randomized, and every level has a boss in the end. Additionally, in the rogue-lite tradition (which was just starting out at the time), every run in the game is different, and once you die, you have to start over.

McMillan made some very interesting, if not brave, decisions when designing Isaac. Most games shy away from giving the player too many passive bonuses. Passives are difficult to control and balance, unlike active powers, which can be controlled via cooldowns, resource limits, etc. Edmund reasoned that since every game in Isaac is fairly short, it would be ok to give the player passive bonuses that stack up — in the worst case, the player would beat the dungeon. The game is designed such that you need to beat the game many times to see all the bosses and all possible endings, which means that a particular lucky run doesn’t impact the lifetime of the game, except for possibly unlocking more stuff.

The true spice of the game – the part that kept you going – was the variety of items you could get at each shop, boss room, and secret devil deal rooms. The items were drawn from a large cache, meaning that you’d rarely see the same combination multiple times. Item variety, combined with varied room layouts and enemies, ensured that the game has had an extremely long life, with Youtubers such as NorthernLion and Bisnap recording years’ worth of videos of themselves playing Isaac.

It’s The Economy

Because of the game’s design choices, Isaac was very sensitive to passive items. While active items could only be held one at a time and had a cooldown, passives built up every time you got one, transforming Isaac’s look in the process. A few passive items could make all the difference between a difficult and an easy run, and therefore item distribution needed to be carefully controlled by the game designer. Despite the fact that each run was short and had little future impact, if the player became too powerful too consistently, the game as a whole would be impacted.

In general, I found that Isaac, together with its expansion Wrath of The Lamb, had good balance, despite the fact that some items or item combinations were clearly over-powered (OP). This is because the probabilistic balance of the game followed a nice normal distribution. Strong items were more rare, and weak items were common, as a way to balance them out.

To simplify things, we can look at runs in Isaac as chunks of the economy. You have the poor (the really unlucky runs), the middle class (the decent runs, with some good items and some bad ones) and the rich (the very lucky runs, where the player is given overly strong items). Isaac did a surprisingly good job of balancing out its wealth in a way that’s similar to a real-world economy: the majority of runs were middle class, with some poor runs, and some rich runs. A few runs were the equivalent of millionaires, where luck gave you such OP items that player skill was almost unnecessary, but these were rare, just like millionaires in real life. A very good player could use his skill to substitute for a poor run’s bad luck, but an average player would lose most poor runs, win most rich runs, and both win and lose about an even proportion of the average runs. The middle class, in other words, is where the player is most engaged, where the game is most exciting, where the tension of permadeath is felt most, and where skill plays the most role. Poor runs are almost doomed by bad luck, and rich runs are carried by good luck to the detriment of skill (and are thus boring). Isaac had a thriving middle class, meaning that despite having luck play a big role, skill was still dominant. The result of this level of balance was that you usually felt that the enemies were well-designed, that the items gave you the right edge to beat them, and that death was fair and a result of your skill or lack thereof.

I should mention that there are a few caveats to Isaac’s balancing act that need to be discussed. In order to create this really good distribution of ‘wealth’, items in Isaac needed to be balanced relative to their power. Strong items could either be balanced by negative side-effects, in which case they could occur fairly frequently in the game, or they could be left OP, in which case they needed to be proportionately rare, so that they only influenced a small percentage of runs. These principles appear to have been followed for most, but not all, items.

Brimstone is one item that was tremendously overpowered, and yet was quite commonplace in the original Isaac. Brimstone replaced Isaac’s tears, which were the main weapon in the game, with a wide laser beam of blood that crossed the entire screen. With one pickup, this single item eliminated the need to buff any of Isaac’s range, strength, or tear rate, making the game trivially easy. There was some intent to balance this item by needing a charge buildup before you could fire it. The player needed to hold the attack button for a few seconds and release it to unleash the laser beam. However, since Isaac could carry over his charge from one room to another, this requirement was fairly trivial and inconsequential. A more interesting limitation would have been to prevent movement while the laser beam was warming up, but unfortunately such an extensive and game-altering nerf wasn’t chosen. In any case, while extremely cool looking, brimstone trivialized Isaac runs, almost guaranteeing a victory. Had it been extremely rare, it would have only affected a small number of runs (the millionaire club), and allowed the general balance of the game to maintain its normal distribution. Unfortunately, brimstone turned up very often in deals with the devil, to the point that many players including myself had to refuse to take it with the full knowledge that we were handicapping ourselves, just so we could salvage our enjoyment of the game.

Another huge balance flaw was the D6, a ‘dice’ item unlocked for the main character (Isaac). Once you unlocked the D6, it became Isaac’s starting item, meaning that it was as common as an item could be. This item could reroll any item the game gave you into another item, and could be used quite often (every 3 room battles). This meant that just about every middle class or poor run could be turned into a rich/millionaire run, completely distorting the distribution of runs in the game. Advanced players who often played with the D6 probably didn’t realize how much they were distorting the game, and may in fact have a vision of Isaac’s balance as being really lopsided, when for the most part, it was very well designed.

[EDIT: The next post, Isaac and the Small Pools, discusses a large problem I initially misdiagnosed with vanilla Isaac when writing this article, and which happens to be the game’s biggest design flaw. One may consider brimstone to be a symptom of that greater malady as discussed in that post. The view of vanilla Isaac’s design from this post is more representative of the beginning to average player’s outlook, and could be seen as overly rosy.]

The greatest limitation of Isaac was the fact that it was programmed in Flash. This precluded things like gamepad support, larger rooms and smooth performance, but it did the job.


Enter BoI:Rebirth — the remake of Isaac in a proper game engine by Nicalis (makers of 1001 Spikes and Cave Story). I was tremendously excited for Rebirth, preordering it with the rest of the masses of fans of the first game. Edmund promised more content and a smooth engine, and I trusted him to handle the addition of new content well, just as he did with Wrath Of The Lamb — Isaac’s first expansion. While reviews have lavished praise on Rebirth, in my opinion, the results are quite mixed.

Well Done

Let us first cover what was done well in the remake. The game is extremely smooth — really, really smooth. Running at 60fps, it performs in a way that the Flash version could only dream of. Edmund also did a great job of adding dungeon variety, improving some boss attacks, making enemies that play on the themes of previous enemies, and in general, making large chunks of the game more varied and interesting. In addition, many passive items were made to synergize with each other. More on this later.

Another thing that is great to have in Rebirth is a save feature. At this point, Rebirth is a fairly long-ish game, and not being able to save in vanilla Isaac made me stop playing it — I just didn’t have a long enough chunk of time to dedicate to a full run. So I’m very glad that the ability to pick up your run and continue it is there.

Rebirth also fixed vanilla Isaac’s glaring balance flaws: the D6 has been nerfed and can be used far less often, and Brimstone is now rare due to a bigger variety of items in the devil deal item pool. This should have made Rebirth just about a perfectly balance game, but alas, it was not to be (at least not as of this writing).

Cracks in the Wall

So where do I feel Rebirth failed? Well, I feel like the balance, that was so well crafted in the previous games, is now basically broken. My first experiences with Rebirth was one that many veterans of the old game seem to have had: boot it up, play, and lose somewhere in the first couple of levels. ‘Awesome!’, I thought to myself, ‘old, cruel Isaac is back, and it’s better than ever!’. Playing another run, I hit on a cool new item. ‘Wow — that’s really cool and powerful. And it changes its behavior based on another item!’. I quickly proceeded to demolish Mom, the first big boss of the game, with almost no effort on my part. I was surprised, since this feat took me several months in the first game. Clearly, I thought to myself, this was one of Rebirth’s millionaire runs, and I just got lucky.

The problem was that most runs after that were similar to one of these first two experiences. Either I got a really bad run and died to a stupid mistake early on, or I got carried through by the huge variety of what seemed like OP items the game now had. I kept experiencing a few poor runs and many rich/millionaire runs, but almost no middle-class runs. Where was the run that gave me something good, but then screwed me over, and then gave me something else good, all the while challenging me with difficult bosses? Was I just so good at the game now that it couldn’t challenge me? I went back to vanilla Isaac to see if that was the case. Nope. Even after I got some great OP items, vanilla Isaac remained challenging. It didn’t allow me to get more than the rare rich run (I made sure not to use the D6, as mentioned above). So what is the problem?

If we compare Rebirth to Vanilla Isaac, we’ll see that the middle class is missing. Rich runs are very common, poor runs that flop occur once in a while, but middle class runs are almost nowhere to be found. Something in the game is causing middle class runs to turn into rich or millionaire runs. Another way to phrase it is that in Rebirth, skill is quickly eliminated from the game by luck — either bad or good. The result is that most runs by experienced players (who know the mechanics and enemy patterns) end in trivial, millionaire-style victories.

I have to add that I have never seen a rogue-lite title consumed as fast as Rebirth. The day after the release, people were quickly advancing from one achievement to the next. Players who never played the game before were beating mom, and then the heart (the first 2 big bosses). The game is now closer to a roll of the dice, with the result being either a sure loss (poor run) or victory (rich run). In fact, I wouldn’t even call the current version of Rebirth a rogue-lite. It’s closer to being a synergy-exploration adventure.

Unfortunately, I had to do what I hate doing, which is dive into some of the internals of the game to try and figure out the problem. I hate taking apart games like Isaac, because I love the sense of mystery that they engender. I never unlocked every achievement obsessively in vanilla Isaac — it’s just not how I play. I want to feel like there’s this great unknown black box that’s generating these wonderful, exciting experiences for me. With vanilla and WoTL, I mostly learned to trust Edmund’s  judgement. With Rebirth, as I experienced, something somewhere was messed up, and I wanted to find out what it was.

Having gone further into the internals of the game, I think I figured out what the main problems are:

Too many OP items that aren’t rare enough. Remember that in order to preserve the economy of runs, items that are strong need either a countering disadvantage or high enough rarity. It turns out that all items in Isaac are equally rare, with some specific exceptions that don’t cover nearly enough of the strong items. This is a huge problem gameplay-wise, since it means that OP items’ rarity is only determined by the total number of items in the item pool. With enough strong items *in* the pool, you’ll constantly get strong items drawn *out* of the pool.

OP synergies. One complaint in Isaac was that many items that you expected to be stronger together didn’t do anything, because it wasn’t programmed in. Rebirth addresses this by adding many synergies for items. The classic synergy example is Brimstone and Tammy’s Head, the latter being an active item that normally spat out your tears in a star shape, and which could recharge after every fight. In Rebirth, Tammy’s Head combined with brimstone spits out streams of brimstone in every direction, completely covering and destroying everything onscreen. The effect is extremely cool the first time you see it, but is also extremely unbalanced. Virtually nothing can survive the onslaught of this combo, and it can be performed screen after screen.

While this wouldn’t be so bad if the aforementioned items were extremely rare, in reality, they aren’t as rare as you might think. Remember, this is only a 2 item combination — it’s not a 5 item combination, which would be legitimately rare (the probability of each item multiplied together). Also, many other OP synergies of only 2 items exist, filling up the item probability space. It’s just too easy to get a rich run due to picking up one or two powerful items, or even middling items that combine powerfully. Hence the death of the middle class.

One may also ask, why (other than the ‘cool’ factor) do we need a synergy that includes Brimstone, which is already an OP item? If you have Brimstone, you can probably beat the game as it is. If you have Brimstone and Tammy’s Head, the game is essentially over instantly, and the game should wave a little white flag on the spot.

Too many feedback loops, or in other words: the rich get richer. Vanilla Isaac always had feedback loops that rewarded rich runs. For example, devil deal rooms were much more likely to appear if you took no red-heart damage. In theory, this is built to reward skillful players. But it also rewards OP players who can buff their HP with spirit hearts, the damage of which causes no devil deal penalty. This is a feedback loop: it makes OP players become even more OP, because now they have access to devil room deals, which almost always offer strong items or resources. Each such ‘rich get richer’ scheme works to skew the economy of runs, turning middle class runs into rich/millionaire runs. Rebirth seems to increase the occurrence of devil rooms, which in turn amplifies this feedback loop even further. Additionally, Rebirth added a new way to automatically access the devil rooms: the Goat’s Head item, which is common since it exists in several item pools, gives you access to every devil room deal.

Mushrooms and Skulls: Another example of a completely new feedback loop is the destructible mushrooms and skulls that exist in some specific levels. Vanilla Isaac had rare tinted rocks in the first few levels that when blown up, give the player spirit hearts and possibly bombs. This was a feedback loop of sorts: strong players who had bombs (or no use for them) could blow up the tinted rocks, getting more resources for themselves. However, it wasn’t so bad, mostly because the first few levels didn’t give you enough time to build up a wealth advantage. Runs were mostly differentiated in the later stages.

Rebirth takes this to a whole new level, adding levels packed full of destructible mushrooms, which give you pills and even stat-boosting items, and skulls, which give you cards. Both pills and cards can be used to boost your stats and gain resources, making you ever more powerful. However, these resources are only available to those who either have the power to smash destructibles (a new power introduced in Rebirth) or for players with either many bombs or no use for the bombs they have (ie. the rich). Once again, the rich get richer.

The worst manifestation of mushrooms and skulls happens when they cluster together in small clumps. In these cases, the player can place one bomb in the middle, rolling up to 4 drops at the same time, and showering himself with resources. So many more resources are available in the middle layers of Isaac that you actually get sick of cards and pills, while in vanilla Isaac they were a rare, cherished commodity.

Black Hearts. A new addition to the mix of HP types in Rebirth is the black heart. This heart, much like the spirit heart, can be added past your regular red HP pool and counts just like a spirit heart for all practical purposes. It is, however, much stronger than a regular spirit heart, in that destroying one of these hearts hands out massive damage to anything on-screen. This is a huge change of mechanics from vanilla Isaac, and is probably one of the big differences making Rebirth easier. Normally, a room where you take damage is probably one that exploits some weakness your character has, and will likely lead to taking more damage.  In Rebirth, if you happen to have a black heart, taking damage will likely wipe out everything in the room, no matter how far away from you, thus eliminating the threat. This mechanic itself is OP — a better, more localized effect could easily have been thought up. But it also tends to favor the already powerful runs. Such runs often tend to be accompanied by large collections of black hearts. When finally encountering a challenging room, the threat is quickly put down due to a black heart.

Fewer Crappy Items. Playing vanilla Isaac, I realized that the game often gave you crappy items — ones that contributed little to your power or that you just wanted to skip. Rebirth tries to make more items useful, and in doing so, perhaps gives you too many useful items and not enough crappy ones. The best crappy items are those that are situational. For example, Pageant Boy gives you a whole bunch of coins, which is not particularly useful to advance your character, unless you’re really short on cash. Poop, on the other hand, is literally a crappy item, generating a poop when you use it. Both kinds of items are useful in diluting the item pool.

Old Monsters, New Tricks. Rebirth uses mostly the same monsters from vanilla. These monsters were great: they were grotesque yet cute, they moved in different patterns, jumped around, left bloody, poison trails on the ground, etc. But they weren’t  built to handle the level of player power that results from so many extremely rich runs. Even the new monsters added in Rebirth aren’t really equipped to handle the level of OP-ness that constantly gets handed to the player. A common experience in Rebirth is to proceed from one screen to the next, demolishing every poor, hopeless critter onscreen with one fancy bullet pattern or another.

What To Do?

So now that we’ve seen the balance problems in Rebirth, what can be done to fix them? I think a few things can be done.

  • The drop rates of mushrooms and skulls can be lowered so they’re not as powerful. Perhaps more dangerous consequences can be introduced to blowing up the wrong mushroom/skull, so there’s some risk involved (the current consequences are too minimal).
  • The effects of black hearts can be toned down. They could do less damage, or at least do localized damage around Isaac.
  • Mushrooms and skull clusters can be reduced, so it’s not so easy to hit so many of them at once. This reduces the incentive to pop them, since the chances of rewards are much smaller.
  • Either more items need to be made Special, or a proper rarity system needs to be implemented.
  • We need more crappy items in the item pools. For example, the chest item pool easily turns you into Guppy (essentially a god mode consisting of 3 Guppy items) because it has too few drops available.
  • OP synergies need to be balanced as well, particularly if they’re not rare. For example, Tammy’s Head + Brimstone could gain a longer cooldown.

I think these solutions could go a long way towards restoring the probabilistic balance of Rebirth and its missing middle class. Currently Rebirth often feels more like a monster punching bag simulator rather than a tense game, and I hope that can be corrected.