Discord Bot Blowup
Tags: javascript, discord, programming
Published: 2022-03-10 01:15:44

## About this post

To put it simply, this post is about how a simple Discord bot idea is taking off. Here I will document how I got it to succeed, what languages I used, problems I ran into, and more!

## In the beginning

In the beginning it was just an idea that popped into my brain, I was playing Forza Horizon 4 and thinking, "What if this was a Discord bot?", and started to think about how it would work, and if it could even work. Eventually I got to the drawing board to make this into a genuine project of mine, little did I know that this idea would turn into an actual community.

### Name Choices

Ah the name, one of the most important things about a Discord bot! At first, I wanted to simply stick with "Speed", but then thought that was too generic and unoriginal. I then thought, "Hey, 0-60, that's a car term, right? What if I put that into words?" And so, the name Zero2Sixty was born. Simple, easy to remember, related to the functionality, and unique!

### The Alpha

The alpha stage was hectic, I was thinking of how I could even make this work. I mean, a car game in Discord? Where would I even start! Well I knew just where to start, adding some cars of course! The first car models that popped into my brain were the Mazda Miata, the Toyota MR2, and the Pontiac Firebird. Now these were not just any old car models, they were all models I was looking to own as my first car! I decided to add all 3 of them as I wanted a variety to work with, so I could add multiple brands, focus on how they'd look in text form, and overall how the stats would work.

#### The first race functionality

I needed to add an actual purpose to the bot besides just cars sitting in a database. The first race I thought of was PVP racing, but I needed friends for that, so I decided to make AI racing first. 

At its core, the functionality was simple. Each car has a speed, and there are different dice to roll. An example would be, the Miata has a speed stat of 130. The dice are all different, so if your speed is 13 you can roll either a 1 or a 2. There is also a track length that the dice move you forward on. At an interval the track length will subtract the dice roll per second. Keep in mind, this was the first system I made. It was not very good, but it was simple, we'll get into the new system later on.

I had a race command, a few cars to work with, then what? That was the thought in my brain, then I remembered Forza has a currency system, so I got to work on that, it didn't take long, however it required a lot of thought about balancing. Like how I would price certain cars, how much a user could earn per race, and other things like that. I decided to make the AI race have tiers, each tier gives more money, simple right? There were 3 tiers in the alpha phase, this was after I added a few more cars as I needed faster cars for the higher tiers. Next, I thought about how cars would be priced, they couldn't be too high to where the user could never afford them, but they also couldn't be too low to where the user could obtain them easily. 

The basic functionality of the bot is done at this point, but there's more I needed to add, I began with upgrades, users could buy certain parts to upgrade their car's speed stats. Here comes another balancing issue! I thought about how parts needed to be priced so the user can't get the fastest car in the game in 10 minutes. The entry level AI race gave 250 cash in game per win, so I used that to price the parts, and how much of a boost they'd give. 

Upgrades were pretty much balanced and done, so I thought about how Id push this out to people, why would they want to play my bot out of every other bot? I started by listing it on a site called Top.gg, a listing site for all kinds of Discord bots! As soon as it got approved, I noticed a lot of servers adding the bot, and got shocked, I expected maybe 20 servers max in the first 5 months, but I got to 20 servers within a week! My support server grew as well, and I was helping people with the bot, but then I realized an uptake in users having trouble navigating the bot, the car names were too annoying to type, as it was case sensitive, and the help command wasn't really detailed.

### Improving the quality

I started with making the car names easier to type by making them all not case sensitive. This seemed to help a lot and I got a lot of positive feedback from this, but I was not done, I then decided to make an ID system, that the user could set themselves. For example, if a user wanted to type "my miata" instead of 1995 mazda miata, they could set their car to that ID! Then I got to work on the help command, I made it way easier to read, and I added a very helpful documentation website. 

## Where is it now?

It's still alive and well! People are using it daily, I made the support server into a community, and I'm growing my team! The bot continues to grow even more as I keep updating it, adding more features regularly so people don't get bored, engaging with the community I've built, and I've even made some income off of it! 

This post is to show that any idea you have can come to life and inspire others, if you have an idea, don't let anyone talk you down from making it a reality as it could blow up and become something huge!