Full game tester
The AI game tester that plays your whole game
Ziva's Playtest Agent is automated QA for Godot that really plays your game. It launches your scene, sends real keyboard, mouse and gesture input, reads the live scene tree, and tells you whether the thing you asked about actually works, with the evidence it collected while playing.

One real run on Godotcraft, start to verdict:
- 1The brief. One goal, in plain English. You don't write a test script or record a path.
- 2It played on its own. A separate agent mined blocks and watched the hotbar for four minutes, then reported back.
- 3PASS, with proof. Every line is something it measured in the running game.
- 4Your real game. Running in the editor, driven by the agent's own keyboard and mouse.
How it works
It plays your game, turn by turn
You give it one goal it can check, like “the score goes up when the player clears a pipe”. It plays until it sees that happen, or until it catches the game failing to do it.
Reads your code first
It works out how your game takes input. A game listening for a raw W key will ignore a named action forever. The same pass tells it what to measure.
Launches it, then freezes it
The game stops as soon as it boots, and only moves while an action runs. Nothing changes while the agent is deciding what to do next.
game_startPlays, and measures every move
Every action reports what changed before and after. It also listens to your own signals, so a death or a pickup between actions still gets noticed.
game_actEnds with a verdict
Every run ends in pass, fail, or blocked, with the evidence behind it and the shortest way to reproduce anything broken.
game_stopReal player input
It plays every way a player does
Automated game testing falls apart when the harness can only press buttons. A slingshot needs a drag, a first-person camera needs relative mouse movement, and an aim angle has to land on a number. The Playtest Agent can send all 7:
Behind those are 6 tools that only exist while a game is running: game_start, game_act, game_observe, game_watch, game_drive, game_stop. They start the game, act in it, read it, watch its signals, and run short scripted moves that are too fast to send one call at a time. Your main chat never sees them.
Evidence you can check
It can't edit your game, so it can't fake a pass
The Playtest Agent ships with no file-writing tools, and every expression it runs against the live game is checked to make sure it only reads. So it cannot give itself the state it was supposed to reach by playing. If your game is broken, the run says so.
It played hard enough to break the goal, and the game held up.
It reached the situation and watched your game fail to do what the goal asks, or the game threw a script error during the run. Either way, it saw the bug happen.
It ran out of budget, or the answer needs a change it is not allowed to make. It says so instead of guessing a pass or a fail.
Every run also leaves a folder on disk at .ziva/qa-runs/ with the frames it captured, every probe value, what reached the game, and the full input trace.
{
"goal": "The score goes up when the player clears a pipe",
"verdict": "fail",
"evidence": [
"score before act: 0 — after flying past pipe #1: 0",
"Area2D 'ScoreZone' body_entered fired at physics frame 214",
"_on_score_zone_entered() never ran: the signal is declared, never connected"
],
"repro": "Run res://scenes/main.tscn, hold Space for 90 frames, pass one pipe."
}Versus a general AI agent
Most AI agents can't play your game
Cursor, Claude Code and Copilot are great at writing the code. None of them can pick up the controller. When one of them says “I fixed it”, it is reading the source and guessing, and you find out otherwise when you play the game yourself.
| Capability | Cursor · Claude Code · Copilot | Ziva Playtest Agent |
|---|---|---|
| Writes and runs your unit tests | via the terminal | run_tests, headless |
| Launches and plays the actual game | no hands on the game | drives it turn by turn |
| Sends real player input | can't reach the window | keys, clicks, drags, aim |
| Measures the live scene while playing | only reads the code | probes + your own signals |
| Cannot edit what it is judging | edits it, then declares success | ships with no write tools |
Free to Start
Upgrade for more power
Hobby
Get started today
- $3 monthly AI balance*
- Limited access to lighter models
- Bring your own Claude/Codex subscription
- All core features
- No credit card required
Active Plan
Basic
For casual developers
- $60 monthly AI balance*
- $20 balance per week
- 20x more than Hobby
- Priority support
- Cancel anytime
Pro
For indie developers
- $150 monthly AI balance*
- $50 balance per week
- Everything from Basic, plus:
- Sonnet and Opus models
- Playtest Agent that plays your whole game
Ultra
For serious developers
- $600 monthly AI balance*
- $200 balance per week
- Everything from Pro
*Weekly limits reset every Monday. How usage limits work