Inspiration
We wanted to make a multiplayer game that people could play together without leaving Reddit. Mini golf was a good fit because the rules are familiar and work well on both desktop and mobile.
What it does
Get Your Golf On! is a mini-golf game for two to four players inside a Reddit post.
Players can join Quick Match or create a room and share its six-character code. Unlike traditional mini golf, everyone plays at the same time. Balls can collide with one another, moving obstacles, and characters in the environment.
The game has two courses: Sushi Rush and Neon Heights. Players golf through a busy sushi restaurant or across the rooftops of a cyberpunk city. Each course includes animated characters, interactive hazards, and a layout built around its setting.
There is also a rotating Daily Round with a leaderboard.
How we built it
We used Devvit Web, TypeScript, Three.js, and Devvit's built-in realtime and storage tools for multiplayer rooms and daily scores.
One player runs the main game simulation and shares its state with everyone else. Other players see their shots immediately while the game synchronizes everyone to the same result.
The courses use optimized glTF models, merged geometry, and instancing to create detailed environments while running well on mobile. The physics run at a fixed 120 Hz and handle golf balls, course borders, moving hazards, characters, checkpoints, and holes.
Challenges we ran into
Multiplayer synchronization was the hardest part, especially keeping shots responsive without players ending up in different positions.
We also spent a lot of time improving mobile controls, performance, collision accuracy, camera movement, and course design. Making the scenes feel alive without blocking the course or hurting performance was a major part of the work.
Accomplishments that we're proud of
- Two-to-four-player matches inside Reddit
- Quick Match and shareable room codes
- Simultaneous putting and ball collisions
- Two detailed, interactive 3D courses
- Animated characters, moving hazards, and physics-based obstacles
- Mobile and desktop controls
- A rotating Daily Round leaderboard
- Music and sound effects for each course
- Automated checks for controls, multiplayer, physics, and course loading
What we learned
We learned a lot about realtime multiplayer, mobile 3D performance, and designing touch controls that stay out of the player's way.
We also learned that good environments should do more than look nice. They should guide the player, support the gameplay, and make the world feel alive.
What's next
We'd like to add more interactive courses, improve rematches and reconnecting, and introduce unlockable balls, hats, and seasonal leaderboards.
Built With
- devvit
- three.js
Log in or sign up for Devpost to join the conversation.