I have been playing games throughout my entire life but it never occurred to me that I might one day create my own video games. It seemed such a distant concept for such a long time till I entered the eighth grade.
Computer Science has been a large part of my life since I was in eighth grade. My love for computer science all began when I was given the opportunity to visit the Facebook campus. During my visit I was able to see individuals working together seamlessly with extreme concentration. This is where I learned about the occupation title of computer scientist. This is where I began my journey to try and pursue a career in this field of work. This is where I began learning about what computer science entails. I began to take a class over the summer at a camp where I was able to dabble in many different languages. This helped give me a better understanding of the differences between each programming language. After enjoying my time at camp I decided that I should pursue some computer science classes at LACC to find out if I will truly enjoy obtaining a career in this field. When I heard we are going to be able to participate that we would be able to choose my first though went to something topic in the field of computer science. Since video games have been such an influential part and is a big reason I originally gained interest for history that's what I wanted to create.
The capstone project I decided to pursue revolves around computer science. I wanted to challenge myself and create a 2D video game. This project involved me needing to research from numerous different sources to be able to complete my goal. The sources I used in developing the game are as follows; YouTube, Reddit, and Discord. I had a background in coding from numerous summers at UCLA ID Tech camp and college courses I took over the summer. Considering I want to major in computer science, I wanted to challenge myself by creating a video game.
I was inspired by classic video games such as Super Mario Brothers and Legend of Zelda. The game I created used a sixteen-bit art style reminiscent of games from the Super Nintendo console. This art style has a lot of charm and makes the game feel classic. I used elements such as being able to jump, lose health, and unique level design. I was hoping to achieve the same nostalgia Super Nintendo brings to people. The era I decided would suit my game best would be the medieval era.
I utilized Unity software and their version of C# to create the game, and it gave me the ability to be the most creative. This was the first time I had used Unity, after doing research I learned that this was the best software for my project. I had to ask myself, “What makes a game a game?” During the development of my game, I used inspiration from many other influential sources. This helped me figure out what really makes a game a game. When I began my project I started off by trying to learn the basics through watching YouTube. I found YouTube to be a valuable resource for learning new information. During a couple of months I worked on my project, I added mechanics such as coins, health, traps, and checkpoints.
Creating the game was not always easy, and I ran into a few snags. A lot of the code had errors, and I had to constantly review it to discover those errors. It was a constant struggle trying to find out what I coded wrong. I would rewatch videos observing closely to try and find out if there was any possible mistake I might have made, but unfortunately, nothing seemed to be wrong. I ended up reaching out to the Unity Discord community online. They were able to point out the error in the code that I had missed. I would post my code and explain the problem; usually, I would be provided with the solution. I feel this project has made me a better programmer. I am happy with the end result. I want to continue to grow as a programmer.
June: I created a basic testing level and found a sprite for the player
August: I added some basic animation such as running, jumping, and attacking.
Early September: The player being able to double jump was added.
Late September: Now coins have been added which the player can pick up. There is also a counter that tells the player how many coins in total they collected.
Beginning of October: The game now has a health bar that decreases every time the player steps on a trap.
Early October: The tower was expanded on and spread more coins around the level.
Middle of October: I created a checkpoint so that if the player dies they would have a place to respawn at instead of being forced to restart the game.
Beginning of November: I was able to get it so the player will respawn at the checkpoint.
Middle of November: I added a start screen and a end screen.
Late November: The player now has a way to complete the level by reaching the trophy at the end of the level.
Blocked on the school server.
Discord Inc. (2015). Discord (Version 0.0.39)
How to double jump in Unity. (2021, December 15). YouTube.
from https://www.youtube.com/watch?v=RdhgngSUco0
Start & game over menu | build a 2D platformer game in Unity #13. (2021, June 21). YouTube.
from https://www.youtube.com/watch?v=OLbWB1R095s
Unity 2D platformer for complete beginners - #14 Game Over. (2022, July 13). YouTube.
from https://www.youtube.com/watch?v=3tQSAtaSwvc&list=PLgOEwFbvGm5o8hayFB6skAfa8Z-mw4dPV&index=14
During my project the SLO that I experienced the most was persevere. While working on my project I experienced many difficulties. Anyone that has done computer science understands that running into problems with your code is commonplace. If you want to pursue a career in computer science then you must be able to persevere. While working on my game it felt like everytime I tried to add onto my code I would receive a message that an error had taken place. This forced me to look into ways that would allow me to figure out how to fix the issue. Trying to find information online was not an easy task. When I would post my question onto a forum I would have to wait weeks before someone would respond and many times their response was not much help.
After talking to someone that had a similar interest in computer science as me, I was recommended that I should find out if the question had already been answered on StackOverflow. The problem I noticed was that while I did code in C#, Unitys version of C# is slightly different. This caused me to look to see if there is a discord server for people like me to ask questions to individuals that better understood how to use unity. After joining the server I began to ask questions in the hopes someone would have an answer. Unfortunately responses I received while helpful were insulting. Even though I was able to fix the problem I faced verbal abuse from these people.
I began to dread asking questions on the discord server but I knew that if I wanted to advance the progress on my project I would need to go back. Over the course of three months I would frequently ask questions on the server. While I tried to find other ways that could substitute using the server, nothing on the internet I found proved to be as effective. If I did not persevere through the many difficulties during my project then I would not have had little I would be able to show. I learned that preserving is one of the most important traits a person could have.