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.