# Making a fighting game, honestly the hardest genre to fake

A fighting game is the genre where players can feel a single frame. That makes it unusually unforgiving, and it also makes it a genre where being able to change a number and play again immediately is worth more than anything else. Flockbay is free, AI included: free hosted AI every day, or your own Claude, ChatGPT, agent or API key. It runs on Windows, macOS and Linux, on the official Godot engine.

Source: https://flockbay.com/fighting-game-maker/ · Updated 2026-10-01

## What a fighting game really is

Two characters, a small stage, and a set of moves with precise timing attached to each one. Startup frames before a hit lands. Active frames when it can connect. Recovery frames where you are vulnerable. A hitbox that says where the attack reaches and a hurtbox that says where you can be hit.

That is the whole genre, and it is why it is hard. Everything is numbers, the numbers are tiny, and the difference between [a move that feels great](/blog/how-a-super-smash-bros-fighter-is-designed/) and a move that feels awful is often two frames in one direction. No tool decides those numbers for you. Playing decides them.

What a tool can do is make the distance between "change the number" and "feel the result" as short as possible. That is the real requirement here.

## The loop that matters

You tell Flockbay what a move should do: this attack has a slow start, hits high, and leaves you open if it whiffs. It writes the GDScript into your Godot project — the state machine, the frame timings, the hitbox activation, the cancel rules if you want them. Then it runs the game itself, sends the input events for the move, and reads stdout and the debugger, so the move that reaches you executes rather than stopping on a GDScript parse error.

Then you play it. Against a dummy first, then against a friend on the same machine. You will know within a minute whether the move feels sluggish, and you will not be able to say why in engineering terms, and that is fine. "It comes out too slow" is a complete instruction here.

Repeat. A fighting game is not designed once, it is tuned dozens of times, and the person doing the tuning is the person holding the controller. [Not writing the code](/blog/how-to-judge-a-game-you-did-not-code/) is no obstacle to that at all.

## The 2D fighter is the harder design, not the harder build

A new project reads whether you are making a 2D or a 3D game from your description, and creates nothing until you confirm it. Both answers get you a fighting game. They are not the same fighting game.

A 2D fighter is the classic form and it is the more punishing one to design. Everything is spacing along one axis, so players read distance perfectly and every mistake in your timing is visible. That is a fact about the genre rather than about any tool. The stage is a flat project's ordinary work: Flockbay paints tile ground, and the tiles, the edges and the collision follow from which cells are ground; the wall behind, the crates at the edge and the crowd are [sprites placed at an exact position, rotation and scale](/2d-game-maker/). The character is a 2D character body with the camera on it, and walk speed, air control, gravity and jump apex are numbers you can move.

A 3D arena fighter is more forgiving to design, because movement in two directions blurs exact spacing. Flockbay [builds the arena](/no-code-3d-game-maker/) with its world tools — the floor, the walls, the lighting, whether there are edges to be knocked off — and that stage geometry is a real part of the design rather than a backdrop. When the ring-out edge sits a step too close, say so, or move it yourself: the same world tools are buttons around the Godot editor's 3D view, and Godot's undo takes it back.

Flockbay writes the move states, the frame timings and the hitbox activation either way, into the same kind of Godot project. The dimension is not the constraint; your patience for tuning is.

## The parts to be realistic about

Online play with rollback netcode is a specialist problem and it is not a thing to attempt on your first fighter. Local play against a friend or against a dummy is where the genre is actually learnable.

Animation is the other cost, and in 2D it is the one to be plain about. A fighter reads through its animation more than any other genre, and the poses have to communicate what the frame data says. Nothing here generates a multi-frame sprite — Flockbay can make a single flat image, not a six-frame sweep. Those frames come from you, from an artist, or from the Catalogue, which holds 55,073 sprites. However you get them, that work is real and it is yours.

Flockbay is a desktop app for Windows, macOS and Linux, so your game runs locally on the bundled Godot at full framerate, which is not negotiable for a genre measured in frames. [Building needs an internet connection](/answers/does-flockbay-work-offline/); playing what you built does not.

## Where to start

One character, three moves, one stage, and a training dummy. That is also the shape of the brief Flockbay writes before it builds anything: what gets built first, what comes after, what is not in this version. Ask for a full roster with rollback netcode and you get the truth about that and a smaller first version, and nothing is built until you approve the brief.

Get to the point where you can hit the dummy and feel something. Then add the second character by making the first one fight itself.

A roster is a late problem. [A move that feels good](/blog/secrets-of-game-feel-and-juice/) is the first one, and if you never solve it the roster does not matter.

## Getting a second opinion

You will stop being able to judge your own fighter after a few days. Your hands learn the timings, the moves start feeling correct because they are familiar, and you lose access to how they feel to anyone else.

The fix is another person on the same machine with a second controller. Watch what they try to do, not what they say. If they keep attempting a move that does not exist, that move should exist. If they never use the one you are proudest of, it is too slow or too situational.

This is why local play matters early and online play does not. The most valuable playtest in this genre is somebody sitting next to you looking confused.

## Questions

### Can I make a fighting game without coding?

Yes. Flockbay builds the stage and writes the GDScript for the move states, timings and hitboxes. You describe what a move should do and then tune it by playing.

### Can I make a 2D fighter, or does it have to be 3D?

A 2D fighter is a first-class pick. Flockbay reads 2D or 3D from your description when you create the project, before anything exists, and the project carries that choice from then on. The stage is painted tile ground and placed sprites, the fighter is a 2D character body, and Flockbay writes the move states and frame data the same way either way. What a flat project will not give you is drawn animation frames — those you supply.

### Can I set exact frame data?

Yes, because the output is real code with real numbers in it. Ask for a specific startup and recovery and you get exactly that.

### Does it support online multiplayer?

Godot has networking, but competitive rollback netcode is a hard specialist problem and not something to expect to solve early. Local play is the sensible first target.

### Do controllers work?

Yes. The game runs locally on your machine, so any gamepad it recognises is available.

### What does it cost?

Free to download and free to build with. Flockbay is free, AI included: free hosted AI every day, or your Claude or ChatGPT plan, your own agent, or an API key.

Download Flockbay free: Free for Windows, macOS and Linux. Change a number, play it, change it again. https://flockbay.com/

Related: [AI fighting game maker](/ai-fighting-game-maker/), [AI fighting game generator](/ai-fighting-game-generator/), [AI soulslike maker](/ai-soulslike-maker/), [Shooter game maker](/shooter-game-maker/), [Console game maker](/console-game-maker/)
