Skip to content
Résumé
FREN

N° 05 / 08 — Game · Multiplayer

Pepoo Arena

The party game that starts in one click: push your friends into the water before the island disappears.

Role
Design and development
Year
2026
Status
LivePersonal
Stack
Next.js · TypeScript · Canvas 2D · WebSocket · Node.js · PWA
← Back05 / 08
Pepoo Arena's start screen on a phone: pick a pepoo, then a mode
Fig. 1The start screen: pick your pepoo, then play solo, in teams or online.
A Pepoo Arena round, right before the start
Fig. 2A round, right before the start: four pepoos on the island.
A Pepoo Arena round on a phone
Fig. 3On a phone, by touch: “Lila knocked you into the water!”
Try the demo ↗

01 / 07

The problem

I wanted a party game that starts in one click: no install, no account, on computer and phone alike, ready to play with friends right away.

02 / 07

What I did

Four modes: free-for-all against three AIs, 2 vs 2, training, and online in a private room where you invite up to 3 friends by code or link.

Six arenas (from the classic island to a volcano and a giant turtle) and eleven items so that every round goes off the rails, with keyboard and mouse or touch.

03 / 07

How it's built

The engine strictly separates simulation from rendering: the simulation draws nothing, which makes it testable without a browser and ready to run on a server.

Rendering uses Canvas 2D, and multiplayer goes over WebSocket, with rooms and snapshots of the game state.

  1. Headless simulation
  2. WebSocket rooms
  3. State snapshots
  4. Canvas 2D rendering

04 / 07

Challenges

  1. 01

    A simulation with no screen

    Physics and rules draw nothing: arenas and items are checked by tests, without opening the game, and the same code can run on the server.

  2. 02

    Multiplayer with no account

    A Node.js WebSocket server handles private rooms, joined by code or link, and sends each player snapshots of the game state.

  3. 03

    One link and you're in

    Nothing to install: the game opens in the browser, with keyboard or touch, installs like an app (PWA) and takes care of its SEO. It is deployed as a Docker container by GitLab CI.

05 / 07

Results

The game is live, free and with no sign-up, on computer and phone.

06 / 07

What I learned

Separating simulation from rendering on day one costs almost nothing and changes everything later: you can add arenas and items and check them without opening the game.

07 / 07

Tech stack

Front end
Next.jsTypeScriptPWATailwind CSS
3D, motion and real time
Canvas 2DWebSocket
Back end and APIs
Node.js
DevOps, cloud and testing
DockerGitLab CI/CDGit
Product, SEO and methods
SEO

Next project · 06 / 08

Soie

Next project · 06 / 08

Soie

Write to me

contact@victor-delorme.com

Available for roles, projects and freelance missions