Did you know that Super Mario Run was made with a free game engine you could download and use today? Now I'm not going to lie and say making a game is the easiest thing in the world but it's way easier than you think and, honestly, once you've decided to start, you'd be amazed how easily it all comes together. There's obviously some effort involved - you don't get anything for free - but the hardest part is just getting started and then sticking with it. Consider this a guide about how to help yourself do that, as much as anything else. What programs should you use? Where should you get help? What to do if you get stuck? Remember you're making this game, I'm just going to point you in the right direction.

What are the best programs to make your own game?

There are a lot of options out there but I’m going to be recommending two: GameMaker Studio and Unity 3D. Both of these have free versions you can use to learn from and get to grips with, and both produce games that are easily exported to PC. They also run well on console (although that’s a step up from anything you’ll be doing anytime soon, due to the need for debug consoles and developer licenses).

Let’s take a quick run through each of those, and a few other options.

GameMaker: Studio

Famous games created with it: Spelunky, Hotline Miami, Crashlands, Downwell, Nidhogg, Nuclear Throne.

Best for: 2D games

Strengths: One of GameMaker’s biggest strengths is its easy to grasp bespoke language. While some ‘real’ programmers might sneer at its simplicity, it's fast to learn and create with, and as powerful as you need it to be. With only a few simple commands you can get blocks moving and shooting enemies in a matter of hours. It’s a good gateway into coding as well as, while it doesn’t necessarily translate directly into other languages, it sets you up to understand concepts and structures that do. It also has a drag and drop icon-based programming system using pictures instead of words, but it really is best to jump straight to the freedom and flexibility of code.

Realistically, this is the best option if you’re just working on your own.

Weaknesses: GameMaker can also do 3D stuff but it’s not something it’s really known for, hence the majority of its games being 2D. GameMaker Studio 2 is also currently in beta so you might want to wait for that to release fully before diving in here.

Unity

Famous games created with it: Ori and the Blind Forest, Inside, Yooka-Laylee, Layers of Fear, Super Mario Run, Firewatch, Pokemon Go

Best for: 3D games

Strengths: Unity is the free engine many full sized studios like Ubi and Nintendo use to make games. Numerous titles you’ve probably heard of and played were made with this, and it’s hugely versatile. It’s predominantly 3D focused but recently upgraded its 2D capabilities to directly compete with GameMaker. While there’s a focus more on ‘proper’ coding, basic tools like a 3D FPS controller exist as ready to use modules without coding, and you can block out and create something playable incredibly quickly with next to no code. The game also has a huge marketplace full of premade game specific modules to buy (although many are free). So controller stuff, animation, objects and more can simply be added in.

Weaknesses: You will need to learn some serious code. Unity runs C# and JavaScript which are both common languages used in a variety of applications. It’s not impossible to learn but far from beginner's stuff. Unity requires mastery of a lot of skilled facets too, from 3D animation, modelling and more, making it best for teams. It is not a good choice for going it alone.

Other options

GameMaker and Unity are the most popular options by far but not the only ones. Twine, for example, is incredibly popular for text-based games and can create playable narratives incredibly quickly. While things like Construct 2 and Clickteam Fusion 2.5 are good options if you absolutely don’t want to code and prefer to use drag and drop icons, but suffer some limitations as a result.