How Enter the Gungeon brought bullet hell to the dungeon-crawler

This is The Mechanic, where Alex Wiltshire invites developers to discuss the inner workings of their games. This time, Enter the Gungeon [official site].

Enter the Gungeon’s conception was an idle conversation about what shape a game called Enter the Gungeon would take. And here’s what it led to:

1. It’s a dungeon-crawler in which you shoot guns.
2. You’re entering the Gungeon to find a gun so powerful it can kill the past.
3. Every enemy is a bullet.
4. The enemy bullets shoot bullets.

Great gouts of bullets. Bullets which radiate and fan out like flowers across the screen. Because if you’re going to make a game about guns, it kind of makes sense that it would feature:

THE MECHANIC: Bullet hell

Not that traditional shmup-style bullet hell is necessarily a logical fit for a dungeon-crawler. The inspiration came from a source the many shmup fans will bristle at: Ikaruga. Ikaruga isn’t a purebred bullet hell game, but lead developer Dave Crooks loved its core mechanic of switching colours, which gives your ship immunity to bullets of the same colour. It seemed to chime with his other love for Dark Souls, particularly its dodge roll and the frames of invincibility it grants (a love so deep he named his studio after it). So Gungeon became a game in which you dance through dense patterns of bullets.

Incorporating bullet hell patterns in a 2D action dungeon-crawler wasn’t simple. The first prototype took a straightforward and perhaps obvious approach, with enemies constantly pointing a gun at the player, and its muzzle was the spawn point of its bullets. The game then had control over the number of bullets, their angle and frequency, and random delays between the patterns. But while it might sound like all you need to create bullet hell, it didn’t nearly provide the variety and interest of patterns Crooks and his team at Dodge Roll wanted.

“I was playing all these bullet hell games and watching videos and I was thinking there had to be a system in there,” Crooks tells me. “People have pioneered this stuff so we should follow in their footsteps.” Turns out there was a system, and people had indeed pioneered it: namely, Kenta Cho, legendary doujin shmup maker behind Noiz2sa, Gunroar and Tumiki Fighters. He’d made an open source bullet scripting system called BulletML, which gave control over the spawning of bullets.

Crooks and his team began to incorporate BulletML into their game, but soon found even that wasn’t enough. It couldn’t encompass the growing range of enemies and items Dodge Roll was coming up with and simply wasn’t designed for the fundamental difference between the open scrolling field of a standard shmup and the freely explorable 2D space of a dungeon crawler.

For example, they’d designed a boss called the Kill Pillars, which rises and then slams down, creating spokes of bullets that spin around the centre of its impact and rings of bullets that radiate out from it, causing you to have to dodge roll through them. None of the bullets have what Crooks calls singular velocity – they’re all on different arcs and moving at different speeds – and he says that the game also has to wipe some of them off the screen in certain cases to prevent the player getting stuck in a sea of bullets they can’t avoid.

“What that meant is that the bullets have to be smart,” he says. “They don’t just have to know where they are and should be going, they need to know where the player is in the room, where the other bullets are, and to be able to have complex movement that’s not just based on speed and acceleration, but also game rules.” Gameplay programmer Dave Rubel was having to spend so long extending BulletML to fit Gungeon’s weird shape that he began making his own version, RubelML. And as it came together, the team finally started to be able to achieve what they wanted with bullets.

The challenge wasn’t purely about making nice patterns. Much more subtle control was necessary for designs like the Lore Gunjurer, which sets down a book and out from it emerges one of three bullets: a warrior, rogue and mage. The rogue appears suddenly behind you and strikes very fast so you have to roll away. There’s also the Revolvenant, which has a special attack which involves it reaching its arms around the player in a circle and slowly contracts them until, at just the right moment, the player dodges it. The problem with both these enemies was that they’re so demanding on player attention they simply aren’t fun if there are other enemies to deal with at the same time. RubelML enabled them to only use these attacks when there are no other enemies around.

The patterns themselves emerged in various ways. Some were initially visually designed to make the player go, as Crooks says, “‘Oh shit! This is a real moment!’ This boss feels weighty, feels like a Metal Gear boss, you know? Then we tightened it and tightened it so it had that balance of pressure and fun, and make sure it’s not cheeseable.” Other patterns were about filling in holes, adding specific kinds of pressure to encourage the player to move more or perform certain actions. Still others emerged from the enemy character design and what seems like it’d naturally do, or just the wish to be ridiculous, such as Ammoconda, the snake boss which fires bullet patterns that play Snake with themselves.

