(The link for my game is at the bottom!)
Before I begin, I would like to thank my mentor for all the help they provided me during this project. Thanks a lot!
Hi everyone, my name is Dylan, and welcome to my In-Depth presentation!
I’m a grade 9 T.A.L.O.N.S learner, and for the past 5 months, I’ve been working on a large-scale project called “In-Depth.” In this project, you choose a topic you are interested in, and learn about it!
You also have a mentor to help guide you along the way and provide assistance when you need it. You were expected to meet with your mentor on a weekly basis to have conversations and get help for your project.
What is my In-Depth project?
I chose game design for my In-Depth project this year because I was interested in coding, and I also very much enjoyed playing video games. Plus, I was also very interested in what happens behind the scenes when a game is made, and I wanted to see for myself what those behind-the-scenes processes look like.
By the end of the project, I wanted to have achieved the following:
- Gain a basic knowledge of coding in C#.
- Gain a basic knowledge of using the Unity Game Engine.
- Understand generally makes a game fun.
- Make a simple 2D platformer game in Unity
To achieve this, I made a timeline of events and deadlines for myself in order to stay on time, if you wish to see it, please refer to my first In-Depth blog post for the full timeline. In short, I would spend the first two months learning C#, the next two months learning Unity, and then spend the final month making my game.
What did I learn about C#?
In the beginning, I knew close to nothing about C#, but I got my start with courses and videos recommended to me by my mentor. For around the first two months, I learned about the basics of C# programming, such as console commands, variables, conditions, and more. I made a lot of simple programs in the beginning, including a program that calculated the number of words you had in a sentence.
Here are some of the programs I made during this time (click on the individual photos to enlarge them):
A highlight from my C# learning period was the “FizzBuzz” challenge my mentor gave me to complete within a week. In short, the FizzBuzz challenge was to create a program that would write the numbers 1 to 100, but for each multiple of 3, have the program instead write “Fizz,” and for each multiple of 5, have the program write “Buzz.” However, if it was both a multiple of 3 and 5, then the program would instead write “FizzBuzz.” The intention of the challenge was to see if I had a good grasp on the basics of C# yet.
Here’s the code for the FizzBuzz challenge:
What did I learn about Unity?
Similar to C#, I started the second two months of my In-Depth project with next to no knowledge on the application. However, with the help of my mentor, I was once again given quite a few courses and resources for me to use and learn from to gain knowledge about the application. From this, I learned about many aspects about Unity, including how to navigate around the application, create my own layouts for the Unity UI, how the hierarchy worked, and how Unity scripting worked.
During this time, I made a few microgames and games for my Unity courses. Here are some pictures of those games (click to enlarge the photos):
A highlight for me while working on Unity for my In-Depth was finding out that programming C# for Unity is very different than normal C# programming because In Unity C#, you add a “using” command called “using UnityEngine” which adds new commands specifically made to be able to be used with Unity, and is what you need to add to your scripts to make it able to be implemented within your game. This quite surprised me because I didn’t know about this and learning about all the different commands and such used in Unity was very interesting.
Below is a script I made as part of a course I took for Unity. It allows the player to control the player vehicle in-game:
What makes games fun?
After some research on this topic, unsurprisingly, it’s very subjective. However, in my opinion, there are core elements in gaming that most consider the baseline for what makes a game fun.
These core elements are:
Re-playability is quite important nowadays in gaming since if you beat a game once, then what’s left for you to do in that game? The problem of already knowing what’s going to happen in the story or already knowing the solution to most of the content in a game is why modern games have made it very important to extend playtime, They do this by implementing mechanics that incentivize replaying the game. For example, games nowadays have multiple endings or randomly generated worlds, or randomly generated puzzles. Another highly popular method to gain replayability is to incorporate a multiplayer into the game, which means it has infinite replayability.
Challenge is also another important element in making a game fun, and without challenge, people will get bored from playing through a cakewalk. Challenge also incentivizes you to get better at the game, acting as an obstacle that can be used as a catalyst for great amounts of satisfaction and excitement for the player. One of the best parts about gaming for me is that feeling of excitement when you beat a really hard boss or level which isn’t really replicated anywhere else in my opinion.
Finally, Progress is a very important element in making a game fun. This is because we often play games just to be able to make progress or an impact on something, even if it’s digital. Progress is satisfying because you feel like your being productive and getting closer to a goal, which is why playing games is very common way for people to satiate their desires for progress.
Now for the moment you’ve all been waiting for…
MY GAME! In the description of the game, you’ll find the synopsis and the credits of the game. To start the game once you get to my game’s Unity page, simply press the blue “play” button and the game will start! I hope you enjoy playing my game!
Click on the play button below to be redirected to my game’s Unity page!
Thanks for reading about my In-Depth project and I hope you learned something from my experiences! If you have any questions about my project, please post them in the comments below and I’ll try and answer them as quickly as possible!