Making video games is a big deal, and creating even a simple video game is a lot of work. By using a game engine such as Godot, you can cut your workload by half.
So you want to make games?
Godot Engine is one of the best open source, multi-purpose game engines available, even drawing users away from well-established proprietary game engines. If you are a Unity user, check out this guide to the differences between Unity and Godot. Godot's growing user base is not just because it is open source.
- Godot is great for education, as this college professor and this high school teacher attest.
- Godot runs everywhere, even on the web (it's still a work in progress, though).
- You can make any type of game using Godot, and Godot's subreddit is full of projects.
- If you are an artist or a game designer, be ready to get your hands dirty. Despite what you might hear, Godot is not really friendly for non-developers at the moment.
- If you want to create 3D games, you can build Godot 3.0 (currently alpha) from the sources on GitHub (if you know how to do it). Otherwise, I recommend waiting for 3.0 (hopefully available by the end of 2017). Godot 2.x is quite bad at handling 3D, and you may have to re-learn everything when 3.0 comes out.
People approach Godot differently depending on their role (e.g., artist, game designer, developer). To put it straight: if you want to use Godot Engine, you will have to learn how to program. Currently, there is no way around it, but that might be an advantage if you want to work in the indie game industry, since even artists and game designers need to know a bit of programming. But don't let this bring you down. It's easier to learn with Godot than with most other game engines for two main reasons. First, Godot has its own IDE, and second, Godot uses a language called GDScript, which is very similar to Python. Except that you can only write games in GDScript, which makes it a lot easier to learn than C++ or even Python.
For more experienced users, Godot can also be fully written in C++, and the 3.0 release brings C# and virtually any language to the party. The easiest way to get information about this is through Godot's communities; which brings me to my next point.
Join a community
If you want to use Godot, I strongly recommend joining one (or more) of the (too?) numerous Godot communities. You can find them on Facebook, Discord, Reddit, Twitter, and IRC. Godot communities are not really unified, so it's good to look for help on several platforms. These communities are also the place where Godot's core developers share cutting-edge information. If you are interested in knowing more or even contributing to the project, these are definitely the places to start.
There's also a new Mastodon channel for game devs, started by one of the guys behind Unity, that's working on a strong Godot community.
Getting started with Godot
Like any creative endeavor, starting games is easy, finishing them is hard. Especially the first one. You will either spend years making your first game (that you will start over at least four times), or you will finish several "first games," each with a different purpose.
Spending years making your first game (or doing any other type of creative project, including writing) is generally discouraged. If you want to create an open-world massively multiplayer online (MMO) game with an engine built from scratch, have a seat at the table. Almost every game dev had this dream at the beginning, just like every writer once imagined writing a 42-tome book series. If you are reading this, it may be because you've had second thoughts about the "game-engine-from-scratch-thing." That is good. Drop it, and then drop the other things. Now, let's get started.
Obviously, if you want to create games with Godot, the first step is to download Godot.
Your goal is to finish one game. But not any game. Your game. If you have no prior development knowledge and are about to start the development journey, don't forget that is a hard challenge on its own. Don't hesitate to look for help. Also, remember that the most important part of the journey is to stay motivated. Nothing else really matters.
If you have prior development experience, start doing anything you want with the engine. Go to the resources section, and start reading the step-by-step section of the Godot docs. With the resources below, completing your first game should be a walk in the park.
If you haven't done development before, you may need weeks to complete your first game. Go to the resources section, just open the step-by-step section, look at it, then start doing the Kids Can Code tutorial (also linked in the resources). After every step of the tutorial, read the Godot docs section about the topic you just worked on. This is because the docs' step-by-step offers far more depth than the Kids Can Code tutorial. Even though not everything in the docs is relevant for beginners, it should give you ideas about new things to experiment with and add to your project. (If you don't have any ideas to try yet, keep following the tutorial and reading the docs. It will come.)
This strategy gives you a project (the tutorial), some references (the step-by-step part of the docs, part of the tutorial, plus anything relevant you can find online), and something to experiment with, which are all you need to start learning.
Once you have a game idea, you have a motivation to learn, and this is where the real difficulty begins. Your first project should be both reasonable and challenging at the same time. If you have nothing to tie you to your project, you will never finish. But if you add the difficulty of a tough project to the inherent difficulty of learning how to use the game engine, you might find yourself overwhelmed and drop the project. If that happens, don't be afraid to start a new project—either something you want to do on your own or with another tutorial. You can always say that you have finished the first project—it's just a bad game with lots of bugs. It happens to everyone; some people even try to sell them.
Polishing your skills
Then move on to harder projects that you will also finish. When you feel ready, take on something like the One Game a Month challenge. Participate in game jams in real life, if you can—you might meet someone awesome who is looking for a friend to make great games with. Also, Itch.io hosts hundreds of game jams, so feel free to take on those challenges!
At the end of the day, what matters is creating games. When you can do it on your own without a tutorial, you might be able to take on the greatest challenge: finishing a game in order to sell it. This requires a whole new set of skills that are beyond the realm of game development. But Godot's lead developer, Juan Linietsky, wrote a really interesting article about publishing your dream game that should help.
Here is a partial list of resources that might help you learn to develop video games with Godot.
- Games From Scratch's YouTube channel has some nice videos about Godot's basics
- Kids Can Code's YouTube channel has a track dedicated to learning Godot
- Angega Studios' YouTube channel has several videos detailing how to make games
- Godot docs step-by-step is a good place to begin
- Godot docs simple 2D game tutorial will teach you to make a pong game
- Kids Can Code has a text version for people, like me, who don't like learning with videos
- Games From Scratch also has a text version
- TL Dev Tech has a list of tutorials for 2D and 3D game making
- And, of course, anything on Read the Docs, especially the step by step section