The next challenge was presenting the bullets to players. From the first prototype to release, they’ve doubled in size twice and been made so bright you can’t miss them. From playing, you might have a memory of them being red, but as Crooks says, “They’re really 90% white and a very dark red halos and a second ring of darker red, almost black, around that, which is pretty much invisible because the bullets move so fast.” Dungeon floors are almost uniformly very dark so they show up (a level set in heaven was scrapped because bullets simply didn’t read well enough against it). Then two layers of lighting are applied to them, one of them Unity’s own and the other entirely custom, adding a stylistic contrast to the rest of the visual design on top of everything else.

Like any bullet hell game, the actual collision box for bullets is smaller than their visual size, but it follows an important rule Crooks imposed on the game, which was for it to feature “minimal bullshit”. Every impact must be explicit and feel fair. (Incidentally, other rules were: “Everything must animate, everything must have a reaction and everything must have a face”.)

The solution to collisions of minimal bullshit was being pixel perfect, and even here, Dodge Roll faced creative questions. As a modern game built in Unity, it runs at your screen’s resolution. But as a pixel game, what you see adheres to a much coarser scale, and the game uses each as appropriate. “We call it macro pixels and micro pixels. Micro is a screen pixel, while a macro pixel is a block of colour. All our collision system is pixel-perfect and tuned so it feels like an arcade game, so it feels like bullets absolutely connect, and nothing overlaps anything unless we say it’s OK.” The player’s collider is a macro pixel inside its art, and the bullet’s is two macro pixels inside its art. So when you’re hit it should look like three pixels are overlapping, a clear and evident indicator.

Then came the tuning of encounters, and combinations of enemies often introduced unforeseen interactions. “We were encountering this problem where we were designing enemies with cool patterns which would fill the room with bullets,” says Crooks. “But if you kill the enemy right away the danger is zero, and if you put two in the room it’s completely impossible.” The solution to designing around this, which informed all Gungeon’s encounter design, was to have an easier enemy that the player would see first, presenting a distraction which would allow the harder one to spool up its attack.

Similarly, enemies will stagger the timing of their attacks to prevent, in Crooks’ words, “That perfect fuck-you moment where you dodge the first one but as you come out of it you get clipped in the back.” The approach suited boss attack patterns, too: when an attack felt unfair or just wrong, it was rarely a case of cutting it, instead it was about ensuring attack B didn’t come directly after attack A, so its bullets had a chance to exit the screen.

Still, it was Crooks’ aim to make Gungeon a hard game, one that’s pitched just above what he personally feels is comfortable, but he says that there’s a point where the mechanics break down with the speed and sheer overwhelmingness. “I like to use the world pressure, that put pressure on the player without it feeling like you’re overwhelmed or totally held down and punched in the face. Lots of thought into making everything readable and feel fair and if you do get hit, it looks like it and you understand why. I feel we’ve done a good job of that, maybe even a very good job. Obviously, there are fans who will say that there are definitely still some bits of bullshit left in the game, but we tried our best to minimise that shit. We really really care about it.”

