If you’re looking to make the jump into the world of making games then be sure to download our new free eBook, “Getting Started Making Video Games”! Here's an extract to get you started...
You’ve made the decision to finally enter the world of game development and turn that dream game idea you’ve had at the back of your mind into reality. Where do you begin though, and what options are available to you? John Horton gives us everything we need to get the right mindset when making these essential first few steps.
How do I get started making video games?
Everybody has at least one game in them. I believe this is the 21st century equivalent of "everybody has a book in them". Games are powerful; they can tell a story, entertain, persuade and bring joy or sadness. To their creator, video games offer satisfaction, educational advancement and even personal wealth.
What more powerful reasons do we need to get that game out from within us and onto the Google Play, Apple App store, Steam, XBOXLive Arcade, or where ever we think our video game should be?
The problem of course is that you want to make video games but you just don't know where, how, or the best way to start.
This brief article was written for you if any of the following 3 questions are going round in your mind and you have so far not managed to find an answer:
- Which is the best language (C++, C#, Java, Python, Objective C, HTML5, etc.) to learn?
- Which is the best platform (PC, Android, iOS, Mac, SteamOS etc.)?
- Which Engine (UnrealEngine, Unity, GameMaker, Cocos, LibGDX, AndEngine, CryEngine, etc.)?
The first thing to point out is that there is no "best" platform, engine or language and anyone who tells you there is, is either biased, blinkered or just plain wrong.
The answer to all these questions can be much more easily found by talking about yourself and your game. It is desperately important to have this discussion with yourself because if you head off down the wrong path you could blow a serious amount of time before you realise you should have done things differently.
If you ever get that sinking feeling knowing you have just burnt an unrecoverable hour of your life on Facebook or Candy Crush, trust me, that is nothing compared to learning a programming language which appeared to offer so much but turns out it can never deliver what you want. Furthermore, using a scatter-gun approach and trying to learn a bit of everything will make progress very slow and possibly cause confusion.
Talking about you and your game
To make sure you get it right first time, write down on a piece of paper or in a text editor, your answers to all the following questions. Wherever possible, elaborate a little so at the end of this short exercise you will have a few paragraphs that detail everything about you and your game. Make sure to do this before we move on to the next part of the tutorial that will allow you to match your goals to languages, platforms, and engines.
Q1: Where are you starting from?
Are you already a programming guru in one or more languages or are you a complete beginner with absolutely no programming experience at all? Perhaps you are somewhere in the middle. Write it down and then move on to the next question.
Q2: Where do you want to end up and when?
What do you see as a successful conclusion to your efforts at learning to make games? Do you want to be the lead programmer at Rockstar or Infinity Ward? Perhaps you have seen Indie Game the Movie and have a passionate drive to become an indie dev'. Maybe you just want to have fun? Perhaps you are just looking for the absolute easiest path to getting published or simply finishing your game for yourself? How much time are you prepared to put in to this? A weekend, a year, as long as it takes?
Q3: How do you like to learn?
Do you want to learn the absolute 'proper' way without any shortcuts or useful tricks? You want a fully comprehensive A-Z learning pathway with zero shortcuts- no matter how much fun the shortcuts might be. Do you want the polar opposite of this and want to get to the games straightway or maybe your way is somewhere in between the two.
Q4: Do you have a preferred target platform?
You might not have an answer to this one; you might have several platforms in mind. It is even possible you absolutely must develop your game for every platform. Whatever the case, write it down before moving on.
Q5: Do you know what type of game you want to make?
There are so many different types of game and which one you want to make will certainly steer you towards different learning pathways, engines and languages. Write a sentence or two about the game you want to make. Be sure to mention the genre, perhaps, 3d, 2d, FPS, RPG, survival, retro arcade, multiplayer sandbox or mobile match-three. Obviously the preceding list is not exhaustive and might not have mentioned the type of game that you want to make.
Q6: The important question
Which of the above aspects about you and your game is the most important to you? Some choices are occasionally hard to reconcile together. Often some kind of compromise of goals is necessary. For example; how important is it that you make your game for your favourite platform/genre compared to how fast you want to see results, etc.
You and your game conclusion
Hopefully the above questions will have left you with a statement about you and your game, perhaps something like the following:
"I did a little bit of programming at school but it is probably best to start again at the beginning. I have a strong desire to be a successful indie dev' and I am prepared to do whatever it takes to achieve this but I must be able to learn alongside my existing job which pays the bills. I want to learn everything thoroughly but I also want to be building games as fast as possible. I wouldn't mind making games for any or even all platforms but most of all I would like to make my game for desktop PC's and, one-day, get my new game green-lit on Steam. That would be a real buzz! I want to make a 2d game with retro graphics but it must feel new and exciting to play. I don't have all the details yet but I have loads of ideas. Maybe a platform stealth, rogue-like set in a dystopian world run by an evil dictator and the player has to make his way through the world taking on progressively tougher enemies and bosses before the final show-down with the dictator himself. The most important thing is to get it on Steam, anything else is a bonus."
Now you’ve got a clear picture of what you want as a game developer it’s time to think about the next steps: what game you want to create and, perhaps more importantly, what language and engine you should focus on. Be sure to continue making the right choices for you by downloading our free eBook “Getting Started Making Video Games” now!
John Horton is a coding and gaming enthusiast based in the UK. He has a passion for writing apps, games, books and blog articles about coding, especially for beginners.
He is the founder of Game Code School, which is dedicated to helping complete beginners get started game coding using the language and platform which is best for them.
John sincerely believes that anyone can learn to code and that everybody has a game or an app inside of them; but they just need to do enough work to bring it out.
He has authored around a dozen technology books most recently the following: