Websites are big projects, but video games are a different beast altogether. Still, there are those times when you have to get an idea out there, and Discord is the perfect place to scratch that itch. Their API provides a playground for fun concepts: you get a text output to work with and a few buttons - that's it. With just the essentials, these miniature games require you to pack a punch in a few sentences.
A fishing minigame in Discord. The bot creates a text output with fish emojis. The user has to reel in the line by clicking the button whenever the fish passes under their bobber. Some sprites are from Minecraft and Minecraft mods.
To create these scripted responses to user input, Discord allows you to create bots. A bot will read every message, waiting for a trigger word or interaction which starts the script.
With an image manipulation library called Jimp I started to give my minigames a visual interface. The bot can send pictures attached to a message, so I create images on the fly by stacking sprites on top of each other. This makes the interface dynamic - for instance, a fish collection will only display the fish that specific player has caught so far.
Pictures get resized when you view them in Discord, so I really enjoy thinking of ways to jampack visually interesting graphics into the small 400x200ish frame. Rendering overlays with sparkles, rays and glows gives a real 'video-gamey' feel.
Buying lootboxes that contain random stickers
All of my bots run in a private server with my friends and I. This way, I don't have to worry about a super secure backend or not having test for every possible bug ever. I love creating short events for my friends, usually tied to some inside joke. Admittedly, I go overboard most of the time - but we always enjoy every second of it.
We're all pretty competitive, so whatever I make has to be tied to a point system and ultimately, a leaderboard. Sometimes the first place gets a prize, but usually it's a friendly competition.
A 'crack the safe' minigame, where you guess the word with a limited amount of attempts
And then it got crazy
Our Discord server has only a handful of active members, so with little traffic and without threat from Discord's API rate limiting, I get to do some real weird stuff. For Halloween 2021, I edited one of my friends' face into a bunch of outfits. It was my take on a gacha game, where you spend currency to receive a random item - in this case, a random costume with my friend's face. I tied it to a narrative (having to defeat the big boss by collecting the rarest costumes) and we all went crazy over it.
A few graphics from the gacha game I made for Halloween 2021. I've blurred their face for privacy reasons.
The most important aspect of working with this limited medium, I've learned, is creating visual interest. I was inspired by the character reveals from gacha games such as Genshin Impact and Cookie Run when setting up the costume reveal. Extremely exaggerated borders are super satisfying, even in Discord.
Some of the costume borders from the gacha minigame I made. The costume would be displayed in the center.
The bot is currently running Node on a free tier Heroku app with a Mongo database.
This is a personal project and is not affiliated with any of the names mentioned in the post.