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.
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.
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.
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:
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.
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.
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:
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.
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.
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.
Start Training
Click Start Training. First it asks which model architecture to train:
- 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:
In the notebook itself, the first cell explains exactly what this specific training run will do:
- Runtime → Change runtime type → pick a GPU (T4 is fine, free tier).
- Runtime → Run all.
- 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.
- 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.
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.
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.