Inspiration
Trying the Gamepad API on Reddit; Chrome's dino game.
What it does
Dinodrift is a side-scrolling "daily runner" where players compete on a globally synchronised, procedurally generated track. Everyone gets the same seed each day, ensuring a fair fight for the top of the leaderboard. Each day introduces a fresh global physics modifier—such as low gravity, wind drift, or high-speed ramps—transforming the gameplay theme and strategy every 24 hours. It features high-speed drifting, cacti-dodging, and bird-evasion
How we built it
Built on Reddit's Devvit platform using React and Vite for a performant frontend. The backend uses Hono to manage daily seeds and leaderboards via Redis. The project features a unified input system for Gamepad, Touch, and Keyboard, along with synthesised Web Audio
Challenges we ran into
- Safari's strict audio policies that prevents audio play on first interaction.
- Normalising Gamepad trigger pressure, joystick movement direction and haptic feedback across Chrome and Safari
- Haptic feedback doesn't work in Chrome, only on Safari (strange)
Accomplishments that we're proud of
Building with the Gamepad API
Note
- Due to MacOS policy, during screen record of the video demo submission, gameplay audio wasn't captured, and there were isssues using other softwares
- Gamepad haptic feedback works only on Safari
Built With
- devvit
- gamepad-api
- react
- typescript
Log in or sign up for Devpost to join the conversation.