Inspiration

Sudoku (the game), r/Place, r/Sections, and to a much lesser extent ... Ice Climbers (the game) and Cliff Hanger (1993 Movie)

What it does

Sudoku Mountain is a collaborative sudoku puzzle game, where anyone familiar with the game can contribute to an ongoing puzzle board! The game features realtime and large multiplayer support. Once one puzzle is finished, a new one will be pinned to the 1st spot in the subreddit- keep climbing that mountain!

Other notes:

  • While Sudoku mountain doesn't have scheduling posts, it moves at the pace of the community that it's in- this means that on days or weeks where there isn't much movement, no one is looking at several incomplete "daily" boards, but instead focused on the puzzles at hand. On days with lots of activity, new puzzles will generate to keep peoples attention and engagement, without you going off to other sudoku websites just for another puzzle (a personal qualm I have with wordle 😅... to be clear I love wordle tho).
  • While Sudoku mountain doesn't inherently have personalized content baked in, it's focused on a strict and limited format of solving puzzles (with some heights listed when reached certain milestones). In this way, it doesn't ask too much of it's users, it's easy to jump in and see the status of a puzzle, and it's not asking for anything more than that. Maybe in the future there will be reactions (on cells) or other communication techniques, but I'd avoid anything that could encourage toxicity.
  • By using blocks and sticking to easy to use interface, SudokuMountain is both performant and easy to jump into.

How we built it

I built Sudoku Mountain with the devvit toolkit, exclusively relying on blocks (instead of webviews). It uses the redis and realtime apis to store score data and ensure a smooth multiplayer experience with any number of players that can jump in and out seemlessly. Huge shout out to the discord channel and the subreddit for both support and examples! It's awesome to see such a awesome community work to create powerful experiences together!

Challenges we ran into

Building unique sudoku puzzles is a puzzle in it's own right! I managed to find a few interesting techniques and at this point it would be very very very very **very* unlikely* to have two puzzles that are the same, or at least, near enough to each other and the same 😅. Puzzles vary in difficulty and people can guess a number of times, but over 3 mistakes and you'll have to wait for more hearts.

The biggest (technical) challenge was mobile's functionality with the real-time API- while I didn't expect it to be one-to-one with the desktop experience, the fact that it was touch and go depending on if you had focused / refreshed the post made it difficult to assess where things weren't working, and what state things were in.

Accomplishments that we're proud of

I'm proud it's working! There was a nice moment where it was working, but the real magic happened when I shared it with friends and people just lit up when they saw other people solving the same puzzle as them. It's okay as a single player experience, but it truly is magical when the multiplayer thing just works. I've seen people become competitive, trying to solve squares faster than others, but also collaborative when being really stuck on a tough puzzle.

What we learned

  • Multiplayer experiences are magical!
  • Building sudoku puzzles (that have one unique solution) is not as trivial as you would imagine! And there are a lot of advance techniques for solving sudokus!
  • Mobile is a constant nightmare, but a necessary evil.
  • Don't code all your logic in one giant file. (I probably will continue to do this though, such is life).

What's next for Sudoku Mountain

  • Better health timing logic.
  • Displaying how many players are actively working on the puzzle.
  • Surge scoring (when many players are playing at the same time, give them bonus points!)
  • Lonely scoring (when a board hasn't been completed in a long time, give players more points for working on the board!)
  • Monthly leaderboard resets (?) I think I would have to see how it progresses... it could be fun to see people race, but I could also imagine it being exhausting.
  • Team / Group points (people love being on a team)

Built With

Share this project:

Updates

posted an update

There was a bug discovered bit ago with a post that had a bad board state- now boards will confirm with the solution stored on the server that puzzle solutions submitted should match up with those online (instead of the logic purely being on the client side).

Log in or sign up for Devpost to join the conversation.