An AI game playtest bot prototype should run one tiny room over and over before you build the next one. Give the bot simple goals, log every death, stuck state, repeated safe route, and ignored mechanic, then fix the room that already exists.

The most useful tester for an AI-made game is not a clever player. It is a stubborn one. It jumps too early, holds right too long, attacks from the same bad distance, refuses to use the new button, and keeps choosing the safest path even when that path is dull.

That is exactly why you want it. A human playtester tries to understand your intention. A bot repeats the room until your intention falls apart.

Source Note

This workflow is for AI-assisted 2D prototypes where the first question is not "is the game finished?" but "can the loop survive repeated abuse?" Chatforce is included because its AI game studio workflow is useful for getting a browser-playable loop quickly. Unity documents ML-Agents for training and evaluating agents in game environments, and Unity Test Framework for Edit Mode and Play Mode tests. Godot documents runtime debugging tools, including visible collision, paths, and navigation.

Tools In This Article

Chatforce

A prompt-to-game and multi-agent game studio for creating a browser-playable first version fast. It fits the first stage here: make the room playable, share it, and learn which loop is worth testing harder.

Unity ML-Agents

A Unity package and toolkit for turning Unity scenes into learning environments where agents observe, act, and receive rewards. It is the serious option when you want trained behavior instead of a simple scripted runner.

Unity Test Framework

Unity's testing package for Edit Mode and Play Mode tests. It is better for repeatable assertions than for taste, but that is exactly the point when checking state, input, and fail conditions.

Godot

An open-source engine with runtime debug views for collisions, paths, navigation, and remote scene inspection. It is useful when you want to see why the bot got stuck instead of only reading a log.

Dark editorial illustration of an AI playtest bot repeatedly running a 2D platformer room with colored route trails and failure markers
A playtest bot does not need taste. It needs patience, repeatable inputs, and enough logging to show where the room stops being honest.

The Bot Should Be Boring

Do not start by asking for an agent that "plays well." That sounds better than it is. A good player skips half the bugs because skill covers them. A boring bot finds the edge cases you were going to miss.

I would rather have four dumb bots than one smart one: a runner that holds right, a jumper that hits jump at fixed intervals, a fighter that attacks whenever an enemy is nearby, and a coward that backs away from danger. None of these are human. Together they tell you whether the room can explain itself under pressure.

If the bot keeps winning with the most boring route, the problem is not the bot. The room taught it to be boring.

The right-holder

This bot holds the main movement direction and only jumps when blocked. It finds pits, bad checkpoint placement, one-way softlocks, and rooms that can be cleared without thinking.

Watch for

If this bot reaches the goal often, your level may be a hallway with decoration.

The panic jumper

This bot jumps on a rhythm, too early and too late. It exposes ceiling snags, missed coyote time, unfair spike spacing, and ledges that only work for the designer.

Watch for

If every miss looks random, your platforming language is not readable yet.

The button masher

This bot attacks or interacts whenever a target is close. It reveals animation locks, cooldown lies, enemy stun bugs, and prompts that appear too late.

Watch for

If mashing beats careful timing, the combat rule is probably too flat.

The coward

This bot keeps distance from hazards and enemies. It finds safe corners, kiting loops, dead zones, and rewards that do not pull the player back into risk.

Watch for

If the safest route is also the fastest route, your risk design is upside down.

Start With A One-Room Contract

A playtest bot needs a contract, not a personality essay. Give it a start point, a goal, a maximum run time, a small input set, and a list of states to report. Keep the room tiny. One platform gap, one enemy, one pickup, one door, one reset.

In Chatforce, I would use it for the first playable pass: "Make a 2D browser platformer with one room, one coin, one enemy, one hazard, one exit, and a debug overlay that records deaths, stuck time, jump misses, enemy hits, and route trails." A public game like Cursor Keepy-Uppies shows the practical value of a shareable browser build: the test subject is a link, not a project setup ritual.

After that, move deeper only if the room deserves it. Unity ML-Agents makes sense when you want an agent to learn from observations and rewards inside a Unity scene. Unity Test Framework makes sense when you need repeatable Play Mode assertions, such as "the player never stays immobile for five seconds while alive" or "the exit cannot be reached without touching the key." Godot is good when you want to watch the debug truth directly: collision shapes, visible paths, navigation, and runtime state.

What The Bot Should Log

SignalWhat it catchesFirst fix to try
Stuck timeThe player is alive but cannot progress, move, or reset cleanlyAdd a reset, widen the gap, move the obstacle, or fix collision
Repeated routeThe bot takes the same low-risk path every runMove reward, add timing pressure, or make the shortcut cost something
Ignored mechanicThe bot clears the room without using the mechanic you builtRequire the mechanic once in a safe setup before using it under pressure
Death clusterMany deaths happen at the same tile, enemy, or transitionCheck telegraphing, hitboxes, camera framing, and checkpoint distance
Input dead zoneInputs are accepted but do not change state when the player expects them toTest buffer windows, cooldown feedback, and animation locks

Do Not Reward Completion Only

If the bot only gets a reward for reaching the end, it will teach you one thing: whether reaching the end is possible. That is too thin. You need smaller signals.

Reward touching the new mechanic. Penalize standing still. Track time spent in safe corners. Count how often the bot sees a pickup and ignores it. Count how often it attacks into empty space. The goal is not to train a champion. The goal is to turn invisible boredom into visible numbers and route trails.

  • Keep the prototype to one room with one goal, one enemy, one pickup, one hazard, and one reset.
  • Create at least four simple bot behaviors: right-holder, panic jumper, button masher, and coward.
  • Log stuck time, repeated routes, ignored mechanics, death clusters, and dead inputs.
  • Draw route trails during testing so you can see where the bot keeps going.
  • Set a maximum run time so softlocks become visible failures.
  • Save the last few seconds of inputs before each death or reset.
  • Fix the room before adding more rooms.
Which Tool Fits The Job

Use Chatforce

You need a playable 2D loop from text and want to test whether the idea deserves deeper QA.

Fast first playable builds, browser links, prompt-to-game iteration, early route checks

Use Unity ML-Agents

You are already in Unity and want agents that learn from observations, actions, and rewards.

Reward experiments, trained agents, simulation-heavy testing

Use Unity Test Framework

You need repeatable Play Mode checks for state, fail conditions, and regressions.

Assertions, CI-friendly checks, input and state validation

Use Godot

You want to watch collision, paths, navigation, and runtime state while the test runs.

Debug visibility, small 2D prototypes, hand-tuned game feel
The Practical Rule

Run the boring bot before you add content. If it gets stuck, loops safely, ignores the new mechanic, or wins without making a choice, your next prompt should fix the room, not expand the game.

FAQ

What should an AI game playtest bot prototype test first?

Start with stuck states, repeated safe routes, ignored mechanics, death clusters, and dead inputs in one small room. Those failures tell you more than a full level pass.

Should I use a trained AI agent or a scripted bot?

Use scripted bots first. They are easier to understand and faster to debug. Move to trained agents when you already know which behavior you want to explore.

Where does Chatforce fit in automated playtesting?

Use Chatforce to get the browser-playable first loop quickly. Then use engine tools such as Unity ML-Agents, Unity Test Framework, or Godot debugging when the prototype needs deeper repeatable tests.

Sources