Gitlab 2 Player Games -

| Feature | Review | |---------|--------| | No account required | Most games work straight in browser. No login, no ads, no tracking. | | Works on school/work networks | GitLab Pages domains often unblocked where GitHub Pages is restricted. | | Hotseat or same-device play | Perfect for playing with a friend on one laptop/tablet. | | Open source | Code is visible, moddable, and forkable. | | Lightweight | Usually vanilla JS, HTML5 Canvas — runs on old hardware. |


Abstract
Developing a two-player game (digital or web-based) with a partner introduces challenges: code merging, asset conflicts, playtesting, and deployment. GitLab provides a unified solution. This paper presents a reproducible pipeline where two developers can use GitLab’s free tier for version control, issue tracking, CI/CD testing, and even live deployment of browser-based two-player games.

GitLab 2-Player Games is a collection of real-time, two-player web games designed to be played collaboratively or competitively over a shared GitLab environment. The project leverages GitLab's infrastructure (e.g., CI/CD, Pages, or even Merge Requests as game actions) to create a unique, developer-friendly gaming experience.

Whether you're taking a break from code reviews or want to challenge a teammate in Tic-Tac-Toe, Chess, or a custom coding duel — this hub makes it possible.


Could GitLab ever compete with itch.io or Game Jolt? Unlikely, and that's not the goal. The beauty of "gitlab 2 player games" is their ephemeral, ironic nature. They are inside jokes made manifest in code. gitlab 2 player games

However, as WebGPU and WebAssembly mature, we may see more complex 3D two-player games hosted entirely on GitLab Pages. Imagine a lightweight "GitLab Golf" or "CI/CD Pong" tournament.

One thing is certain: The next time your merge request is stuck in "pending," don't refresh the page for the 10th time. Instead, open a second tab, find a friend, and challenge them to a round of Pipeline Panic.

The Board: The game is played on a GitLab Issue Board. The board consists of 3 columns:

The Units: Issues represent units.

Turn Structure: Each turn lasts exactly 60 seconds. Players use standard GitLab actions to perform moves:

This feature utilizes existing GitLab APIs to gamify standard behaviors.

A. The Game Master Bot (CI/CD Pipeline) A dedicated .gitlab-ci.yml configuration runs a pipeline every minute (cron job) to calculate the game state.

# .gitlab-ci.yml
stages:
  - game_loop

calculate_state: stage: game_loop script: - ./game_engine.sh rules: - if: '$CI_PIPELINE_SOURCE == "schedule"' | Feature | Review | |---------|--------| | No

B. Scoring Logic (Pseudo-code) The bot checks the board state:

C. The Visualizer A custom GitLab Page reads the issues.json artifact generated by the pipeline. It displays a retro pixel-art map of the current battlefield, showing units moving between columns in real-time.

| Action | GitLab tool | |--------|--------------| | Discuss player 2’s ability | Issue + task list | | Propose new game mechanic | Merge Request description + code suggestions | | Test multiplayer latency | GitLab Pages + two real devices | | Rollback a broken feature | Pipeline logs + revert MR | Abstract Developing a two-player game (digital or web-based)