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! The second part of this double article is dedicated to Battle Capacity (sometimes stylized as BatCap or Battle CAPacity), by Ivan Boivin (a.k.a. Cartoons!)! 

Sure this rabbit hole is deep, huh

I would have never expected to still be writing about 2D Fighter Maker 2002 in 2023. Yet, here I am, for the second time in not even one week and the FIFTH time since I have started writing my fighting game blog posts. You’ll find links to all other existing articles at the end of this page, so that you can delve into the mountains of madness yourself. But enough talk, have at you! We’re here to hear more 2DFM02 war stories, so this time I asked Ivan Boivin (also known as Cartoons!) to chime in. Ivan is the main developer and artist behind Battle Capacity (or Battle CAPacity, if that strikes your fancy) and will tell us more about his 2013 game and his current projects – still powered by ye olde reliable 2D Fighter Maker 2002!

Note: The following interview is lightly edited for clarity, emphasis and notes mine. Since this article is the second part of a two-parter (first part here), you’ll notice that the questions I’ve asked the same set of questions to both developers. This was by design in order to be able to compare the answers.

A picture of Kitsunoh in front of the moon, saying "Fear. Pain. These are my first priorities"

A 2D Fighter Maker 2002 developer in their natural environment.

From Smogon with love

First off, you might have asked yourself why I have stylized the game’s name as Battle CAPacity, at least once in the opening paragraphs of this article. The reason has to do with the origins of this game: CAP stands for “Create-A-Pokémon“, and is a term minted on the Smogon forums by the competitive Pokémon community. CAPs are artificial Pokémons engineered by users of that website to test some strategies and fill some niche roles in the meta that aren’t covered yet by real, Game-Freak-pedigree-carrying pocket critters. CAPs can be used on the duel simulator Pokemon Showdown in specific tournament formats too, which means that you can actually have a go at them, provided your opponent is okay with it. Suffices to say, all characters in Battle Capacity are fakemons created this way, from lightning bruiser Krilowatt to scout Kitsunoh. Which means, most of the characters’ special moves are named after Pokémon attacks and are limited to 3-4 beautifully animated specials and one super move.

Character selection screen of Battle Capacity, showing Kitsunoh and Pyroak, together with the list of moves.

With an impressive cast of 15 fighters, Battle Capacity contains a cadre of fakemons with incredibly varied designs and playstyles.

Battle Capacity has a pretty standard control scheme, with three attack levels (Light, Medium, Heavy), which also influence the strength of the special moves performed. Normal attacks must be generally linked into each other and can cancel into special moves. There is a dedicated grab button and a traditional super meter for ultimate moves. In addition to all this, the game also offers some interesting additions to the usual formula:

  • a unique skill button, which has different uses depending on the character and consumes some super meter;
  • a button for performing X-attacks, together with a motion. X-attacks are very versatile enhanced special moves that consume an X counter. Every character starts with an X counter, which is spent as soon as an X-attack hits or is blocked by the opponent. That causes the opponent to gain an additional X counter. There is  no way to regain X counters outside of being hit by or blocking an X-attack, which makes it a sort of tug-of-war resource that might be considered akin to a sort of comeback mechanic.

One very interesting aspect of Battle Capacity is that it features two arcade paths with different difficulty levels and a training mode of sorts, selectable from the arcade menu. Training mode is NOT a default for 2D Fighter Maker 2002, and neither are difficulty settings, which means that Ivan had to go through some creative workaround to implement them.

The game also features illustrated arcade endings, is overall quite polished and comes packed with a Lunaport executable for online play. overall, I still suggest to use software like Antimicro or Joy2Key to play this game with a joypad, due to how obnoxious controller support for 2D Fighter Maker games is.

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: It was 2007 when I first started contemplating making a fighting game. As far as I could tell, the only available options at the time were 2DFM02 and M.U.G.E.N.. The former had the more accessible interface, so I dived in, and, for better or for worse, have been committed ever since. At this point, booting it up feels like putting on a comfortable old sweater. Of course, if I were getting into the doujin-making scene for the first time today, I might look sideways at anyone picking this engine over the many other available options.

Q: What do you think should be kept, in a hypothetical sequel of the engine (here’s hoping Kadokawa will hear our prayers)?

A: I wish I had more experience with other engines, because the things I gush over may be done better elsewhere, but I think the simplicity of 2DFM’s AI construction, given how competent you can make your opponents, is really remarkable. Generally, I think the engine’s niche is being intuitive for non-programmers, so any hypothetical sequel would need to plan out features that highlight its accessibility.

Battle Capacity's training mode

Coding a training mode is harder than you think. Especially if your engine doesn’t support one out of the box.

Q: What are the missing features that have hindered development the most?

