Inspiration

The idea for Alpha Quest came from the nostalgic childhood game "Name Place Animal Thing", a simple yet engaging activity that challenged our creativity and knowledge. I wanted to bring that same sense of fun, learning, and challenge into the digital space, but with a modern twist tailored for Reddit.

What Makes Alpha Quest Different?

Traditional Version: Played with pen and paper, where players had to write answers manually and often spent time cross-checking answers.

Alpha Quest (Digital Version): Time-Based Challenge ⏳: Adds excitement with a 30-second timer for each letter.

Score Tracking 🏆: Automatically calculates and displays scores (+5 for correct, -3 for incorrect answers).

Daily Limits 🗓️: Players can solve up to 4 letters daily, keeping the game addictive and fresh.

Knowledge Boost 💡: Shows brief facts and reasoning behind each answer, combining fun with learning.

Interactive UI 🎮: A smooth and engaging webview experience makes it quick and easy to play. This modern digital version not only revives the nostalgic fun but also introduces new elements that challenge players, provide instant feedback, and make learning entertaining. Reddit's vibrant community provides the perfect platform for engagement, competition, and collaboration.

Alpha Quest – the fun game you love, now smarter, faster, and interactive! 🚀

Note that this is my first time using Reddit, and Devvit

What it does

It can be played by any Reddit user after navigating to https://www.reddit.com/r/versatileParadise/comments/1hgprc6/alpha_quest The below action sequences are done by the Devvit application after this:

  1. Before loading up the UI, the app sets the event listener so that the communication can be done from the devvit app to the webview or vice versa.

  2. After that, the username is fetched from the context & a randomized Reddit fact is picked and shown in the UI.

  3. Once the username is fetched, the webview page is shown and then the user views the aesthetically pleasing landing page.

  4. Then the word division is shown, which highlights the alphabets (batch of 4) that could be played by the user.

  5. After the alphabet is clicked, it is checked whether the Redis storage for that week & day combination has the current alphabet. If it is, then it deduces that player has already played the level, showing the answers for that alphabet. If it is not, then the questions are shown to the user with a timer of 30 seconds.

How I built it

I started by using the webview template and then modified it according to my needs. Then I worked on making the webview application (I built it first as a standalone application), and used local storage to mimic the storage feature. After that, I started using Redis to see how to use it. Post that, my focus was to set up the messaging service between webview and Devvit.

After doing all of that, I finally built this amazing application which is a word game that sharpens the logical thinking of the player.

Challenges I ran into

As a first-time user, it was somewhat difficult for me because I had to find and test a lot of things to see how things work in a webview application. However the documentation and AI assistant, ensured that I had to spend the least amount of time in debugging it.

Accomplishments that I'm proud of

The entire application of how it turned out 🫰

What I learned

Before this event, I only read/heard about Reddit on various web pages but never used it. So, through this hackathon, not only Reddit gain a new and loyal user, but also developed this great application using the webview template of Devvit. Right from Redis, and context, to event handlers for messages, I used pretty much everything in this project and I am proud of what I made at the end

What's next for Alpha Quest

There are endless ways of enhancing the project, a few of them are:

🔴 A leaderboard to see the weekly top scorers that could be done by syncing the scores to a server and then in real-time, the stats can be fetched.

🟠 As of now, users can see the answers to the questions by clicking on the alphabet again. The next day, the user can't see the previous day's answers. So, this can be enhanced by running a scheduler (cron job) that will run at 11:59 pm each day and will provide the answers for the 4 alphabets as a comment.

Share this project:

Updates