Inspiration

I'm a game designer who builds with AI coding agents. Code arrives quickly, but checking changes across screen sizes, game data and design documents takes time. A green pipeline can still hide a crashing tutorial or an unreadable mobile button.

What it does

game-gate is a pre-merge reviewer for web games built on GitLab Duo Agent Platform. A CI/CD component boots the game with Playwright, auto-plays it, captures phone and desktop screens, checks layout and UI consistency, and validates references in game data. Changed-file selection limits which checks run.

A custom Duo flow reads the check report, merge-request diff and design rules. It explains changes in player terms, posts rule verdicts and exact proposed fixes, and opens an issue for blocking findings. It pauses for human approval before applying listed fixes to the merge-request source branch. The agent never merges. CI runs again and a human controls merging.

Pocket Duel is a small demo card game used to introduce defects deliberately; it is the test subject, not the product. Main-branch deployment builds the game image, deploys to Google Cloud Run using Workload Identity Federation, and smoke-checks the live URL.

How we built it

Node.js, Playwright and Vitest power the checker. A GitLab CI/CD component packages it for reuse. The Duo flow combines reviewer and fixer AgentComponents with a HumanInputComponent approval gate. Tools read job logs, files and diffs, and write comments, issues and approved commits. The public repository includes an MIT license and visible pipeline history.

Challenges and lessons

The flow reads marker-delimited reports from job logs because its tools cannot directly read job artifacts. Fixes need mechanical and design validation: replacing an unknown card ID with a valid skill card can still violate a rule requiring attack cards. Human approval is explicit and fixes are limited to the proposed scope.

Accomplishments

An inspectable review-and-fix loop connects playable evidence, design rules, human approval, CI and deployment. Checks cover configured screens, actions and data contracts; they do not prove arbitrary gameplay correctness.

What's next

Apply the gate to a larger web game, compare screens with UI mockups, and expand evidence-based design checks.

Built With

  • gitlab
Share this project:

Updates

Submission history