Inspiration
We wanted to build something that captured the tension of a real "one shot a day" challenge — no retries, no grinding, just one voyage. The idea of a sinking ship you have to escape before the deck floods felt perfect for that.
What it does
Last Voyage is a daily puzzle game built on Devvit. Each day generates a new board. Players navigate an 8x8 deck, dodge sharks and whirlpools, collect pearls, and race to reach the lifeboat before time runs out. A rogue shark roams the board independently of the turn-based grid, actively hunting the player and forcing real-time evasion on top of the puzzle-solving.
How we built it
Built entirely on Devvit Web with a native HTML5 Canvas for rendering — no external image assets. The client handles board rendering, animation, and the rogue shark's continuous movement/steering logic, while the server generates the daily board and tracks scores.
Challenges we ran into
Getting the rogue shark to feel like a genuine real-time threat instead of just another static tile hazard took some iteration — we ended up decoupling its movement from the turn-based grid entirely, giving it its own continuous position and steering behavior with distance-based collision.
What we learned
Working within Devvit's build pipeline and deployment flow end-to-end, from local playtest to publishing an app.
What's next for Last Voyage
More hazard variety, streak-based rewards, and leaderboard polish.
Built With
- developer
- devvit
- html5
- typescript
- vite
Log in or sign up for Devpost to join the conversation.