Surprise, surprise! It’s the year of the lord 2023, and there are still games made with our friendly neighborhood dinosaur 2D Fighter Maker 2002! Thus, it’s time to listen to the war stories of those brave developers who tamed the beast, in this new double feature dedicated to our beloved coelacanth and some games made with it! We start this week with Robot Heroes, by French indie developer Yamda!
Down the rabbit hole, once again
It’s 2023. The world is going through some sort of global catastrophe and we, as a generation, have only two certainties: taxes, and new games made with 2D Fighter Maker 2002. Now, don’t tell me you are surprised, because I won’t believe you. After all, our 22 years old friend has never truly faded away as the recent showing of Inahochou Dynamite Bomb and Axel City 2 at the JAEPO 2023 expo clearly showed (with rumors about a special version of the engine made by Gotchagotcha games, no less).
While I’ve managed to verify with my sources that the 2DFM02 version which runs on exA-Arcadia is indeed a custom build with support for coin play and “here comes a new challenger” arcade interruption, this seems to be a publisher-exclusive version that isn’t even distributed to the developers, so it will probably remain a mystery for the moment.
What we can do, instead of idly speculating about a 2D Fighter Maker 2002 successor, is looking around to see what is actually being developed as we speak. And the answer, surprisingly, is a lot. Today, we have the pleasure of talking with Yamda, the French developer behind Robot Heroes – an indie fighting game that doesn’t even look made with 2D Fighter Maker 2002 – yet, for some godforsaken reason, it is (the following interview is slightly edited for clarity, emphasis and notes mine).
Two words about Robot Heroes
Robot Heroes is a 2D fighting game with six playable characters, currently available for free on GameJolt. The game uses six buttons for attacks:
- Light, Medium, Heavy attacks (called A, B, and C respectively), which can be combined with directions to trigger special attacks;
- The Gauge button (D button) that, combined with a direction, will trigger powerful moves at the cost of some meter;
- The Dodge button (E button), used for dashing, dodging or whatever movement option characters have at their disposal;
- The Guardbreak button (F button), that doubles as a focus attack-kind of button when pressed together with forward.
There are also ultimate supers that cost the whole 9 bars of meter and are accessed by pressing the Gauge button without additional directions.
Until recently, the game used a soundtrack ripped from various games, but as of the latest update it has replaced it with a fully original score. As all 2DFM02 games, the gameplay modes are limited to Versus and Arcade and there are no real audio or video settings. To play with a controller, I suggest using software like Antimicro or equivalent, as switching on joypads in-engine will cause stutters on most modern PCs.
The game has a unique aesthetic and a very cryptic world, with some juicy lore hidden around the stages and the loading screens. Also, you might notice Krave from my game Schwarzerblitz as a background character in Etann’s stage – just saying 😉
And now, for the interview…
Q: Okay, first thing first: WHY 2DFM02?! Have you considered any other engines before going for this accursed tool?
A: Alright let’s do this! First off, thank you for thinking about my project ! It’s quite wild thinking about it, that the creator of one of the first indie fighting game projects I saw is now interviewing me! I wasn’t actually planning to use 2DFM at the very beginning of the project, but Construct 2. You see, Robot Heroes is actually an extremely old project, almost a decade old now (ouch). At the time I was a middle schooler with no drawing tablet, no coding skills (I hated coding) and of course, no budget… but I discovered Construct and made a video game with that, a platformer named Robot Hiro. It was buggy, with no sound and six levels. I’ve made it only to “train myself” in order to make, other, bigger games. I planned to ramp up in intensity until I had the skills to make an RPG of my own (yeah, I was a middle schooler remember? [laughs]).
So my smooth brain, having finished this platformer thought : “Hey, if you think about it, a fighting game is just like a platformer in terms of mechanics! You just have to add a crouch button, a block, and a few attacks. I’ll make my own Tekken, simple right?”
Yes. My own Tekken. I distinctly remember saying and thinking that.
I actually kinda made a prototype in Construct at the time, menu and all, and it was terrible of course, but quickly switched.
Construct 2 had this 100 event cap, meaning you could not add more than 100 instructions into your whole game if you didn’t buy the full version. Moreover, it was impossible to group different objects into groups, which was not at all practical for a fighting game (no way of making a character class). So I had to find an alternative. Unity was too “code-y”, as well as M.U.G.E.N.. That’s when I made the acquaintance of this accursed software known as 2D Fighter Maker 2D. It was perfect for me at the time: make a fighting game quickly, à la RPG Maker. So that sums up the why, I think. Uh lemme grab a few screenshots of the very first robot heroes, if I can find them…
Here, this was a “fight”. There is only one lifebar, because I couldn’t figure how to make two of them with the limitations I talked about before. As you can see you have the old version of Kucci and Etann (named Hiro at the time—I simply recycled the protagonist of Robot Hiro and made him the main character of the fighting game).
Q: What do you think should be kept, in a hypothetical sequel of the engine (here’s hoping Kadokawa will hear our prayers)?
A: What should be kept? Hmm, I don’t think there are a lot of things that should be removed from the engine to begin with, except maybe that weird combo counter thing where it appears next to the character and doesn’t even count properly (seriously, why?!)… it’s more that this engine is severely lacking in some aspects, it’s not even QoL at this point. Especially in the variable department:
Not naming them? Limited number of variables? You cannot choose what they do? You cannot do basic math with them, only ADDITIONS? It makes for some hilarious horror stories (we will get there…[sobs]) but come on! [Note: The variable system of 2D Fighter Maker 2002 is oddly limited. You can assign different gameplay values to variables (e.g. screen position of a specific object), but you can’t subtract, multiply or divide them, only sum. This makes usually trivial things horribly complicated to implement. Compounded with the fact that vital quantities such as the remaining life or super meter of a character cannot even be assigned, this makes for a very hard system to deal with, especially when trying to code more complex actions]
Q: What are the missing features that have hindered development the most?
A: I think this lack of flexibility is what is keeping this engine behind. You can always flip the engine over its head, do breakdance with the variables, or use these limitations to your advantage but there are just some things you will never be able to do naturally, like save files. To my knowledge, at least, it is impossible to make the game write something onto your files, it can only read and execute instructions accordingly… so, impossible to do—let’s say—a story mode where you can save your progress, or unlock characters directly in the game. These limitations have made me go back to the writing board multiple times and I have often thought about changing engines. This is just an example among many others… in reality, it affected many decisions during development. I feel like I could go on forever.
Q: What is the smartest engine “hack” you are proud of? What was the hardest mechanic to implement? I’d like to hear about the most bizarre or soul-wrenching workaround you have come up with, while working with 2DFM02.
A: Oh boy… so many tricks used in order to make this game it is insane. Hm… let’s start by talking about the graphical part, the artstyle and all. The artstyle of Robot Heroes was directly born from the color limitations of 2D Fighter Maker 2002. As you can see in the construct prototype [see figures below], I was originally going for a “realistic”—or at least shaded—look. But shading in 2DFM02 is not really possible unless you truly are insane, for you only are able to have 256 colors in your palette. So my previous artstyle had to go to the trash and I had to find a way to use, well, less colors. Enter the very first version of Robot Heroes…
As I couldn’t animate (hated that too, surprisingly, at the time), and as 2DFM02 forces you to import the sprites of each animation one by one (no direct skeletal animation possible), I had to find one of my first, albeit indirect, 2DFM02 workaround: draw the key poses of the animation… then apply a weird motion blur then reduce the colors of that motion blur.
The weird color effect is because I didn’t actually know how to properly reduce the colors of an image, and so I had a lot of undesirable extra colors that were somewhere between the colors of the characters and of the background if that makes sense… I still heavily make use of smears today to cut down animation time ! [laughs] The second major graphical workaround is the lighting, a problem that still frustrates me today. You can’t really add light sources, or anything close to that in 2DFM02, and, as I wanted to create different moods, especially dark and dramatic moods à la Moonlit Wilderness of Tekken 5, I found a, pretty interesting way to do that, using a pretty unpractical block of 2DFM02: the Color Block [Note: As shown later in the article, any action in 2D Fighter Maker 2002 is programmed by stringing together “action blocks”. The Color Block is one such block.]. From my understanding, this block is normally used in order to create things like hitsparks, or even apply basic color effects to your character, but—weirdly enough—you can also use it on the stages.
so I just had to put some big images with the color that I desired, and apply a color effect in order to vaguely give the illusion of different lightings and light sources.
A trick that I still use today, it even grew up with some extra halftones slapped on top of it. So, that the roughness of the light sources and the inaccuracy looks somewhat intentional [laughs] (if I’m not mistaken, this trick is what initially deceived you into thinking the game wasn’t a 2DFM02 one) [Note: Indeed. The graphical presentation of Robot Heroes made me doubt it was made with 2D Fighter Maker 2002, so credit where credit is due].
The most complex visual thing I had to create was, unsurprisingly, Kikamen’s super. A mix of various color blocks, objects that appear and disappear, lining up the animation of both Kikamen and its victim in order to create some kind of cutscene.
Kikamen's super isn't the same depending of the character they're facing.
For everyone has their own fears…#gamedev #animation #art #fightinggames pic.twitter.com/2l0cDDWJuR
— Yamda – Try Robot Heroes on Gamejolt !! (@mady_ela) May 10, 2022
… and the end result.
This above is part of the setup. Well, as for the gameplay tricks I used…[sobs] The one I’m the most proud of is Shaera in their entirety
Shaera has a puppet, which I mentioned on Twitter already.
somebody : should i use 2D fighter make-
me and probably @AndreaDProjects : pic.twitter.com/A4mdkQCw0j
— Yamda – Try Robot Heroes on Gamejolt !! (@mady_ela) January 17, 2023
It can attack and move and no need to say it was extra pain to do. But that’s not all… Shaera also has traps that react to the opponent’s touch. The trap is originally a projectile and it changes trajectory depending of how long you press the button. That also was pretty fun to setup… BUT THAT’S NOT ALL [cries].
A summon that kinda goes unnoticed is Shonon. Their down D, specifically. Shonon was also originally a puppet, but it was too messy gameplay wise. So, instead, I made them a unit that reacts to the opponent’s actions. If the opponent jumps, Shonon jumps too and does a jump attack. If the opponent does an attack from a distance, Shonon guards, effectively protecting Shaera, then does a long range attack of their own. If Shonon’s close enough, they do a slow, damaging attack that pushes back the opponent… worst thing is, I restricted my use of system variables so I couldn’t do things like “check the other player’s position”. No, I had to use hitboxes to do all that [pain].
Q: Is there any specific way your game accommodates the limitations of the engine? E.g. some mechanics that you had to scrap?
A: See, the mechanics I’ve discussed until now… these are not even the most monstrous things I have done: that award goes to mechanics that were sadly scrapped for gameplay reasons (but that I would GLADLY put back in the game if given the occasion): A sword that you can put down and pick back up like in Samurai Shodown and a switch button, to switch which character you control. That was originally intended for Shaera and their puppets, but was too much of a mess to control. But that stuff worked, somehow [pain]. To wrap this up, I’d say that working with this engine is challenging and nerve wracking but the limitations truly brought out the potential of Robot Heroes. It would never have been like this if not for these specific things. Plus, there is a lot of fun thinking outside of the box and pushing that thing to its limits until it keels over …though I’m not recommending this engine to anyone except the insane, and will gladly switch engine if I end up making a follow-up game [pain]. I basically have to, if I want to tell the whole story of robot Heroes.
Q: Where can we follow the development of your current game? Any link you’d like to share?
A: I’m mostly active on Twitter (@mady_ela) and on Tumblr (yamda). Link to play the game is here on GameJolt!
Name: Robot Heroes
Developer: Yamda (Twitter, Tumblr)
Available on: PC (GameJolt )
Year of release: 2022
Engine: 2D Fighter Maker 2002
Status: Early access (version tested: Build 0.3)
Netcode: None (Lilithport or Parsec)
In one sentence: A heavily stylized, robot-centric fighting game that takes the 2D Fighter Maker 2002 engine to its absolute limit.
If you are interested in more coverage about indie fighting games, you can find me on Twitter at @AndreaDProjects
The Neverending Story
Since 2D Fighter Maker 2002 is probably never going to die (for better or worse), you might be interested in reading more about games that were made with this accursed engine – or even about the engine itself!
- 2D Fighter Maker 2002 – Eulogy to a Dinosaur Engine that Refuses to Die
- 2D Fighter Maker 2002 – The Lost World (Part 1) ~ Angels of Battle v1.5
- 2D Fighter Maker 2002 – The Lost World (Part 2) ~ Inaho Town – Dynamite Bomb; Ganbatte Karate
- 2D Fighter Maker 2002: A Space Odyssey (Part 1) ~ Robot Heroes
- 2D Fighter Maker 2002: A Space Odyssey (Part 2) ~ Battle Capacity (coming soon!)
He/him, PhD in Physics, developer of Schwarzerblitz, full-time programmer, part-time fighting games connoisseur. I’m always on the lookout for any new interesting indie fighting games while developing my own, so feel free to reach out on Twitter in case you have something cool to share!