Skip to content

AI Factory

Building an AI Factory for Your Studio? Start With QA

Nodemori builds AI workers for game studios. BugHunter is worker number one: it tests real builds on real devices and returns gameplay evidence.

Nodemori7 min read

Every run leaves two things behind: evidence your team can check, and game knowledge the next workers will read.

Your team assigns the work and stays in charge.

A delivery loop with QA at its core
  1. Define

    Agree the player journey

  2. Build

    Make the scoped change

  3. Check

    Observe real gameplay

  4. Decide

    Accept or return for a fix

Failed checks return to development. The team owns the release decision.

Why QA goes first

Every AI worker that comes after QA needs two things: a check nobody can fake, and knowledge about the game to build on. QA is the only job that produces both.

The evidence answers one question: did this build do what you expected? The knowledge is everything your team has learned along the way — the game's screens, mechanics, starting states, and which checks you've already accepted. Together they give the next piece of work something to aim for and something to start from.

A game level under a testing dome forms the base. Streams of gameplay evidence and a map of game screens rise from it into smaller workshops built above.
QA sits at the base. Every run leaves evidence and game knowledge that later workers build on.

What makes it a factory?

An AI Factory is an operating model for shipping software again and again: work enters a queue, changes happen within limits you set, checks evaluate the result, and anything that fails goes back for another attempt. You keep the goals, the boundaries, and the release call.

3ALICA's AI Factory method adds one condition that makes this work: the checks have to be cheap enough to repeat, fast enough to run often, and impossible to pass by faking the evidence instead of fixing the actual result. For a game, that means asking: what would actually convince you this player journey works on this build?

Check the complete player journey

Imagine a coding agent updating a game's reward flow. The project compiles. The unit tests pass. On a device, the player completes the level, taps Claim, and receives nothing. Faster code generation has shortened one part of delivery. The studio still needs to know whether the game works.

Three screens in sequence: a completed level with three stars, a reward chest with a finger tapping the claim button, and an empty coin counter. Below them, build checks show green lights.
The build passes its checks. On the device, the player taps Claim and the balance stays at zero.

Return to the missing reward. Three checks look at it from different distances:

  • A function-level test confirms that the reward calculation returns the right value. It never sees the reward screen.
  • A gameplay check follows the journey: finish the level, open the reward screen, tap Claim, and inspect the balance the player sees.
  • A persistence check restarts the game and confirms that the new balance is still there.

Each of these checks answers a different question. The build pipeline tells you the software compiles. Gameplay QA tells you whether one specific interaction reached the outcome you expected. Neither one, by itself, proves every player journey works.

The expectation must be agreed before the run. "The game looks fine" is too broad. "Claiming the level reward adds the specified amount once, and that balance survives a restart" gives the team a behavior it can inspect and repeat.

Write that expectation the way a tester reads it: the starting state, the steps, and the result a person can see on the screen. BugHunter takes checks in plain English, so the person who owns the feature can read and approve the exact wording before anything runs.

Turn a failed check into the next piece of work

A QA result is only useful once someone can act on it. "Reward broken" just hands the developer the job of reconstructing the build, the state, and what happened. A useful handoff ties the observation to the exact build and lays out the steps, what you expected, what actually happened, and the evidence.

An open evidence case holds a filmstrip of gameplay, a trail of recorded taps across a level, and a full chest next to an empty one. Beams carry it to a developer workshop and back to a retest where the chest is full.
One handoff: the recorded run, the path it took, expected against observed, and the retest on the fixed build.

In BugHunter, a finding arrives with:

  • The build and the starting state the check ran from.
  • The task and its expected result, next to the behavior actually observed.
  • A gameplay video and the recorded action path, so a reviewer can follow every tap.
  • Logs or internal game state, where your game has them connected.

After a fix, run the same accepted check on the new build, and keep the original failure linked to the retest. That comparison — not a generated patch, not a completed run — is what tells you the fix actually worked.

And a reliable workflow doesn't paper over uncertainty. If the game never launched, the reward wasn't tested. If the run stopped early, the result is incomplete. Those need their own status — not a silent pass, and not a silent drop from the report.

BugHunter gives every check one of four results: pass, fail, blocked, or not run. If a check needs evidence BugHunter cannot observe, it reports that limit instead of counting a pass. Each finding stays pending until your QA team accepts, rejects, or merges it, and an accepted finding goes to Jira or your tracker as the next piece of work.

