Hello folks, I took a private message from someone who wants to get into game development but he does not know where to start. I answered his question but I also want to make an article about that because there might be some other people who are in the same situation.
Well, to be honest, I am a starter too. It’s been like ~1 year since I started looking at articles and videos about game development. So everything I talk about in this article are just my experiences and my thoughts, they might be wrong-leading but still… My advices wouldn’t be the best ones but at least it might save you from wasting weeks just to decide which language is best? Am I right? Are you in that situation?
First of all, if you are a super-beginner, I suggest you to check my first two posts. I talked about how I started in those posts.
What your main purpose of getting into gamedev? Are you familiar with any language? Do you enjoy coding with that language? Is there a language you want to learn? These are the critical questions that you should know the answers of them. For example, I was familiar with C and Pascal, I enjoyed coding with C, I wanted to learn C++, the main reason I got into game dev was making a kind of big-midsized project to become fluent at C++ and problem solving. That’s why I directly started with Bucky’s C++ Tutorials, he is a cool guy, you won’t really get bored while learning. After I felt “ok” with C++, I started going through CodingMadeEasy’s SFML Tutorials, this guy teaches all the basics about SFML you need.
Everyone losing their minds like “omg… so many options I can’t choose a language, which one is the beeeest?!?!” and they google “best programming language”. No, stop it. It’s not a good way. As long as you pick a language you enjoy, it does not really matter because when you learn one of them, you already become familiar with the others. If you can write some algorithm or method with one language, you can do exactly the same with the other one. It won’t be so different, thats why there is something named pseudocode, the important thing is to learn how to solve problems, how to create solutions. Just because these guys (maybe it is you, no offense, I’m trying to help!) can’t get out of this situation, they lose half of the motivation just before they start.
Just take yourself into the editor or engine and start creating some stuff, you will want to continue when you see you make controllable stuff on the screen, it is really fun. Don’t waste your time with useless decisions like “best language”, there isn’t best anyways. Every language had a purpose of creation. A super basic example would be C is way faster than Java but it is hard to run C program in all the platforms while Java runs very easily on all the platforms.
If the main thing you want is to make a game, just go for Game Making tools or engines like Unity, Game Maker, Unreal Engine, most of them are free and really easy for starters. Also there are tons of tutorials and examples for them.
But the main thing you want to achieve is to learn a programming language, be really fluent with that and learn how to create solutions for problems, it is way better to start from scratch. With scratch, I mean, not using any game engine or physics engine. Because those game engines, physics engines, game tools already solve most of the problems you might encounter. They are made to make games you know, they make your job easier. Ofcourse you will learn some Javascript/C# at Unity or C++ in Unreal Engine but not much as you will learn at SFML with C++ or LibGDX with Java.
Choose your destiny, both are ways are victory, there isn’t losing in this “game”. :)
Pick some language or engine and search for tutorials on YouTube. Start from the first video and listen to the guy with your full focus, divide the screen by two and imitate the guy in the video, do the same thing he does. You won’t understand anything at start, even you think you understood, you’re probably wrong. Don’t leave it because it’s so weird and complicated, as long as you copy the guy, you will make the program work. As the time goes on, you will start understanding some lines, and this line count will increase as you practise. After a while you will want to make the same stuff you did in previous videos, but this time you won’t take help from the video. And you will see you can achieve it, that is what learning is. All of these will take time, but it totally worths it.
As long as you put yourself in the field and create some stuff, nothing really matters, you’re in the right way.
There is a website named Pixel Prospector which is really really helpful, they guide you in a good way about almost everything about game development.
You might like to read my previous posts about the progress of my first game, I am still developing it and there is a long way in front of me, it might give you some tasty motivation. :)
Thanks for reading, have a nice journey!