Everyday Gacha is a loot system prototype and lite minigame. Similarly to other mobile gacha games, the player is able to gamble for cards, of which there are nearly 60 possible cards. Each card has a rarity and a type, and plays into a simple minigame to earn more currency. This prototype was designed in such a way that the developer could add new cards on the fly, with minimum work on the backend.
Everyday Gacha was a test in prototyping data management and implementation. I wanted to create a system where I could quickly create a series of metadata points, and then be able to parse that in a number of ways. Making a gacha/lootbox system seemed the most fun way to do it, and I ran around campus for the weeks developing it, getting artist friends to give me doodles to populate the game with.
Making the Cards
Everything in this prototype is about the cards, in particular how they store and present their data. The cards are made of two components, a small list of meta-data that defines it, and then a template by which that data slots into.
Contained in that metadata are all the points needed to create any card. Furthermore, the 'weight' of the card determines its likeliness to be pulled, allowing one to easily modify the probability of looting it on the fly. Here's how each card rarity is interpreted!
After the building the card system, I wanted a lightweight way of showcasing it. I created a small gameplay loop for this purpose that would allow the player to amass a collection of cards. The player needs a set amount of currency in order to pull a new card. This currency is acquired by deploying three of your cards. The deployment each day features a value, and then a type. If you look at the bottom of each card you will see a different symbol denoting its type - Tech, Utility, or Luxury. If you are deploying the correct type of card for that day, you will receive a bonus to the currency you receive based off the rarity of the card. After the player has deployed they will have to wait out a cooldown, giving them the opportunity to pull cards in the meantime! A fun way to enjoy some gacha, without busting any wallets...
This project was really a milestone for me in terms of my prototyping capabilities. By choosing to create such a large system I was forcing myself to think modularly, to create something that could do the lions share of the work without me having to resorting to long implementation processes/hardcoding. I was able to really get my hand's dirty with reading and writing data, HUD systems, and parsing lots of information. The lessons that I learned in this project would end up informing nearly every other prototype that I've done.