Game knowledge carries forward

Every QA run also teaches you something about the game — where a flow starts, what the player can do, what should happen next. Once your team accepts a finding, it becomes knowledge the next run can reuse.

A map of connected game screens floats above several game islands. Most screens glow as confirmed, a few are dim, and a small probe follows the lit route toward a new island.
Accepted knowledge lights the known routes through the game. Unconfirmed screens stay dim until your team reviews them.

BugHunter builds that knowledge from four sources:

  • Game documentation and test cases: mechanics, intended behavior, and the checks your team cares about.
  • Gameplay and run data: observed paths, starting states, outcomes, and evidence.
  • QA feedback: accepted or rejected findings, corrected expectations, and useful reproduction details.
  • Build and issue history: what changed, what was fixed, and what needs checking again.

For the next worker, that knowledge is a head start: how to reach a feature, what's already been accepted, what needs re-checking after a change. The factory builds on what your team already knows instead of making every worker rediscover the same game from scratch.

That's the direction for Nodemori's workers beyond QA. BugHunter comes first because testing gives you a reason to learn the game — and an immediate use for that knowledge: checking the next build. Your team still decides what counts as accepted knowledge and what still needs a closer look.

A run that fails still teaches something about the game, and it still never counts as a pass. Recording what happened and accepting it as knowledge are separate steps.

Where BugHunter fits

BugHunter is the AI QA worker your team runs. Nodemori helps connect your game and set up the first checks; from there, your team picks builds, starts runs, reviews findings, and reuses approved checks on later builds. We're available for hands-on support whenever you need it.

Four small islands in a row: a lantern and telescope over a foggy level, a winding path under a compass, a straight path to a chest with a check mark, and two stacked copies of a level with the same path traced on both.
Four QA tasks, each answering a different question about the build.

The work breaks into four tasks, and each one answers a different question:

  • Freeplay explores toward an open-ended objective within a run limit. What happens when the worker goes after this goal?
  • Testcase runs approved steps against an expectation. Does this check meet the expectation?
  • Regression repeats accepted checks on a later build. Does the check still meet the expectation, and is the earlier issue fixed on this build?
  • Scout looks at a selected area of the game and drafts candidate checks. What is here, and what is worth checking?

What's available depends on the game and the build.

For an AI Factory, repeatable Testcase and Regression work is the practical starting point. Exploration can surface a candidate issue; an accepted, repeatable check is what you actually reuse on the next build. That's how individual findings turn into a growing body of release evidence.

Running an AI QA worker doesn't automatically give you a release gate. You still decide which results can block a release, what the acceptance criteria are, and how an uncertain finding reaches a person.

Start with one loop the team can trust

Choose a recurring journey whose expected outcome is clear: tutorial completion, a saved progression state, or a reward claim. Establish the supported test environment and a known starting state. Then operate the whole sequence before expanding coverage.

  • Agree the steps and the observable result with the person who owns the feature.
  • Run the check on a known working build and inspect the evidence.
  • In an isolated test build, deliberately break the target behavior and confirm that the check detects it.
  • Repeat the check after the repair and preserve both outcomes.
  • Define who handles a failure, an incomplete run, or an ambiguous result before using the check to control delivery.
Two identical islands with the same check path to a chest. On the left the bridge is intact and the check glows green. On the right the bridge is broken on purpose and the check lights up red.
Break the behavior on purpose in a test build. A check you can trust turns red.

The deliberate break matters most. A check that stays green while the reward is switched off in a test build was never checking the reward.

For the reward journey, a first check can be this short. Starting state: a test account at the end of a level, with its coin balance recorded. Steps: finish the level, open the reward screen, and tap Claim. Expected result: the balance rises by the level reward exactly once, and the new balance is still there after a restart.

Keep creative judgment with the team

A repeatable check can tell you whether the reward was granted. It can't tell you whether the reward feels satisfying, whether the level is worth replaying, or whether the economy serves your design goals. Those calls need playtesting and product judgment — not a check.

What the factory should do is make that judgment better informed. AI QA brings repeatable execution into the delivery loop and hands your team observations to examine. You keep ownership of what quality means, and when the evidence is enough to ship.

See how BugHunter fits your workflow

Explore the product, the four QA tasks, and how your team stays in control.

Explore BugHunter