A Robot Named Fight! hurls players into a planet assailed by grotesque monsters of meat and bone, having them find their way through randomized paths and stages as they try to save their robot brethren from this sickening threat. Drawing from Super Metroid, players will locate handy tools that will help them get around and blast these menaces into bloody chunks. Those handy tools may not ever be in the same place twice, though, as the game uses procedural generation to constantly change up item and area locations.
Siliconera spoke with the game’s developer, Matt Bitner, to learn about the appeal of adding this kind of randomization to a Metroidvania, learning about the joys of exploring a brand new world, and how the developer hopes to capture that feeling of being pleasantly lost each time the player tries the game (which is available now on Steam).
What drew you to build upon the premise of My Robot is Fight with A Robot Named Fight!? Why come back to the concept after all these years?
Matt Bitner, developer of A Robot Named Fight! – My Robot is Fight was the first game I ever made. I always felt bad for not completing it. When I went back to play it I saw how bad it was, and I felt the urge to rectify that. I’ve always been really attached to the premise.
What new things did you want to do with the concept?
I wanted to keep the premise of a robot fighting flesh monsters and procedural generation, but otherwise it’s a very different game. When re-approaching the idea, I wanted to tie the exploration really tightly to power ups. It’s a Metroidvania with a very strong emphasis on the Metroid part of that term. When I had the idea forever ago, I was pulling a lot ideas from Diablo and Mega Man, but since then a bunch of roguelikes have come out and had their heyday, so I was able to learn a lot from those. The original idea had a lot of RPG elements, and those are all gone in favor of item-based progression.
A Robot Named Fight! features many gruesome, sickening enemies (including a flesh moon). What sort of artistic freedom do you get with these kinds of gross enemies?
It’s great! With the premise of these cancerous Lovecraftian flesh ball things, I can basically design whatever I want. Most of the enemies started out as boxes or circles with certain behaviors, and then I could just wrap those mechanics in gross meat. If I want an enemy to have five points that shoot projectiles, I can just give it five eyes, or weird shooty tubes.
What challenges do you deal with in creating an appealing action game with generated routes and item drops? In creating a Metroidvania with them?
All of the challenges. Oh man. Creating an algorithm that generates a seemingly random world map that still has all of the soft locks and impasses you’d expect from a Metroidvania is tough. Throw in a random item order and it gets even tougher. You learn very quickly that you can’t make assumptions about the player’s abilities because it can easily create scenarios where the player can get stuck. The map has to be different, but familiar; the paths have to be intuitive.
I had to create all these rooms with modular parts that support different traversal abilities. I have to account for the fact that certain items can make other items irrelevant. About a third of the way through development, I actually scrapped the algorithm I’d come up and completely rewrote it because I realized I’d have to create too much content to support it. I ended up crafting this algorithm that could look at the rooms I’d designed and make the best of it, so I didn’t need to create every permutation of a 2 by 3 room that requires slide/spider-morph in corner A and fire damage in corner B. Sorry for rambling, but I could talk about this all day. It really is the core of the game, everything else in the game is fun but it’s been done before.
What benefits do you feel players get out of this randomization?
Replayability. To me, that’s always the point of randomization. But I don’t know that every player will enjoy it. I think there are Metroidvania fans who value familiarity and long, deep play sessions, and this maybe isn’t for them. Personally, I always love my first run in a Metroidvania where things are fresh and surprising. I think the game lets players recapture that over and over while providing enough familiarity to cling to that they feel they’re improving and getting better at the game. I think it will be really magical for a small group of people that really like jumping, shooting, and being surprised.
How do you ensure players have the tools they need to survive when the game can randomize certain aspects of play?
There’s a short answer and a long answer to that. The short answer is that an intended item order is determined first and then the algorithm designs the map around that. The long answer involves a bunch of terms and jargon I made up just to be able to name variables and parameters. I could ramble on about effective jump heights and the differences between traversal limitations, traversal requirements and traversal capabilities… spoke paths, branches and validating room abstracts, but I don’t want to inflict that on anyone.
You mention that there are fifty weapons/traversal items. How do you make each weapon and item feel unique and worthwhile?
I think I’ve actually got over 60 in there now, but of those, only about a third are truly needed for traversal. The rest are optional, helpful items. I want to keep adding more after the game is released. Not all of them are unique, and not all of them are worthwhile. You have to have some bad Magic cards to make the good ones stand out. Items like maps and health buffs are there to help new players, but experienced players will outgrow their usefulness. I’m sure energy ups will become cursed by a number of players, because some runs feature very few energy items, but if you happen to get a ton of energy buffs and something like celestial charge, which is basically a Mario-like super star you can toggle, you’re set for your whole run.
Hidden synergies are really important to me. But there’s an orb that shoots a single bullet, and an orb that shoots 3. Those two orbs aren’t unique, but they’re at least mechanically different. That said, I did intentionally avoid things like numeric modifiers. There are not 40 different armors that give +1 to +40 AC, etc.
What aspects do you feel are important to a solid Metroidvania? How did you include them in A Robot Named Fight!?
A solid Metroidvania is exploration focused. It has meaningful backtracking, where you revisit familiar areas and discover new things. It has a ton of secrets you become familiar with. In A Robot Named Fight!, the whole map is generated as a large loop. You visit a lot of small branches off the loop to gain the items you need to continue along the main path, but there are plenty of branches you’ll pass along the way that’ll encourage you to backtrack for more power.
There’s not a lot to indicate where the specific door that leads to the next area is, but there’s a flow to every map that becomes familiar. Nearly every room has a spot where secret items could be, but they’re not always there. Players can become familiar with the location of these secrets in the context of a single room, but that room won’t be in the same spot in their next run. It may not be there at all. I really tried to strike a balance between familiarity and surprise because I feel like a good Metroidvania always plays with those things very carefully.