ShipGames

Make the bot play it first

A scripted player finds the broken numbers before a person has to. It can't tell you if it's fun.

Sapper's build 9 was tuned by three bots: a good player, a careless one and a rusher. They played whole runs headless, many seeds each, and the numbers changed from what they did: a cap on spitters, egg chambers in the hive, a queen with less health, cannons that hit harder.

The result was a sentence you can act on: the good bot reaches the hive on about a third of its runs, and no bot has beaten the queen yet. That's a difficulty curve you can see without asking anyone to play for an hour.

What a bot is good for

What it can't do

A bot plays the way you wrote it. In Swarmlight, two real sessions from the recorder showed the game was too easy: bots copied themselves zero or one times and nothing was ever lost. The bug was a copying radius that real play never reached, and the scripted players couldn't see it.

So the bot goes first, and people go second. And when a person finds something, change the bot so it plays a little more like them.

The cheap version

If your game keeps its state in one object, expose it on window (Sapper's is window.UP). Then a short script can step the game, read the state and print one line per floor. Ask your AI to write that script before you ask it for the next feature.

Where this comes from
Sapper

Play Sapper, the game its bots tuned before any stranger played it.

Play Sapper