This guide is a work in progress, be sure to check back often!
This post may contain affiliate links, which means we may receive a commission if you click a link and purchase something that we have recommended. While clicking these links won’t cost you any money, they will help me fund my development projects while recommending great products!
Getting started in game development can be a daunting task when you’re just starting out, there are just so many options these days that you can easily get paralyzed by indecision. Don’t worry though, we are here to help get you started.
When I wrote my original beginner’s guide it made sense to first pick a programming language first and go from there. Since then game engines have risen in importance helping to take chttp://www.gamefromscratch.com/post/2011/08/04/I-want-to-be-a-game-developer.aspxare of a lot of the complexity in creating a game. If you are interested in being a bit closer to the metal and write a lot more code, you can choose a framework instead of a game engine. For a bit more details on what a game engine or framework is and what the differences are read this.
Picking an Engine
There are so many engines available these days with different features, different platforms, different price tags, different programming languages. A big mistake many beginners make is overthinking this process. In many ways you can’t make a mistake here when just starting out, just pick the engine that looks the most interesting to you. I have already reviewed several game engines available here and will continue to do so here on devga.me over time. The following are some of the most commonly used game engines but by no means is this an exhaustive list!
The Unity game engine is the most popular game engine available today, can be used to make 2D and 3D games. One of the strongest features of Unity is its support for target platforms, Unity can create games for basically everything, almost every single operating system, console, VR and AR device, and even the web. Programming in Unity is done with C# programming. Unity has a fully functional free version available as long as you make less than $100K a year. Unity has been used to create several popular video games including Pillars of Eternity, Battletech, Cities Skyline and Firewatch. If you are interested in learning more I have done a 5-minute video review of Unity. Unity is a complex game engine but there are a huge number of books and tutorials to get you started.
Unreal Engine is the second most popular engine after Unity and has been used to make several AAA game titles including Mortal Kombat, Gears of War and many more. Unreal Game Engine is programmed using both C++ and its own visual programming language Blueprint. Unreal Engine runs on Windows and Mac and is capable of targeting pretty much every single platform on the market today. Unreal Engine is considered slightly more difficult to learn than Unity and may not be a great choice for learning due to the complexity. There are quite a few books and tutorials to get you started with Unreal Engine, such as our tutorial available here. Unreal Engine costs nothing to start developing, however, once your game reaches a certain threshold of revenue ($3000 per quarter) you owe Epic a 5% royalty.
The Godot game engine is the most popular open-source 2D/3D game engine right now. Open source means the source code of the engine and tools is available for everyone, so the development of Godot is done by a community effort. Oh, and it’s free. Godot uses an easy to understand scripting language GDScript as well as C# and their visual programming language. Godot can run on Mac, Windows, and Linux and is able to target all of those as well as iOS, Android and Web. Godot is arguably the easiest of the three engines mentioned so far to learn, although it also has the least number of books and shipped games of the three engines. Fortunately, there are several tutorial series available to get you up to speed with Godot, including our series available here.
… more coming soon.
GameDev For Parents or Younger Children
All of the above engines are designed for creating commercial games and are aimed at professional developers. While amateurs certainly can learn to use any of them, some people may be looking for game engines that are aimed more at beginners or youths. Fortunately, I have already written an extensive guide targeted at parents that want to get their kids started in game development available here.
Choosing a Computer for Game Development
Obviously, if you are going to develop computer games you are going to need a computer. When just starting, generally any computer is sufficient. Beyond that, it depends greatly on the type of games you want to create. If you are planning to create a modern 3D game without a doubt you are going to want a dedicated GPU. While focused on choosing a laptop, this guide should help you figure out what machine is best for you. (Or check here for our new 2019 Choosing a Laptop for Game Development guide).
Tools and Software
— Coming Soon —