Reversi

Eight by eight, black moves first, outflank a line to flip it. Play the computer at one of three depths, or two people at one keyboard. Everything on screen is drawn in code: there is not one sprite in the project.

Click a highlighted cell to place a disc. Escape opens the pause menu. The build is about 40 MB and is only fetched once you press play.

Open the game full screen Source on GitHub

What this demo is not

This is not an argument for generating games from a single prompt, and it is not a case for making games at volume.

One prompt produced the brief. Everything after that took direction. The first build looked finished and was not: it carried spacing and overlap faults on every screen, a drop shadow that made small text read as doubled, and a title screen that clicked at the player once a second for as long as it was open. A person found all of it, and the fixes were structural rather than cosmetic.

It also worked because Reversi is a solved problem. The rules are fixed and published, the board is eight by eight, and the interface conventions are decades old. Nothing here had to be invented, prototyped, or found by playing the thing until it felt right. A brief for a game that does not exist yet, where the mechanic has to be discovered by iterating on it, is a different job, and one prompt does not touch it.

This is a teaching artifact rather than a product. It is not maintained as a game and takes no feature requests. It is MIT licensed because the point is for people to read it, learn from it and reuse the techniques freely, so treat it as a worked example rather than a dependency.

swallowtail is a tool. It belongs alongside the rest of a Godot workflow rather than in place of it: source control, review, playtesting, and someone with the judgement to decide when a thing is actually done. The claim this demo makes is narrower and more useful than autonomy. An agent can hold a real development loop, and it can be directed, corrected and held to a standard, the same as any other contributor.

Downloads

Desktop builds are attached to each tagged release. They need nothing installed: no Godot, no runtime.

Screens

The title screen: the word REVERSI in a heavy display face beside a board playing itself
TITLE, WITH THE BOARD PLAYING ITSELF
Choosing an opponent and a colour before a match
NEW GAME
The pause menu over a dimmed board
PAUSED
The rules, five cards each with a small board diagram
HOW TO PLAY
Settings, with sliders and toggles drawn in code
SETTINGS
The result screen showing the final score and the running record
RESULT

What this is

The brief came from a video demonstrating a different tool. This is the same brief answered with swallowtail, so both results sit in the open and can be judged on what they produced.

1

Agent

Planned the work and verified it. Others built, all driving one live Godot editor.

1

File of rules

Hints, the click test and the opponent's search all read from it. No engine dependency past Vector2i.

1

Space ladder

Every gap on every screen comes off it. A build-time audit refuses to save a scene holding an overlap or an element off the page.

0

Sprites

The board, the discs, every widget and the screen transition are polygons and text drawn in _draw().

The whole story, including the original brief and the review that reshaped it, is in the README.

More information

Author
Regi Ellis
Built with
swallowtail, a Go CLI and MCP server that drives the Godot editor
Engine
Godot 4.7
Platforms
Browser, Windows, Linux, macOS
Design box
2560 by 1440, fitted to the window
Build time
About two hours fifty, wall clock, from an empty directory to this page. Roughly seventy minutes of that reached the first playable build; the rest was two rounds of review.
Licence
MIT for the code. The bundled assets keep their own terms, in NOTICE.
Source
github.com/regiellis/godot-reversi
Documentation
regiellis.github.io/godot-mcp-go/docs

Standing on

Liquid UI Kit for Godot, by Miisan

The look and feel of this interface come from Miisan's kit. Every widget here draws itself in _draw() so that each property stays a float a tween can move, which is their idea, and it is the reason a button can squash on press and a score counter can roll, punch and settle. The mechanisms were re-implemented against this game's own tokens rather than vendored, but the thinking is theirs. It is MIT, it is free, and it is worth your time.

The people credited here are not associated with this project and have not endorsed it. Their work is used under licences that permit reuse. A CC0 release, an OFL font or an MIT kit grants permission to use the work. It says nothing about the author's view of AI tools, of AI in games, or of this demonstration.

Every licence travels with the files in the repository.