Inspiration
I have grown up playing games, and one of the first games I started playing was Roblox. Recently, I've been interested in creating projects, and one of them was to create a game in Roblox. This hackathon was the perfect opportunity to use my knowledge from school as well as to learn about the game-making process and how Roblox Studio works.
What it does
My project is a game that people can play in Roblox. Players spawn in a room where they are able to click a block with difficulties from 1st to 6th grade. Depending on what block they click, the problems they will solve change. Once the block is clicked, a door opens, and players are able to start answering questions. Players must move on a path with walls blocking them. Math questions are display at the top of the walls with two doors with different answer choices. One of the answers is correct and allows players to progress while the other answer makes the player reset and start from the beginning. The player completes the game once they successfully answer 10 questions.
How I built it
I built my game in Roblox Studio. I first started by creating the room where the player spawns/starts then added the blocks which players can click to change the questions. I needed to have the blocks to have texts, so I learned how to add SurfaceGUIs with TextLabels to parts. After that, I decided to create a door that is broken once the player clicks on a block (which was a bit of a difficult task). Then I created the path where the questions would be displayed, and once I built everything, all that was left was to code the functionality of the questions. For example, when the player goes in the right answer door, they are able to pass, while going into the wrong door would reset them. Additionally, I made a question and answer bank for each question and randomized the answers, so that players would have to think about each question, and none of them would be the same. Also, I created something that ensured that the two answers displayed were never the same because that would cause errors. At the end, I made a function that changes the questions based on what block the player chooses. For instance, if the player chooses the 6th grade block, then the questions become 6th grade questions.
Challenges I ran into
There were a LOT of challenges I ran into. My first challenge was understanding how to create parts and blocks in the game engine. This wasn't a terribly difficult task, but it wasn't an entirely easy task either. My second (and hardest) challenge was understanding the Lua syntax and all the classes, names, and functions that were included. It was even a bit difficult using data types because there weren't really any specifications of data types unlike Java, C, or Python. After that, I had a bit of trouble figuring out how to create and code things that other people had never done before, or at least never documented. The hardest part of this was figuring out how to connect different scripts from different parts to share the same variables and functions. Finally, I also had a bit of problems while combating the logic of my scripts and code, but it was more because I didn't understand Lua completely and had errors in my syntax.
Accomplishments that I am proud of
I am definitely proud of everything I made. It was my first time using Roblox Studio, Lua, and making a game, so my entire game is an accomplishment, but there are some key parts I am especially proud of. Some of my code and functions had never been done before, so it was difficult to implement, but I was innovative and came up with solutions. Particularly, one of the parts I worked the longest on was trying to figure out how to conditionally set an attribute to one of the answer elements while keeping the other the same. I couldn't really find anyone else doing this, so there was no reference as what to do, and I had to come up with something myself. I was really happy after hours of working to finally see it function properly. I'm also proud of my development in my skills in Lua and Roblox Studio. Towards the end of my project, I could tell that I understood Lua better and improved a lot from when I started.
What I learned
I learned a lot of things, as I mentioned before, this was my first experience using Roblox Studio, Lua, and making a game. It was definitely difficult using and learning a new language at the same time, but I was able to figure everything out eventually. I feel a lot more experienced in game world-building and adding scripts to the objects within the world as well.
What's next for Roblox Math Game
I could definitely add some more functionality to make it a more appealing game. I could also add some game aspects like competition between players or a timer to incentivize players to hone their speed solving abilities. There's many more directions I could go in to make my game better, for example increasing the difficulty of questions to include high school, or even college, courses like Algebra, Calculus and Linear Algebra.
Log in or sign up for Devpost to join the conversation.