Gotchiverse 2D

Browser game client built with Phaser and Next.js, running authoritative multiplayer over Colyseus.

Year
2026
Role
Contributor on a fork of the Aavegotchi client; realm server built from scratch
Discipline
Game Development

The problem

Not every multiplayer world needs an engine build. A 2D world delivered as a web application loads instantly, deploys like a website, and skips the WebGL download entirely — but it still needs authoritative server state, or players desync the moment two of them interact.

The approach

The client is a fork of the Aavegotchi organisation's Next.js and React application, with Phaser handling rendering and input, so the game ships as an ordinary web deployment. My work was the multiplayer half: an authoritative Colyseus realm server written from scratch, owning movement and world state, plus the client-side netcode integration against it. The transport is switchable by environment variable so the client can still run standalone. Shared game data is vendored so both halves agree on the same definitions, and the two deploy independently — client on Vercel, realm server on its own host.

Outcome

Live at gotchiverse-2d.xyz with a walkable multiplayer world. The realm server is an original build; the client is a fork of the upstream Aavegotchi project carrying the netcode integration.

Details

  • Phaser rendering inside a Next.js + TypeScript application — no engine build to download
  • Authoritative Colyseus realm server built from scratch: rooms, movement, and world state
  • Netcode backend selectable at runtime for standalone or connected play
  • Split deployment: client on Vercel, realm server hosted independently

Built with

  • TypeScript
  • Next.js
  • React
  • Phaser
  • Colyseus
  • Vercel
  • Web3

Links

Need something like this? Unity & WebGL Game Development is what I do.

Related work

Last updated .