Game Bot Creator · AI page

Training a Detection Model

Five steps from an empty project to a trained model linked into your bot: capture example frames, label what's in them, hand off to free GPU training, and import the result.

The AI page: a table of training projects (commissions, grams) with Captured/Labeled/Reviewed/Last Modified/Imported Model/Roboflow Labeling columns, and a row of action buttons along the bottom: Train New Model, Capture Frames, Label Frames, Review Labels, Auto-Label Settings, Start Training, Import Model, Open Folder, Delete
the AI page — every training project lives here
Don't see the AI page? It only appears once a config uses AI: click Tools… next to the config selector and tick Find things that move or look different each time.
Every step below is independently re-runnable. Capturing a few more frames later doesn't force you to relabel everything; re-labeling doesn't force a retrain. Come back to any project at any time and pick up wherever you left off.
1

Train New Model

Click Train New Model, bottom-left of the AI page. Name it after what it should detect (e.g. coin, enemy_ship) — must be unique among your existing projects. This goes straight into Capture Frames once you click OK.

Train New Model dialog: a text field to name the model, with OK and Cancel buttons
naming a new model

2

Capture Frames

Position the game (or emulator) to show the object, then press F9 — this works even while the game window itself is focused, not just Game Bot Creator — or click Capture Frame directly in the dialog. Repeat from different angles, zoom levels, and game states; more variety trains a more reliable model.

Capture Dataset dialog: instructions to press F9 or click Capture Frame, a running count of frames captured so far, and a Capture Frame button
capturing frames — F9 works globally while this is open

Close the dialog whenever you have enough (there's no fixed minimum — more frames, especially varied ones, generally means a more reliable model). You can always reopen Capture Frames later to add more.

Alternative: capture automatically while the bot runs. The Scene Editor has a Frame Capture action (+ Add Action → Frame Capture) — add it to any scene and link it to one or more training projects, finished or still in progress:

Frame Capture popup in the Screen Editor: an action-name field and a checklist of training projects (commissions, grams, test, test2) to capture into, with OK and Cancel buttons
Frame Capture — link one action to any number of training projects

Every time the running bot's scenario passes through that action, it captures the current frame straight into each linked project's dataset — no dedicated capture session needed, just growing the dataset passively while the bot runs through moments where the object is known to be visible.


3

Label Frames

Click Label Frames. The first time, you'll be asked whether to outline objects as a Bounding Box (drag a rectangle, faster) or a Polygon (trace the actual shape, tighter fit, slower) — this choice applies to the whole project going forward.

Drag a box around one instance of the object, then click the exact spot the bot should click on it. Repeat for every instance visible in that frame. If the object isn't visible at all, click Next Frame without drawing anything — that's recorded as a real negative example, which helps the model learn what isn't the object too, not just what is.

Label Frame dialog over a real game screen, with several green boxes already drawn around UI elements, an object count at the bottom, and Undo Last / Delete Frame / Next Frame / Cancel buttons
labeling one frame — box drawn, keypoint clicked, per object

If you'd rather not draw every box by hand, the Settings tab's Labeling provider can be switched to Roboflow (SAM 3) — see the separate Roboflow tutorial. With that enabled, Auto-Label Settings… (a Roboflow-only row action) configures which class name(s) to search each frame for, each with its own confidence, plus the NMS IoU threshold:

Auto-Label Settings dialog: a class name field (spaceship) with its own 0-1 confidence spinbox and a remove button, a plus Add Class button, an NMS IoU threshold field, explanatory text for both, and OK/Cancel buttons
Auto-Label Settings — one or more search classes, each with its own confidence

With that configured, "Label Frames" instead fetches suggestions for the whole dataset in the background (track it from the Jobs tab — the rest of the app stays usable while it runs) and saves them directly, unreviewed; use Review Labels (next step) to check them.


4

Review Labelsrecommended

Click Review Labels to step back through already-labeled frames and correct mistakes — opens straight on the first not-yet-reviewed frame, no prompt. Useful after Roboflow auto-labels a batch (nothing's been reviewed yet at that point), or just to double-check your own manual labeling before spending GPU time training on it.

Review Labels dialog: the same frame with green boxes, a list of Object 1 through Object 5+ with a Delete Selected button, a Previous/frame-number/Next paginator, and Undo Last / Delete Frame / Done / Close buttons
reviewing a labeled frame — jump to any frame, delete any specific object

The object list lets you select and remove one specific box or polygon, regardless of draw order — handy when only one of several objects in a frame is wrong. The frame-number box jumps straight to any frame; Previous/Next step one at a time. Leaving a frame any way (including closing the dialog) saves it and marks it reviewed.


5

Start Training

Click Start Training. First it asks which model architecture to train:

Start Training dialog: RF-DETR, RF-DETR (Segmentation), YOLO, and YOLO (Segmentation) buttons, with the two Segmentation options greyed out, plus explanatory text and a Cancel button
choosing an architecture — Segmentation options need a Polygon-labeled dataset
  • RF-DETR — also predicts the exact click point, not just a box; slower to train.
  • YOLO — box only (clicks the box center); faster to train and export.
  • The two (Segmentation) variants train on real mask supervision for potentially tighter box localization, but still export box-only — they're greyed out unless this project was labeled in Polygon mode, since a box-only dataset has nothing for the segmentation loss to train against.

What happens next depends on the Settings tab's Training provider — Colab (the default, no account needed) or Kaggle (opt-in, fully scripted once it's set up). Both start from the same architecture choice above.

Training via Colab (default)

Game Bot Creator zips your captured/labeled frames and opens the matching training notebook in your browser. This dialog tells you exactly what to do next and gives you a one-click Copy for the dataset zip's path:

Dataset Ready — Continue in Colab dialog: numbered instructions (change runtime type to GPU, Run all, wait for Choose files, select the dataset zip), the zip's file path in a copyable field, and a note that training can take 30 minutes up to several hours
what to do once the notebook opens

In the notebook itself, the first cell explains exactly what this specific training run will do:

The opened Colab notebook's first cell: a markdown explanation of what the notebook trains, what it requires (a polygon-labeled dataset), and a numbered walkthrough of the Colab steps
the notebook that opens — read its first cell once, it explains the rest
  1. Runtime → Change runtime type → pick a GPU (T4 is fine, free tier).
Colab's Change runtime type panel: Python 3 runtime, hardware accelerator options (CPU, various GPUs, TPUs) with T4 GPU selected, and Save/Cancel buttons
picking a GPU runtime — T4 is on the free tier
  1. Runtime → Run all.
  1. Colab will warn that the notebook "was not authored by Google" — expected for any notebook opened from a GitHub link rather than Google's own library. Click through it.
  2. Wait for a Choose files button to appear (installs dependencies first, can take a minute), click it, and select the dataset zip whose path you copied earlier.
A notebook cell titled Upload and unpack the dataset, with code that detects whether it's running on Kaggle or Colab and either reads a pre-attached dataset or prompts a Choose files upload button, currently showing No file chosen
the upload step — paste in the dataset zip Game Bot Creator produced

Everything after that runs on its own — training, export, and an optional sanity check. The whole run can take anywhere from 30 minutes up to several hours; the actual training cell is by far the slowest part, a long wait there is expected, not a freeze. When it finishes, best.onnx downloads to your computer automatically.

Training via Kaggle (opt-in, no manual steps)

Kaggle gives you a free GPU too, but scripted end-to-end — no browser tab to babysit, no Run all, no file upload. In exchange it needs a one-time setup: a free Kaggle account and an API token.

In the Settings tab's Computer Vision Training section, set Training provider to Kaggle, then paste in a Kaggle API token — get one from kaggle.com/settings/api → Create New Token (Kaggle's newer single-token credential, not the older username+key pair from a downloaded kaggle.json).

