Hello Game Dev HQ Community!!!
Welcome to my first blog here on GameDevHQ!
My name is Quinton and here on this blog I'll be taking you through my development journey - trying to go from zero to hero with the GameDevHQ courses!
This blog will follow my personal journey toward game development: starting from my experiences with the courses (provided here on GameDevHQ and on Udemy), my learning experiences, what I have learnt about C# and Unity, and (hopefully) progressing through to the development of my first game and beyond! I hope you will all enjoy my story and your time here on my blog!^^
so please "stay a while and listen" and lets jump right in!
Firstly, a little about me: I'm qualified school teacher from South Africa, currently teaching English as a foreign language, with a grand Love for all things games, film, animation, 3D modeling, comics, superheroes and all the other awesomeness that we know and Love.
My goal is take this Love of games (and the like) and work hard to turn it into a fully fledged career in making games!
For the longest time, I have had no idea what I wanted to do with my life. I was simply super happy just taking things as it came, spending my time playing games and watching stuff about games on YouTube. One day it got to a point where I had spent so much time on YouTube and on playing games that I thought to myself : "I've progressed so much in game, yet haven't made that much progress in life, what am I doing?". It seems that there were two kinds of people in the world - those who play games and those who make them.
I had a ton of ideas just waiting to be created, so I thought why not MAKE games! Although I had no coding experience at all, I thought I might give it a try.
Henceforth, my journey began and in March 2018, I made the leap and started doing a ton of research on how to begin making games. That's when I discovered both Unity and.....
The GameDevHQ Unity Courses instructed by the one and only Jon Weinberger!
Today I am proud to say that, I have since, completed The Ultimate Guide to Game Development Course^^.
Now this section of this post is pretty much going to sound like a fan-boys' review of The Ultimate Guide to Game Development Course (course 1), but that's because it is! and I am totally fan-boying over the course because it really and truly is just that Good! The course gave me tools necessary to truly get a nice meaty foot-hold into coding and using Unity. It really helped me gain a true sense of confidence in working with C# and the Unity Editor. Jon has a magical way of breaking down each concept into wonderfully easy, understandable chunks. He explains how and why certain concepts work, which truly helps one to take that concept and build upon it in future applications using said concept. Jon tells you only the most pertinent information that you'll need to know - information that you will be able to use right away. Having said that Jon not only gives you pertinent information, but also covers everything you need to know including little problems you may encounter when using the discussed concepts and how to solve these problems.
Each of the challenges have been designed masterfully to give you the confidence boost you need all throughout the course. Each challenge was challenging enough to test what you had just learned, but small and simple enough to help you get through it and give you a sense of triumph at the end. Each challenge flowed on from what was just learned, either a repetition of the concept or a re-application of the concept in a slightly different way, but that was exactly what was needed! The repetition over time, helped me to recognize a pattern of when and how each of the concepts should be used. The re-use of those same concepts, later in the course, i.e during the first person shooter portion of the course, further helped me to see a pattern and how that same concept could be used in a different context. For example - the code needed for player movement using Unity's input systems:
Void CalculateMovement ()
float horizontalInput = Input.GetAxis ("Horizontal")
float verticalInput = Input.GetAxis("Vertical")
Vector 3 direction = new Vector 3 (horizontalInput, 0, verticalInput);
Vector3 velocity = direction * _speed;
The components of this code could be used both for moving a 2d spaceship or used in a first person controller!
In order to engage properly with the course and to learn as much as I could from it, I began taking notes in a notebook. Some of you might be thinking, eh why do I need a notebook? I can get by without writing stuff down and taking notes, cos I can just watch the video again, its all there! While this is true, (and I feel you cos the videos are always there, and I watched and re-watched videos as I took these notes) friends, I cannot stress enough how important and valuable it was to have taken notes and to have written down, Jon's methods and explanations and self formulated explanations of my own.
Although the video being there always, is convenient, it is not convenient however to scrub through tons of video to find a specific concept when you need to re-learn or reapply it later in another game or challenge. Having notes set out neatly in a notebook proved to be an easy quick reference tool, that was there whenever I needed a quick refresher or to remember a single detail regarding a particular set of code. I found, I could simply flick to the page needed with the right heading and quickly find what I needed. In lieu of this, I made sure I wrote out my notes in bullet points and little descriptions where needed. I also wrote out full pages of code together with a color coding system to tell me what I added and why certain things were there. I'll show an example below^^.
My color coding system was as follows:
Blue or black: for all code and what needed to be written
Green: to show what new additions to the code were made.
Red ( with arrows): to describe exactly why certain things were there and how bits of code worked.
Writing out entire pages of code and using the color system helped me to see important code and descriptions at a glance, helping the notes to be even more effective as a quick reference tool.
During the challenges, I wrote down my thought process and the things I did in order to solve each challenge. I would later compare this to and write down what Jon did to solve the same challenge. This once again gave me a quick reference tool with which to quickly compare the methods used and see where I might have gone wrong or see how the same problem could be solved in two different ways and which one was more efficient. Over all, taking notes and engaging with the course slowly and thoroughly, bore fruit for me in abundance, allowing me to learn so much more than I ever thought I could regarding something as seemingly complex as computers and coding.
Looking back at the completed games that I was able to create with the course is truly invigorating. It's incredibly uplifting to see what can be achieved so simply with the right guidance and to have your ideas come to life in the form of a working game! Here's a bit of the finished product^^
The more I did of the course, the more confidence I gained. The more confidence I gained the more my dream to become an actual game developer, never seemed more real in my minds eye! Thanks to the course, I truly felt like I could do it! The course really is a treasure. It is a wonderful starting tool if you know nothing about coding at all and a true God-send for newbies like me. Lastly, it is a sterling display of Jon Weinberger's skill and mastery of C# and Unity and bears testament to his hard work and many years of experience. He is truly a master teacher.
I can now happily say that the course has given me enough skill to begin making my own personal game, which I am hoping to share with you all in DevLogs to come, once enough of the material is ready^^. I have also embarked on the journey of doing the 2nd course in the series, The Ultimate Guide to Cinematography with Unity, giving me the ability to make cutscenes, which I will need for my personal game to come!
So stay tuned for posts on the next course and the project to come!
Stay safe and keep coding!