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

Share this project:

Updates

Submission history