Work WebGL / Multiplayer

Golf Duel

A browser game that starts as turn-based 3D mini golf and, when the scorecard needs settling, drops everyone into an arena FPS. It started as a "can I even do this in Three.js" experiment and kept growing.

What's in it

  • Mini golf holes with ramps, bumpers, ice, launchers, death zones, timers, and shared scorecards.
  • First-person arena rounds with bots, loadouts, abilities, kill notices, and end-of-match screens.
  • Peer-to-peer multiplayer: PeerJS handles lobby discovery, then gameplay runs over direct WebRTC.
  • Maps, weapons, tournaments, and loadouts all live in JSON, so I can tweak them without touching code.

How it's built

No build step. Three.js comes in through an import map and PeerJS from a CDN, and the whole thing is served as static files. That keeps it deployable to any static host (it's running on Cloudflare Workers right now) and quick to iterate on.