Inspiration

Shape Seeker is inspired by the classic "Where’s Wally?" (or Waldo) puzzle books, where players search for Wally hidden in a busy background. I remember spending hours with my younger brother trying to find Wally, and it was always a fun and challenging experience.

This game builds on that concept and encourages keen observation, critical thinking, and attention to detail. By bringing this idea to Reddit, Shape Seeker transforms a solitary puzzle-solving activity into more of a community driven challenge, where players compete against time and each other, and creators flex their ingenuity to craft clever hiding spots.

What it does

This Reddit game invites players to locate a single hidden shape within a visually complex background filled with other random shapes. Creators design puzzles by choosing a target shape, its color, and size, strategically placing it on a canvas, and generating a distracting backdrop of overlapping shapes. Players then have five seconds to find the described shape (e.g., "Find the Blue Square"), testing their speed and precision. The game tracks individual and community performance like success rates, reaction times, and guess accuracy. Each game lives as a Reddit post in the subreddit.

This format encourages active community participation and interaction since it is the subreddit members who both create games and also play them. There is no dependency on specific individuals like moderators, or waiting x amount of hours for new post to drop. For interesting and difficult puzzles where the shape is well hidden by the game creator, users can help out each other in comments as well!

How I built it

  • I developed Shape Seeker entirely using the Devvit SDK, along with using its Redis feature for storage. No other package was used (in fact, package.json literally just has one dependency!)
  • The web views are fully coded with HTML, CSS, and JavaScript, handling all front-end functionality.

Challenges I ran into

  • Ensuring web view window and post dimensions were responsive on the mobile app proved quite challenging. I always try to make my frontend applications accessible on both desktop and mobile, so I ensured that with Shape Seeker as well.
  • Establishing proper communication between the web view and blocks required more time than I initially expected. It took me a lot of logging to get everything working properly.
  • The background shape generation required multiple conditions and considerations. For example, I updated the "Create Background" functionality to prevent the currently selected target shape from being included in the newly created background, but if a user modified their shape after creating the background, then the modified target shape might already exist in the background, so I added a "Remove Repeated Shapes" functionality.
  • I spent considerable amount of time attempting to add a realtime multiplayer feature but could not complete it. It was a challenge that I’m looking to solve even after this submission!

Accomplishments that I'm proud of

  • The game is built to be completely responsive on all devices, and I’m very proud of that.
  • I worked on both design and development, and I’m happy that I was able to complete the app with a clean and delightful UX.
  • This was my first time building a Reddit app, and I’m proud to say that this is a game I actually enjoy playing myself.
  • I believe that this game is not only enjoyable but also simple to understand and navigate. Even a 10-year-old can easily grasp what to do. I made sure that there are no lengthy text blocks, cluttered interface, or a confusing layout to ensure players stay engaged and don’t leave out of frustration or confusion.

What I learned

  • I learned how to use the Devvit SDK and realized that more of us should be building Reddit games! I loved how rapidly I could iterate since hosting was already handled, and all changes were hot-reloaded.
  • It has been a while since I worked with frontend, so returning to JavaScript to code web views, I learned a lot more about rendering HTML elements using JS, which the game uses heavily.

What's next for Shape Seeker

  • Adding personal game statistics, where players can see all the games they have played, their performance, and their success rate. The personal stats board would also show how the a person’s games performs compared to other games built by the community.
  • Building a "Heatmap" feature, so that after 24 hours, the game result post transforms into a heatmap showing where all users guessed the hidden shape location.
  • Adding a realtime multiplayer feature so that two or more people can join a single game session and compete against each other to find the shape first. I tried adding this feature before submission but couldn’t. However, it is definitely next in the pipeline.
  • Gathering feedback, sharing it with friends, and growing it to hundreds, and then thousands, of active users.
Share this project:

Updates