Sunday, January 12, 2020

How I started learning game development alone.

Saving Merchant Scarlet (Game made for a game jam)

We all have played video games even once in our lives. If you're born in the '90s like me, you've probably grown up with consoles like Nintendo Entertainment Systems (NES), SNES, PS1, Sega Genesis, Game boy, etc... Where graphics are limited 8 or 16 bits of colors, chiptune sounds, and gameplay are most likely limited to move, jump, and attack, yet you find it fascinating.

Back then, I spent hours and hours of playing NES games in front of a CRT television. My older brother was the one who showed me these things and taught me how to play. I developed love in playing video games because of the engagement it offers.

Since I'm also a kid with an interest in computers, I tried to learn computer programming as early as 15 years old. I remember watching YouTube videos that taught people how to create windows applications I didn't know what is a programming language back then. We don't have a computer and an internet connection at home during that time. So I go to an internet cafe and learn these things on my own.

The very first game that I created as far as I can remember was written in Visual Basic 6.0. I don't know much in programming that time as I didn't formally train in programming, but I was able to pull off a very simple game where gameplay is basically a button clicker.

Fast forward to 2019. I decided to take and learn Unity seriously. I tried learning it in 2018 but I think I haven't got the dedication it takes to partake in such a difficult and long term commitment. But January of 2019, I told to myself. "This year, I will take this seriously, start my very first game, and with all my heart commit working on this stuff."

Thus my journey began in 2019. I choose Unity because it has lots of tutorials that you can find online compared to other game engines. Below are the things that helped me learned game development in unity.

1. Youtube Tutorials


Youtube this the best among the rest. Hands down, 80% of the things I know in unity are all from watching tutorials from different game developers and all of them for FREE. One of the best out there is 'Brackeys', I learned a lot from his short and concise tutorials. 

Aside from Unity, I also taught myself how to use blender and create 3D animated models. If you're a starter just like me who don't have any background in 3D modeling and the use of any tools. I suggest you learn blender and start off with the tutorial of 'Blender Guru'.

Blender has lots of shortcut keys to manipulate all therein, so it's better to open up a text editor and write all the shortcut keys you'll learn. Trust me, they are extremely helpful.


2. Udemy


I would like to take the learning seriously so I decided to spend some buck to a full course, so I enrolled myself in the 2D and 3D unity course by 'Ben' and 'Rick'. I start off with the 2D game development course. I spent weeks following the tutorials here and there, doing the exercises, answering the quizzes, and so on. 

Enrolling such course is great for complete beginners, and when I say beginners, including beginner in programming who don't have any background knowledge in it at all.

But for me, who have been coding for a long time. You might get bored easily, but it's up to you.

I was not able to finish the 2D course. I just finished about 25% of the course and I feel that I'm not satisfied with the things I learned. I feel the learning phase is very slow.

So that's when I started to create a game of my own, my very first game in unity. No tutorials, no advice. I'll do what I wanted to do, I'll create my own problems and solve them, and thus the birth of PolyDungeon.

And you know what, I learned faster and more effectively doing my own game instead of following other's games. Because when you create your own game, you do all the things yourself; planning, conceptualizing, game design, mechanics, so on and so forth. You'll learn how to solve problems every time, and that's when I started to enjoy game development.

Other people might find enrolling online courses beneficial, but this is completely optional.

3. Youtube Devlogs


By watching other game developer's devlogs, I get fueled with inspiration and motivation to work on my own game. Sometimes you get to compare your work with the others, but it's not a matter of quality or followers. It's a matter of the progress you made in your game. Even if you're the most skilled person in the world who can create the most stunning game the mankind will ever play but will not be able to finish and release to the people. It does not matter.

Here are some game dev YouTubers that I find inspiration throughout my journey.

These game developers not only share their progress in their own games, but most of them give advice on game development. Some other channels offer game jams where other game developers who follow their channel get to work on a game for a week or so, and showcase it. Other YouTubers offer "I play your game in my channel" such as Jonas Tyroller who plays the games of his followers and gives feedback about it.

4. Practice and Prototyping


When I was starting to learn the engine myself, I created several prototypes such as 3D movement using wsad keys, camera controls, animation, collision detection, and so on. All of these are for the sake of testing and learning, at the same time while doing this you get to learn how it works and how to implement it. 

This is the most important part of learning game development. It's not enough for someone just to sit all day and watch others create their own games, or even follow and create their games like how they did it on a tutorial. It's all about YOU wondering how something works, researching about it, and finally implementing it. Once you have done it. Then that's where you learn effectively. Soon you become dependent and able to solve your own problems. Remember google is always there, just ask him.

Whenever something struck your mind like 'how did they do that?', 'how does that work?'. Make those things as leverage to make something like it and figure out how to do it. That's practicing and at the same time prototyping. You will be able to use the things you've learned in your own game one day.

5. Just create your first game


Just start making your first game. Plan for something you have in mind whether it's a 2D game, a 3D game, a first-person shooter, an RPG, a visual novel, it doesn't matter. JUST DO IT. You might not be able to create a very good game at this point but what matters is the work you're gonna put in your game, the learning, the knowledge. the skills.... and all of these are priceless. The journey of game development a long road of learning and challenges, and it's all up to you to persevere.

Experience game developers often tell beginners to make their first game 'small', and I agree to them. If you're going to make your first game, better plan for something small first like a simple top-down maze. Avoid fantasizing for a game that you think will yield millions of dollars like Fortnite. Creating an online battle royal is hell. Remember that these AAA games are made by thousands of people behind them with millions of dollars budget. Take those into consideration.

So what is the most effective way to learn?


For me, the most effective way to learn is #5. Creating your own game, and when I say your own. It must be something original, not a flappy bird or any ketchapp clone. Once you start making your game it is the start of committing to a long term learning process, and the more you build your game, the more you learn.

In summary, how someone learns is something someone's own personal preference. It actually doesn't matter where you learn,  how you learn, or whether or not you have background knowledge in some aspect of game development. It's all about committing and taking learning seriously. Even the best indie game developer out there doesn't stop learning. Embrace learning and knowledge, these are the tools you can use to be a better indie game developer one day.

1 comment:

  1. As someone who struggled a lot with learning game-dev and programing as well, I can say this post is really helpful for begginers. I wish I saw this just when I started learning, it'd have surely shortened my learning process. Great post, keep up the good work!

    ReplyDelete