How To Make A Game Part 1: Picking a Framework

Whether you are a seasoned game developer or just getting started making your own game, chances are you are going to need a good game framework to build upon. A game framework could be as simple as a collection of code packed up into a library in a specific language, like JavaScript, or a more complex system of scripts, tools, and workflow built on a specific platform. Both types are designed to help speed up your game’s development. The last thing you want to be doing, especially when getting started, is reinventing the wheel.

Free Guide To Making Games

Like this post but want to get the entire guid as a PDF? Simply sign up for my mailing list and also get access to great tips and advice on how to make better games. I promise to not spam your inbox!

Join The Mailing List

Here is a quick rundown of things to look for in a good game framework:

  • Speeds up development by including collision and physics, and handles input

  • Has good documentation and an active community to help answer questions

  • Is easy to pick up and matches your skill level (drag and drop for non-coders and low-level access for seasoned developers)

  • Easy multi-platform distribution, allowing you to get your new game on as many platforms as possible

To help you pick the right game framework, I have highlighted a few of the most popular ones which are great for people getting started making their first game. I have arranged these from easy to hard based on the above criteria.

Construct 2 (Beginner)

Construct 2 is as easy as it gets for making a game. It employs a drag-and-drop behavior system, where you build up game logic from pre-made scripts that are attached to your game’s elements.

It has its own Web-based tool and support for publishing to a number of different platforms. Construct 2 games are built in HTML5 (although you never have to touch the code itself) and, because of this, it’s ideal for publishing your game on the Web. The only down side to Construct 2 is that you are removed from the coding aspect of making the game, so you are fully dependent on what Scirra has provided. And, while you can add additional functionality via plugins, it’s not ideal if you come from a coding background and want to manually tweak things yourself.

GameMaker (Beginner to Intermediate)

GameMaker is a great tool for making 2D games. It’s incredibly powerful, and a lot of well-known indie success stories got their start in GameMaker (“Spelunky,” “Hotline Miami,” etc.).

GameMaker is similar to Construct 2 in ease of use, since you can perform drag-and-drop, event-based coding, and more advanced users can take advantage of its built-in scripting language called GML (GameMaker Language). GML is C based, so if you know C, JavaScript, Java, or C#, it will be familiar. But the language does have limitations, such as limited data structures and no classes. While the UI of GameMaker is a little rough around the edges, it’s still an excellent tool for 2D games, and its support for publishing to desktop, mobile, and HTML5 shouldn’t be overlooked.

Unity (Intermediate to Advanced)

Right now, Unity is the default game framework for a lot of the success stories you read about on iOS. Many of the top 100 iOS games were built with Unity, and it continues to expand its reach.

The IDE is very polished and easy to use, but being a 3D tool means that there is a certain level of knowledge you will need before getting started. Unity supports three languages: UnityScript (which is similar to JS), C#, and Boo. Unity now has a free version that supports exporting to desktop and mobile that displays the Unity logo on startup. The pro version gets incredibly pricey but adds lots of must-have features for more advanced game developers. You can also export to console, such as the Xbox, PS3, Wii U, and more (but those licenses cost even more). Unity has a Web player that relies on a plugin, so while you can export your game to the Web, it won’t be playable on mobile browsers. Finally, Unity is in the process of releasing a 2D workflow that will be a huge advantage to anyone not interested in making 3D games.

HTML5 (Intermediate to Advanced)

Sometimes you want to control every aspect of your code. HTML5 is a great place to do that, and it’s one of the only game platforms that allows you to target multiple platforms with the same code base, and include the browser on desktop and mobile as well.

There are a lot of really great HTML5 frameworks out there, but the two most popular are Impact ($100 license) and Phaser (free). The one thing to keep in mind with HTML5 is that it tends to be rough around the edges. You will have to manage browser compatibility across desktop and mobile, and native app distribution is still an issue. Also, in many cases you will need to bring you own tools, but seeing a game work perfectly in a mobile browser without a plugin opens up a lot of doors you would not get in a native mobile app store.

While I could probably write an entire book on different game frameworks and platforms, I don’t want to overwhelm you. The good news is that, if you are just starting out, there is guaranteed to be a framework that is right for your skill level or game idea.

Subscribe To My Mailing List

Want to learn how to make a game? Not sure where to start? Even if you are a seasoned game maker there is still a lot you can learn from my mailing list. I'll be covering tips and tricks for how to build, release and market games each month.

Simply sign up for my mailing list and also get access to a 50% off discount code for my eBooks and other content. I promise to not spam your inbox!

Join Now