Inspiration

I saw the Pictionary app on the Devvit examples page, and I've always liked short, silly poems. I thought guessing words based off poems rather than pictures could be a cool twist on the pictionary formula, and I though Haikus were a good choice since they are simple, and can be both silly and profound.

What it does

Every day there is a Daily Challenge on the pinned post that selects 3 haikus from all the posts on the subreddit and shows them to the viewer. Each haiku is about a single word topic, but the word is hidden and the viewer has to try and guess it. There is a prompt showing the number of letters in the word to help the viewer. They get three tries on each haiku, or else they fail that one.

Once the viewer has completed the Daily Challenge (regardless of whether they succeeded on all three guesses), they unlock the "Write Haiku" button. This mode allows them to choose from a set of ~250 random subject words, then gives them an editor screen to write a haiku about that word. This screen includes prompt buttons for each line to help them get past writer's block. They can also customize the background for the card that displays their poem to other viewers.

How we built it

I forked the Pictionary project shown in the Devvit example apps and started from there, so the game uses TypeScript, Node, and Vite. I have experience in web development, so I was able to code in these languages pretty easily. To help with the timeframe I leaned on Copilot a bit for refactoring and debugging help.

Early on, I was quite focused on making a funny experience because that was what I thought I would personally enjoy the most. But about halfway through the jam, I took what I had to a prototype meetup I attend monthly, and the people there had some really good advice for me. They pointed out that the average person would probably have more fun guessing than writing, since most people aren't writers, so I should make that the main focus of the game. I was planning on forcing people to write a haiku before they could guess others, but the other way around makes a lot more sense.

They also compared my game to popular daily games like Wordle or GeoGuessr and noticed that many of those games actually have kind of dry subjects, and that these games don't need to be funny or exciting to make people want to play them. A short, simple experience is better, and a more minimal concept like poems is more approachable for everyone, including non-gamers.

Challenges we ran into

Writing prompts: Early on I didn't have prompts to help with the writing mode. I realized pretty quickly that for the average person this just makes things way too hard. Most people if you give them 2 lines though can at least write a third, so I added the prompts to help get to that point.

Data sourcing: From a technical standpoint, the prompts pose a bit of an issue. I looked at haiku datasets on Kaggle and I couldn't find many good ones that had clear subjects to guess, which is needed for the format of this game. So I decided to use LLM-generated lines for now, as they are often used in game jams and early prototyping. I am aware of the negative perception of AI use for assets, and I myself am somewhat uncomfortable using it this way. If I keep supporting this project long term, I would look into ways to replace this stub data with human-written lines.

There is currently a mod action that can be run that looks for any posts with at least some correct guesses and likes, and overwrites the haiku stub with the user-written poem. That is at least something to alleviate this problem. I also plan to work on a good way to signpost/explain this issue to users on the homepage, so they don't feel misled.

Encouraging Writing Writing content is scary, and hard. I'm sure some people will naturally feel inspired to do it, but I'm not sure there will be enough to keep the community afloat. This is an active problem as I dont really know how bad the ratio of guessers/writers will be until the sub gets some traction. If it is I guess having some level of reward tiers and comunity highlighting for exceptional writers could be a way to make sure that the people that do like to write feel appreciated and keep doing it.

Accomplishments that I'm proud of & what I learned

  • Game flow: The overall flow of the game is simple but enjoyable, I think. I like writing short poems but I find it hard—I think most people do. I like the idea that this project might make it easier for people to get better at writing and sharing small, casual poetry like this :)

  • Technical complexity: The algorithm for selecting haikus correctly took a bit of time to get working properly. I haven't used Redis much before, and I got quite confused with some of the logic there.

  • Reddit development: Getting to peek under the hood of the data structures behind Reddit posts was cool. At the start, making a whole game in a Reddit post seemed impossible, but the Devvit docs are good and I feel a lot more confident with it now.

What's next for Haikuary

  • Priority #1: Swapping out all the AI work. It's not only that I don't like AI assets too much, but the prompts it has written are actually pretty average/bad poems too (imho). I think by properly combining some datasets or just getting some poetry enthusiasts to do some manual classification work, we could probably construct a dataset of around 250 really good, human-written works.

  • Priority #2: Ranking system: Right now the algorithm for constructing the daily challenge is jut looking for posts with a good ratio of successfull guesses, and at least some likes. It would be cool to flesh this out further though, maybe add more ways to provide feedback on each poem so that through ratings the poems that people find really clever, fance or funny can float to the top. Long term there could even be some sort of community tracking/awards that could highlight players that are contributing a lot of popular work!

  • Localization: Localizing this game for different countries is an obvious goal. I don't have the funds to do something like that though, so I'd need funding to do so.

  • Cultural expansion: A Malaysian friend of mine mentioned Pantun when I showed Haikuary to them. It made me realize that on top of localization, maybe this app could be adapted to support other forms of short poems from different cultures. Possibly all in one app, or possibly across multiple different subreddits, one for each type of poem.

  • Placeholder Art Before I could commericalize this project I would need to comission or buy the rights to some background art works and a differnt logo. Shouldnt be too difficult, but what it there now is just placeholder stuff for the hackathon.

Built With

Share this project:

Updates