Why nothing generates a fighting game, and what can be generated
By Eduardo Orellana · Updated
Flockbay is free on your own Claude or ChatGPT plan. Claude Pro or Max, or ChatGPT Plus or higher, builds a real Godot project in the Godot editor. Claude Free and ChatGPT Free do not run here. More models are optional, a credit reload at API prices. Windows today. The engine is the official Godot release. A fighting game is frames. You can generate the states, the inputs, the health bars and the stage in an afternoon, and none of that is the game. This page is about which half is generation and which half is you.
The generatable half
A surprising amount of a fighting game is structure, and structure generates well. Two characters, a round timer, health and meter, a state machine per fighter covering idle, walk, crouch, block, hit, launch and knockdown. An input buffer. A move list that reads from data. Round win conditions and a match loop.
Describe that and Flockbay writes it as GDScript in your project. It is a large amount of tedious code and it is genuinely the kind of code a model writes well, because it is well-trodden and the requirements are precise.
What you get at the end is a game where two characters can hit each other and someone wins. That is a real milestone and it is a long way from a fighting game.
The half nothing can guess
Startup frames. Recovery. Hitstun and blockstun. Whether a launcher combos into the follow-up at all heights or only near the corner. How much pushback a blocked heavy gives. Whether a throw beats a mash. Those numbers are the game and there is no correct value for any of them in the abstract.
A generator cannot know them because they only mean something relative to each other and to how your specific game reads on screen. The only way in is to play it, feel that the medium punch is doing too much work, and change it.
So the useful thing an AI does here is not deciding the numbers. It is making every number cheap to change, so that the loop of playing, disliking something, and adjusting takes a minute instead of an evening.
You still have to look at it
Fighting games are read visually at speed. A move needs a silhouette you recognise in five frames. A stage needs to not compete with the characters. Hit feedback needs to land on the frame of contact or the whole thing feels underwater.
That is why the stage and the presentation are built by hand in the builder rather than described. You place it, you look at it from the camera the player has, and you move things.
You do not need to write the code to know a hit does not feel like a hit. Playing it and saying so is the job.
The practical part
Flockbay is a desktop app for Windows. Underneath is Godot, open source, and the game runs locally on the copy bundled with the app. For a genre where a dropped frame is a dropped combo, running on your own machine rather than in a tab is not a small detail.
Building needs an internet connection. Playing what you built does not. Flockbay is free on your own AI: your Claude or ChatGPT plan, your own agent, or an API key.
Data, not branches
One request is worth making early and it changes everything afterwards: ask for moves to be defined as data rather than as code branches. A table of moves with startup, active, recovery, damage and hitbox values, read by one shared state machine.
The reason is that balance is hundreds of small changes. If each one is a code edit, you will make fifty and stop. If each one is a number in a table, you will make five hundred, and five hundred is roughly what a fighting game needs.
Flockbay will write it either way. Which one you get depends on how you describe it, and this is one of the few places where the phrasing of the first request has consequences for the whole project.
More on this: Making a fighting game, honestly the hardest genre to fake
Two fighters who are actually different
The cheapest way to make a generated fighting game feel like a game is to make the second character genuinely unlike the first. Different range, different speed, a different reason to win.
Mirror matches teach you nothing about balance, and a roster of characters with the same tools at different numbers is a mirror match with extra steps.
Describe the difference in terms of what the character wants to do rather than in stat adjustments, and the code you get back is usually closer to a real archetype. Then play both sides and find out whether it is true.
A starting project for this is the action and fighting game templates. The design note that goes with it is what makes a good combat system.
Questions
- Can it generate a complete fighting game?
- It can generate the structure quickly: states, inputs, rounds, health, a move list driven by data. The balance and the feel come from you playing it and asking for changes.
- Can I get rollback netcode?
- Netcode is code, so Flockbay will attempt whatever you describe, and your project is a normal Godot project you can also extend. Nothing about rollback is a solved checkbox in any tool.
- Is it 2D or 3D fighters?
- Either. It is the first question a new project asks, shown as two pictures, with no default and nothing created until you pick, and neither one is the case the app is built around. Worth knowing before you pick 2D: Flockbay generates a single flat picture and not an animated one, so a 2D fighter's frames are your art, an artist's, or the web's. The stage and the props around them come out of the Catalogue, which is mostly sprites.
- Do I need to know frame data to use it?
- No, but you will end up caring about it, because it is what you are adjusting when you say a move is too strong.
Related
Free to download for Windows. Generate the skeleton, tune the fight.
Download Flockbay free