Game Development Tools: GameMaker

You may know that I got into game development a couple of years
ago. Since then, I've noticed that those who are new to game
development have troubles choosing what game engine to use. I plan
on continuing a series of articles related to game making tools, to
give a broad idea of what tools are out there. Keep in mind these
are not actual reviews (just overviews), and that I will not go
deep into all the different engines because that would require
deeper knowledge of the different tools.

This time I will give you an overview of GameMaker, by YoYo games. GameMaker is basically a 2D engine,
and, unlike UDK, it’s not really designed for specific game
types or genres (for example, UDK is mostly optimized for first
person games, although you can do any kind of game with it).

GameMaker aims to be very user-friendly and flexible, even for
non-programmers, because you can use and combine different
behaviors or actions to add functionality to your characters,
environments, or pretty much any object. All actions are associated
to a specific event, and they can be executed one after another.
You can also create blocks of actions that are executed if certain
conditions are met.

There are a wide variety of actions ready to be used, meaning
you can create simple games without writing a single line of code.
This doesn’t mean these actions are a complete solution,
though. As your projects become more complex, you will certainly
need to code your own functions.

Asset management in GameMaker is very convenient, although it
can improve. The interface presents a pane on one side, where you
can find sprites, sounds, animations, and any other asset used in
your current project (game). The different categories are presented
in a tree view, and every time you create a specific asset type,
it’s added to the corresponding category. In essence, you can
only import image and audio files, but these can be used to create
specific asset types. For example, images can be used to create an
animated sequence, a character, a background, etc. Keeping track of
all the different assets can be difficult as the projects get
bigger, so it’s unfortunate this asset manager doesn’t
include a way to find assets (like a search box that’s so
common in media production applications, like After Effects).

GameMaker also includes a sprite editor. As I stated before, you
can import images into GameMaker and use them for characters,
objects or environments. However, you can also create your own
images using this editor. The sprite editor is very basic, so
it’s not really a replacement for Photoshop, or any other
real image editor.

The people at YoYo Games have aimed to create a multiplatform
solution with GameMaker. There are different editions to the
software, from a free edition to a Master edition that allows you
to compile games for PC, Mac, HTML5, iOS, Windows Phone and
Android. I can’t really tell how the mobile compilers work,
because I used the free version of the software (it only compiles
for PC and Mac). You should keep in mind making mobile ports of
your PC games is never a simple “click to compile”
process (even if the developers say it is), simply because
designing games for PC and mobile are two very different things
(due to input methods, screen sizes and resolutions, etc.). Still,
it’s good to know the same tool can be used to develop the
same game for multiple platforms.

If you’d like to experiment with 2D game development,
GameMaker is a very good place to start. The software is easy to
understand, and ships with a few tutorials to get you started.
Also, as you make more complex games, you can find useful resources
most of the time, which is a very good thing. Remember that
GameMaker is free to try, so if you want to see for yourself what
it is capable of, just visit their website and download the free
edition.