A: When I started, there was no netplay support, so I thank the Vanguard Princess people who built a solution to that. Incidentally, the people who were building the My Little Pony fighter that would become “Them’s Fighting Herds” [Note: Ivan here is referring to the canceled fan project “My Little Pony: Fighting is Magic”, originally developed by Mane6] had developed an executable that integrated Lunaport with chatrooms and they graciously lent Battle Capacity a server. Besides netplay, I repeat the old complaint about the relatively shallow Variable system. Lack of non-global variables that carry over between rounds, things like that [Note: Yamda had more or less the exact same woes in his recent interview about Robot Heroes].

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: I’m pretty proud that Battle Capacity has a Training Mode, as well as Easy and Hard Arcade Modes. I can’t take credit for innovating here since I was in touch with a community of very talented developers and benefited a lot from their research, Acid-Sama in particular [Note: Acid-Sama is the developer of the original Terrordrome: Rise of the Boogeyman]. Something like Training Mode, a must-have in modern fighters, is not a native offering in 2DFM. One way you can trick one into existence is by making the first stage in your Arcade Mode the select screen and transforming your character into the cursor. Your only moves are moving up and down and ‘selecting’. Once a Mode is selected, your invisible opponent is KO’d and a specific amount of HP is deducted from your own character which then determines which branch the story will follow; in this case, taking you to a stage with infinite time and a dummy opponent that restores its own health if left alone for one frame. In terms of sheer grunt work, some of the most grueling tasks have included giving Krilowatt a mimic skill that steals moves unique to each opponent, Arghonaut a Q-like stacking buff to his offense and defense, and creating a fixed custom combo counter that replaces the native one that sticks to the player.

Ship sate with Krilowatt fighting against Syclant

This cute krill critter can mimic the opponent’s unique skill, for each of the fifteen fighters. Coding this must have been a nightmare.

Q: Is there any specific way your game accommodates the limitations of the engine? E.g. some mechanics that you had to scrap?

A: I’d initially conceived of the X-Attack mechanic as a kind of positive hot potato that gets passed around between the players. Upon using an X-Attack, the resource would then be passed to your opponent, so the game would be in deciding when and if you would pull the trigger; deciding if the immediate gain was worth conferring that advantage. Unfortunately, I couldn’t get the characters to ‘read’ the use of an X-Attack in a vacuum. The move had to hit or be blocked, but whiffs couldn’t transfer. This ended up benefitting some characters more than others as some X-Attacks opened up movement options which they’d retain as long as they didn’t hit their opponent with that move. I ended up liking the asymmetrical advantages, but I still view the mechanic as shipped as compromised.

Q: Where can we follow the development of your current game? Any link you’d like to share?

A: I’ve inaugurated a Twitter account in honor of this interview: Most of my previous fighting work can be found on Youtube here: My more general animation work can be found here:

Wait a second…

I can hear your complaints, people. I promised you 2023-fresh-2DFM02 news and instead I talked about a 2013 game. But! Everything has a reason! Because, you see, Ivan is currently working with this very same engine at two projects! Directly from his words:

I’m easily distractible, so the one game I’ve been working has recently become two! The first is a Pokémon fangame codenamed ‘Close Combat’; it’s sort of a faster-paced spiritual successor to the early 90’s fighting game homage ‘Unfinished Pokémon Fighting Game’ which I made in 2014. The second, still in early development, is a sort of sequel I’m building on top of Battle Capacity to mark its tenth year since the 2013 release. I’m hoping to create new art, new characters, and most excitingly for me, correct many of the missteps that a decade of hindsight has made apparent to me. Look for a first build sometime this year!

I had the pleasure of trying a very early alpha version of Pokémon: Close Combat, which is already shaping up to be pretty interesting.

No way a monkey can resist Blaziken’s fiery fire kick!

Close Combat currently offers five playable characters: Blaziken, Primeape, Toxicroak, Bewear and Heracross. It plays much faster than Battle Capacity and has a rather simplified control system:

  • one button for normal attacks (forward + attack being a low attack and back + attack being a sort of anti-air normal);
  • one button for special and super attacks, in combination with a direction or a motion;
  • one button for parries.

As in the KoF and old Street Fighter tradition, grab are performed by pressing forward or backwards plus attack while near the opponent. One of the most unique aspects of the current build is that super meter is relatively hard to gain. Instead of the usual meter gain routine, a character can get one stock only by:

  • hitting the opponent with a counter hit;
  • knocking the opponent down (usually with a grab);
  • parrying an opponent’s attack.

Since meter is scarce, it must be used in a calculated way, and due to how high the overall damage is, one error might put a player at significant disadvantage. Pokémon: Close Combat is still in a very early stage and it could evolve in a plethora of different directions, but so far the art and game feel are already very good – the animations, in particular, are beautiful. All that said, it’s time for us to wrap up on this newest excursion in the realm of 2D Fighter Maker 2002, wishing Ivan all the best with his project and excitedly waiting for a public playable build of both his new games.

Game Summary

Name: Battle Capacity
Developer: Ivan Boivin (Twitter, YouTube (game), YouTube (personal))
Available on: PC (website)
Price: Free
Year of release: 2013
Engine: 2D Fighter Maker 2002
Status: Complete
Netcode: Delay netcode via integrated Lunaport
In one sentence: Fake Pokémon hitting the living heck out of each other with stylized graphics and surprisingly wild options.

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!