MiniGolf 3D
MiniGolf 3D is a self-contained WebGL minigolf game built with Three.js and the Web Audio API. It features 9 playable holes with custom geometry, multi-segment wall bounces, circular bumpers, elevation changes, and slingshot putting physics.
Play MiniGolf 3D →
Launches fullscreen in your browser
Game Features
- 9 Unique Holes: From simple straight shots to tricky doglegs, bumpers, ramps, bowls, and rolling coaster tracks:
- Straight Shot (Par 2) — Warm-up tunnel
- The Corner (Par 3) — 90-degree dogleg
- Bumper Alley (Par 3) — Pinball-style circular bumpers
- Zigzag (Par 4) — Double-switchback corridor
- The Island (Par 4) — Narrow central hazard
- The Ramp (Par 3) — Inclined slope requiring power control
- The Divide (Par 3) — Central ridge forcing a route choice
- The Bowl (Par 3) — Funnel-shaped crater around the cup
- Rollercoaster (Par 4) — Rolling hills and dramatic elevation changes
- Slingshot Putting: Click and drag back on the green to aim and dial in putt velocity with a dynamic direction guide and power meter.
- Elevation & Physics: Analytical heightfields for ramps, bowls, and hills with real-time slope acceleration, ground friction, and multi-segment elastic wall reflections.
- Audio Synthesizer: Procedural sound effects using the Web Audio API for putts, bank shots, airborne thuds, hazard resets, cup drops, and hole celebrations with a mute toggle.
- Interactive Camera: Smooth target-tracking camera with orbit controls, WASD panning, and mouse-wheel zoom.
- Hole Selection: Jump directly to any of the 9 holes at any time via the HUD “Holes” button or the start round modal.
- Scorecard: End-of-round breakdown comparing your stroke count to par across all 9 holes.
Controls
| Action | Control |
|---|---|
| Aim & Putt | Click & drag on course to aim, pull back for power, release to stroke |
| Orbit Camera | Right-click & drag |
| Pan Camera | W A S D or Arrow keys |
| Zoom | Mouse scroll wheel / Trackpad pinch |
| Pick Hole | “Holes” button in HUD or “Pick a hole” in start menu |
| Reset Ball | R (incurs a 1-stroke penalty) |
| Toggle Sound | Sound button in bottom-right |
| Exit to Site | Back button in bottom-left |