17 Comments

  1. TimRobbins says:

    My game of the year, easily. Can’t wait for the supply drop update and expansion next year.

    • jimmyjack says:

      Yea I would say that this was my favorite game of 2016 I spent more hours playing this game then any this year, and I still haven’t beat the last boss.

  2. KDR_11k says:

    I wish I liked the game but I just don’t enjoy its playstyle. I guess it’s the extreme stinginess with health recovery items that demands far more perfection than I can deliver. Some modern roguelites just seem to think that taking 0-1 hits per floor is normal performance. Isaac on hard is easier than Gungeon…

    • lukebee says:

      I really love Gungeon but I have to agree that the stinginess with drops is sometimes painful. I really hate getting screwed over like when a lack of ammo drops forces me to use my starting pistol on the final level, or when I’m low on keys and the shop (which is usually a guaranteed source of keys if you haven’t gotten any yet on that floor) requires one to get inside, and don’t get me started on how long it took to get the shortcut unlocks!

      • Halk says:

        God, the shortcuts… The game is otherwise so good, that it really pains me they ruined it by making the shortcuts so tedious, hard and reliant on luck. If I want to unlock the shortcuts, it’s because I don’t want to play the same early levels again and again and waste my precious time on them because I am only good at the game, but not perfect. The way to unlock them makes the whole point moot.

        It’s really sad, because the game is otherwise pretty much perfect.

  3. Hellraiserzlo says:

    For me Nuclear Throne was the better rougelike shump…

    • Bull0 says:

      Logged in to post the same thing! Throne is superb, Gungeon is mind-numbingly dull.

      • Jaunt says:

        Counterpoint: Gungeon and Isaac are both better than Nuclear Throne.

      • pennywyz says:

        Gungeon’s levels seem overly large and empty in comparison to Nuclear Throne, and I feel like at least in the early levels I am spending at least half my time running around doing nothing. The warp things don’t help much IMO, never in the place where I would realistically want to use them. The thought of traversing more empty rooms makes starting over after a death even more painful.

        Add in the sparse health drops/items and it just doesn’t feel fun to me. Granted I’m not good enough to make it past the second (maybe third?) level boss but if you’re going to make a game that you have to restart repeatedly, the opening levels better be fun.

    • Ericusson says:

      Well I got above 120 hours into both of them.

      Enter the gungeon is a finished game with its own merits.
      The difficulty is Nuclear Throne got out first so it was difficult to switch from one to the other specially when NT had the potential to spend many hours on it to progress (and for most players, progress was difficult).

      In terms of game speed, Gungeon seems so very slow when coming from NT, but all its gameplay is nicely timed with its elements of bullet hellish thingie and it has a rhythm to it that works with the reloading mechanism etc. So it took me a while to make the transition but once I got to it, playing EtG on the TV with a pad was an excellent adventure while it lasted (but frustrating with its stinginess indeed).
      No way I would play NT in this relaxed manner.

      EtG was really disappointing for me with its gun design which just don’t feel powerful for most and are pretty much underwhelming, especially when you compare the experience to the punchiness of NT’s arsenal and sound design.

      NT has such an elitist streak that, as much as I spent some good hours on it, the design philosophy and community around are spiteful and rude. The game also never got finished by – never again – Vlambeer and its obnoxious developer who one day simply gave up on its latest patch development without a word of explication, leaving the game in a limbo of … meh.

      Because of this and his public declarations, Vlambeer won’t have my money again, as I would probably gladly get some more EtG if a paying DLC with enough content was one day released past the patch supposed to be released this month.

  4. Compson says:

    In terms of playstyle and ‘feel’ I very much adored exploring the Gungeon. However, what left a lasting impression upon me was its indelible parody of Dark Souls style world-building (a series which I also enjoyed). Gungeon imbues each unlockable item with a semi-absurd narrative or cosmological significance, and the continual referencing of bizarrely isolated, pointless events that are given ridiculous religious or cultural impact really added to the absurdism of its world.

  5. MrBehemoth says:

    Ohhhhh! It’s a Gun-geon! I thought it was a Gunge-on.

    …As in the questionable form of entertainment that was so unwholesomely popular in 90s kids’ TV… Because, you know, dungeons sometimes have slime… um.

  6. Chemix says:

    I am just not good enough at bullet hells to really get through the bosses. I, like those above, would definitely like to see the game get more liberal with its loot, however, I might, possibly unlike those above, go a step further and ask for difficulty settings, the simplest example being the amount of health you start with, but depending on how updates change the drop rate, this might be unnecessary for most players.

  7. smeaa mario says:

    This is why I am never getting into this game, although I like the looks of it and am overall an addict of dungeon crawlers. In my humble opinion, such a frustrating mechanic as bullet hell has no place in a dungeon crawler. Even the mere idea of it drives me nuts.

  8. Chemix says:

    Question: Is Nuclear Throne also a bullet hell? (not as literally, of course)

  9. mpb says:

    The player’s collider is a macro pixel inside its art, and the bullet’s is two macro pixels inside its art. So when you’re hit it should look like three pixels are overlapping, a clear and evident indicator.

    Hmmm, I do not understand. How does this work, exactly? Are all macro pixel’s the same size? Are all macro pixels square? Rectangular? Polygonal? Are the two bullet pixels arranged horizontally? Vertically? In some other arrangement? Perhaps they are arranged along the direction of motion?