With that set, clicking Start Training (same architecture prompt as above) does everything itself: zips the dataset, uploads it as a private Kaggle Dataset, pushes the matching notebook as a Kaggle kernel, and starts training — no browser window opens for this path at all.

Track it from the Jobs tab (the sidebar icon next to AI): a card shows the run's live status, elapsed time, and its own log — including the notebook's actual training output, not just Game Bot Creator's own status text. You can close Game Bot Creator entirely while it trains; a still-running Kaggle job picks back up automatically next time you open the app, since training keeps happening on Kaggle's own machines regardless of whether Game Bot Creator is running.

When it finishes, the card marks itself Completed and the trained model is imported straight into this project automatically — no separate Import Model… step needed. If the automatic import couldn't complete for some reason (the project was renamed mid-run, say), the card keeps an Import button pointed at the downloaded file so nothing is lost.

Changed your mind mid-run, or a run got stuck? Cancel it from its card in the Jobs page — this also deletes the run on Kaggle itself, since Kaggle has no way to pause a kernel in place, only stop it outright.


6

Import Model

Trained via Colab? Back in Game Bot Creator's AI page, select your project's row and click Import Model…. Browse to the best.onnx file Colab just downloaded (usually your Downloads folder) and select it — the Imported Model column fills in immediately.

Trained via Kaggle? Already done — the Jobs page imported it automatically the moment training finished.

Either way, the project now has a real trained model. Link it to a bot action in the Scene Editor (+ Add Action → Detect Model or Check Model), picking this model by name from its dropdown (only finished, imported models show up there).

Iterating later

Model not reliable enough yet? Capture more frames (especially ones it seems to get wrong), label/review them, and Start Training again — each step picks up exactly where it left off, nothing needs to be redone from scratch.