Make an FPS with AI: the feel is code, the map is you
A first person shooter is two crafts: the feel of moving and shooting, which is code, and the map, which is architecture. Stage Engine takes the first and leaves you the second.
Feel is a stack of small numbers
Mouse sensitivity and acceleration. How fast you get to full speed and how fast you stop. Whether you can strafe at full speed. How much the camera moves when you fire, and how quickly it returns. How long between shots, how long to reload, and whether the reload can be cancelled.
Every one of those is a number, none of them can be reasoned out in advance, and all of them are code. Director 1 writes them as GDScript in your project and you tune them by playing, which is the only way anyone has ever tuned them.
The single most valuable thing you can do early is spend an hour walking around an empty box, adjusting movement until it is pleasant with nothing to shoot. If moving feels good, a mediocre map is playable. If it does not, a brilliant map is not.
The map is architecture and it is handmade
Sightlines, cover, height differences, how many ways there are into a room, how long you are exposed crossing a space. This is the design work of the genre and it is spatial, which means it is built rather than described.
You do it in the builder, and you playtest constantly by walking it. A map that reads well from above can be miserable at eye level, and the only way to find out is to be in it.
Outdoor spaces get terrain you shape, water you outline, and weather you set. Interiors get built from placed geometry and assets that come from generation, the web, your own files, or direct construction.
Enemies, and being honest about them
Enemy behaviour is code and Director 1 writes it: patrol, notice, take cover, flank, retreat when hurt. You describe the behaviour you want in sentences and tune it by playing against it.
What is worth knowing is that good enemy behaviour is mostly about readability, not intelligence. A player needs to see the enemy decide something. An enemy that plays perfectly and invisibly just feels unfair. So the tuning you will do is usually making enemies more legible rather than smarter.
Local performance is not optional here
Stage Engine is a desktop app for Mac and Windows and your game runs on your own machine through the bundled open-source Godot. This matters for a shooter more than for anything else, because input latency and frame consistency are the genre.
A shooter running through a browser tab is a compromised shooter, and no amount of clever engineering changes that. Running locally is the reason this is a download.
Building needs an internet connection. Playing what you built does not.
What to leave until later
Multiplayer. Networked shooters are one of the hardest things in the field and starting there is how first projects die. A single player or wave-based shooter teaches you the feel and the map craft, which is what transfers.
Also: an arsenal. One weapon that feels excellent beats six that feel approximate, and you will learn more tuning one properly.
One weapon, tuned properly
A weapon is about eight numbers and every one of them changes how it feels. Fire rate, damage, spread, recoil amount, recoil recovery, reload time, magazine size, and how long the shot sound lasts.
Change any of them and the weapon becomes a different weapon. This is why a single gun tuned over an evening beats an arsenal assembled in an hour, and it is the fastest way to develop a sense for what you are actually adjusting.
Feedback matters as much as the numbers. What sells a hit is the response: the sound, the flash, the reaction of the thing you hit. A weak weapon with good feedback feels better than a strong one without.
Questions
- Do I need to code the shooting mechanics?
- No. Describe how it should behave and Director 1 writes the GDScript. You tune it by playing.
- Can I make the map without modelling software?
- Yes. Terrain, water and weather are built in the app, and structures can be placed, generated, sourced, or built directly as geometry.
- Is multiplayer supported?
- A standalone Godot project does not give you networked multiplayer for free, and it is a hard first project. Single player is the sensible starting point.
- Will it run well?
- It runs locally on your own hardware through bundled Godot, which is the right setup for a genre that depends on frame consistency.
- What does it cost?
- Free to download with a free plan. Indie $10 a month, Pro $50, for more usage.