Building a metroidvania when the map is the design

A metroidvania is a map with locks in it. Flockbay gives you a builder for the map and hands the ability code, the gates and the save state to Director 1.

Why this genre is hard to start

Metroidvanias are the genre where the structure comes before the content. Before a single room is fun you need a movement system worth exploring with, a way to gate progress, a way to remember what the player has unlocked, and a map that folds back on itself in a way that rewards a second look.

That is a lot of scaffolding for something that will change completely the first time you play it. Most attempts die there. The double jump exists, the wall cling exists, and the map is still a rectangle because laying out a good one was the third job on a list of three.

The order that works is the opposite: get movement roughly right, then spend almost all your time on the map, because the map is the game.

Movement first, and it belongs to Director 1

Jump height. Air control. Coyote time. The dash that cancels into a jump and the one that does not. This is code, and it is the code that determines whether your game feels good, so it deserves more iterations than anything else in the project.

You describe what you want and Director 1 writes the GDScript. Then you play it and say the jump feels floaty, and it gets less floaty. This loop is fast in a way that hand-writing a character controller is not, and it means you can afford to be picky about a value you would otherwise have set once and left alone.

In a flat project some of that is not code at all. Walk and run speed, how long the body takes to reach a speed and how long it takes to lose it, air control, gravity, jump apex, body size and step length are controls on the character body, so "make it heavier" is a handful of numbers moving rather than a rewrite. The walk cycle advances by distance travelled rather than by a timer, which is why the legs stay with the speed instead of skating out from under it. The wall cling and the dash that cancels into a jump are still Director 1's job.

You never have to open the script. You do have to play it, repeatedly, and have an opinion. That is the deal.

The map is yours to build by hand

Placement is judgement. Which corridor loops back to the elevator, where the player first sees a door they cannot open, how far the shortcut cuts once it is unlocked — you cannot get that from a sentence, and you would not want to. You build it in the builder, by hand, moving things around.

Metroid and Castlevania both arrived flat in 1986, and the genre never really left. So the choice comes first: the app asks 2D or 3D before a project exists, shown as two pictures, with no default. Pick 2D and it opens already playable — ground with a ledge in it, a platform off to one side, and a person who walks, falls and jumps under the keys you are pressing. You extend the map by dragging. Ground is a tile layer, and the tiles, the edges and the collision all fall out of which cells you covered, so a corridor is walkable the moment it is painted, and painting the same cells in a different order gives you the same map back.

Pick 3D and you get terrain, water and weather, which suits the branch of the genre that goes outdoors — cliffs, caverns, a coastline you return to with a swimming ability. Neither is the compromise. A side-on pixel metroidvania has the app's own flat tools behind it rather than a shrug and a note about the engine.

Ability gates are the joint between the two halves. You place the gate in the world; Director 1 writes the check that decides whether it opens.

Saving, backtracking and the boring parts

A metroidvania needs persistence. Which doors are open, which items are collected, where the last save point was, what the map screen has revealed. It is tedious code with no creative content in it at all, and it is exactly what to hand off.

Same for the map screen itself, fast travel, and the item log. Describe the behaviour, get the implementation, play it, correct it.

What you are actually downloading

A desktop app for Mac and Windows with Godot inside it. Your project is a real Godot project on your disk. The game runs locally when you press play, at your machine's framerate, with no streaming and no browser tab in the way.

Building needs an internet connection because Director 1, asset generation and world data come over the network. Playing what you have built does not. There is no offline build mode and it would be dishonest to imply otherwise.

Combat, enemies and the parts that fill the space

Between the map and the abilities sits the moment-to-moment: enemies that make a corridor worth traversing, a hit that feels like it connected, a boss whose pattern you learn. This is the content that makes the map feel inhabited rather than empty.

Enemy behaviour is code. Describe the pattern, the tells, the recovery window, and Director 1 writes it into your project. Then play it and say the wind-up is too fast to react to, because that is a judgement only made with a controller in your hands.

The one design warning worth stating: a metroidvania becomes tedious when backtracking has nothing new in it. Enemies that change with progression, shortcuts that unlock, or a reason to revisit are all things to plan while the map is still soft.

Questions

Can I make a 2D metroidvania?
Yes, and it is the first thing the app asks: 2D or 3D, before anything is created. A flat project opens playable, the map is tile ground you drag on and drag off, movement feel is controls on the character body, and Director 1 writes the same abilities, gates and save code either way.
Who writes the ability and gate code?
Director 1, in GDScript, inside your project. You describe the ability and the condition, then play it and say whether it is right.
Does it handle save games?
Save state is code like anything else. Describe what has to persist and it gets written.
What does it cost?
Free to download, and laying out the map by hand costs nothing. Indie at $10 a month unlocks the AI assistance, with a limited trial of it on the free plan.
Is my project locked into the tool?
No. It is a Godot project. Godot is open source and the project opens there like any other.