What an AI FPS generator can honestly hand you
You can have a walking, shooting, dying first person shooter in an afternoon. What you cannot have is a good one, and the gap between those two things is the whole project.
The afternoon version
Describe a shooter and Director 1 will write it: a first person controller, a hitscan or projectile weapon, ammo and reloading, health and damage, an enemy that chases and shoots back, a respawn, a score. That is a real playable loop and it takes very little time.
It is worth being clear that this is genuinely useful. Most people who want to make a shooter never get past the first weekend, and the first weekend is exactly the part that generates well. Skipping it is not cheating, it is skipping the part that is the same in every shooter.
What arrives is a shooter-shaped thing. It works. It is not yet a game anyone would play twice.
Everything that is not in the generated version
A reason to be there. A level with a shape, rather than a box with enemies in it. Enemies that behave differently from each other. A weapon that feels distinct at the moment of impact. A difficulty curve. A sound design that tells you what is happening behind you.
None of those come out of a description because none of them have a default correct answer. They are decisions about your game, and a generator that guessed them would be guessing.
This is why the app puts the world in your hands. You build the level directly in the builder, place cover and light and terrain, and walk it. What you cannot see from a description you can see immediately from inside the level.
Generation as a starting point rather than an answer
The right way to use a generator is as a way to arrive at a working loop fast and then start disagreeing with it. Play it, notice the enemies are too accurate, say so, play it again. The generated code is in your project as ordinary GDScript, so changing it is a normal thing rather than a regeneration.
Regenerating the whole shooter because one thing is wrong is the failure mode, and it is why some tools never converge. Every reroll is a different game, not a better one.
You do not need to write the code to run that loop. You need to play the game and be honest about it, which is a thing you can already do.
Where it runs
Stage Engine is a desktop app for Mac and Windows, downloaded and installed, with Godot bundled inside it. The game runs on your machine, not in a tab and not streamed.
For a shooter that matters twice: a browser build caps what your level can contain, and inconsistent frame timing makes aiming feel wrong in a way players blame on the game.
Building needs an internet connection. Playing does not. The download is free, there is a free plan, and Indie at $10 a month or Pro at $50 buy more usage.
Difficulty is the part you have to make up
A generated shooter arrives at a default difficulty that means nothing, because difficulty is relative to a player and the tool has never watched one play.
Worse, you are the worst possible judge of your own game difficulty, because you have played this level two hundred times and know where everything is. The version that feels right to you is usually far too hard.
There is no way round this except other people. Watching one person who has never seen your level play it for ten minutes will tell you more than a week of your own testing. That is true in every tool and it is the thing generation cannot shorten.
Making the generated version yours
The fastest way to stop a generated shooter feeling generic is not more generation. It is one strong decision applied everywhere: a setting, a restriction, a single weapon with a strange property.
Restrictions work particularly well here because a shooter has so many defaults. Take one away, ask for the code that replaces it, and the whole game reorganises around the absence.
That decision is not something a generator can supply, because it is the only part of the project that is genuinely about you rather than about the genre.
Questions
- How long until I have something playable?
- A basic shooting loop comes together quickly. A shooter you would show someone takes as long as it takes you to make the level good.
- Does it generate the levels too?
- Layouts can be generated as a starting point, but levels are meant to be built by hand in the builder, because a shooter level is a looking problem.
- Can I change the generated code?
- Yes. It is plain GDScript in a normal Godot project. You can ask for changes or make them yourself.
- Is it online or a download?
- A download, for Mac and Windows. Building needs an internet connection; playing what you built does not.