What is In-Depth?
The In-Depth project is the TALONS’ program final pillar of the school year. It is a 5-month long project in Leadership that spans from, January to May. In the project, we get to go in-depth on any topic we choose. The end goal is to have learnt a great deal in a field of activity, one which is usually not available in a school setting.
To assist you to achieve that goal, you’ll also be tasked with finding a mentor to help you on your journey. The mentor should be an expert so that they have guaranteed experience and knowledge in your chosen field.
What is my chosen field?
My chosen field for In-Depth is programming for video games. Specifically, I’ll be using the “Unity Game Engine” and the programming language “C#.”
What is my reasoning for choosing this field?
My reasoning for choosing this skill is because I’m quite interested in coding, and I enjoy playing video games. In addition, I’ve always been interested in the small intricacies while developing games, and coding seems like a really good skill to have in a world where technology is becoming a major part of our lives. So, In-Depth is the perfect opportunity for me to dive into my interest in coding for game production.
The reasoning as to why I chose C# specifically as my programming language was because it is one of the most versatile programming languages. It is also easy to learn and adapt to and it can help you build a good foundation in programming, which is very important for me, as I have no prior experience in programming before. It also has a large community along with great support. In addition, it is a great language to use for game development, especially as it is the language used in Unity.
Finally, the reason for me to choose Unity Game Engine over another is that it has well-established frameworks, algorithms, data structures, and interface. In addition, what you learn in Unity can be transferred over to any other engine as well. Unity is also very versatile and uses C# to code, which is a great versatile language that is great for game development.
My end goal for the project is:
- To create a simple 2D platformer game (something like Mario)
- Learn how to make a game enjoyable to the player, the gameplay fun, and how the story interesting.
- I will learn how programming works, and what the theory and logic is behind programming.
- I will learn and have basic knowledge of both C# and Unity Game engine.
In hopes of being able to reach these goals by the end of May, I’ve created a timeline of what I’ll be doing for the 5-month period so I can make sure I have each goal finished by then.
|Do some general research on C# and Unity and find out what games people have made in a short amount of time with the programs.||Dec 19 (completed)|
|Find a Mentor to assist me in completing my goal.
Have the mentor fill out all the paperwork and give me some starting resources to begin coding with C#
|Jan 12 (completed)|
|Start coding in C# with Microsoft Visual Studio Code and begin learning how programming works.||Jan 14|
|Continue learning and practicing C#.||Jan 21 – Feb 18|
|Start Learning Unity||Feb 28|
|Start experimenting with Unity, and practice with the software.
Continue practicing C# in my off time.
|Continue experimenting and practicing with the Unity software.
Continue practicing C# in my off time.
|Mar 7 – Apr 25|
|Start creating a 2D platformer||April 30|
|Polish and bugfix the game||May 24|
|The game is finished, it is ready to be played by the public.||May 31
As you can see, I have already actually completed a few of the tasks on there.
A description of my mentor.
Before winter break, I was able to find and get a mentor. I think I got quite lucky with my mentor, as they are very qualified. They have almost 30 years of coding experience and work as a software engineer. They have experience with many different programming languages and technologies, including having been coding with C# since its release date back in 2002. This means they have a lot that they can share in that area. I am very grateful to have found a mentor this qualified, and I think his experience and knowledge will assist me a lot in the coming project.
In addition, my mentor also supplied me with some tutorials for me to start learning from over the holiday so I could get started with learning C#.
What I’ve done so far
I’ve currently finished the beginner’s C# tutorials from both the channels “Brackey’s” and “Programming with Mosh” over the winter break, and I have learned quite a bit!
I have learned about the basics of C# programming, such as:
- Console commands
However, I am still having a bit of trouble regarding arrays though, which I hope will be solved by the time I post my next blog post.
(Picture of my most recent code over the holidays. This one takes a sentence that you type in and tells you how many words are in your sentence!)
Proving my learning.
To prove my learning along the way, I will be blogging every two weeks on my progress. In addition, I will also post snippets of my most recent programs to show off any new programs I’ve made. Whenever I finish a bigger part of my project (like a game), I will also post that on my blog.
(Side-note: If you do find any bugs in my games or programs, please leave a comment on my blog so I can fix them quickly).
What are some things I still need to work on?
Currently, I just need to refine my skills a bit more, gain better understandings of the concepts I have currently learned, and to begin learning about “Clean Code,” which is extremely important while programming games.
I’ll try to solve all of these issues before my next In-Depth blog post!