Upon starting a project, GameMaker asks if you want to use the GameMaker Language (GML) or Drag and Drop (DnD) programming languages. GameMaker offers two informative, step-by-step video tutorials for building the same Asteroids clone game in either language, so feel free to try both to see what works best for you.
GML should feel familiar to anyone used to making games the traditional way: coding. It’s similar to C or JavaScript, and you can even convert it into those languages. The tutorial is useful, but having some prior coding knowledge helps.
True beginners should go with DnD. This is GameMake’s visual programming language, one that turns if/then statements from finicky syntax into digestible blocks. Previously, DnD offered much less power over your game than GML. But now, thanks to many premade behaviors, you can create a complex game without writing code.
Granted, that’s because even this “simple” language gets complicated. You still do a lot of math and generate a lot of assets. For the Asteroids clone game, you set the frame rate, mold the physics for spaceship movement, set variables for randomly spawning rocks, and trigger explosion animations when bullets collide with their targets. I enjoyed the challenge.
DnD is easier than coding, but it comes close enough conceptually that I feel my skills can transfer over. You can even convert DnD scripts into GML or write bits of GML and stick them in your DnD projects as discrete functions. As a result, GameMaker’s programming experience surpasses visual-heavy software, such as Construct or Stencyl, and code-only software, such as AppGameKit Studio or Fuze4.
GameMaker’s interface helps you keep your project under control as your game grows in scope. For example, there’s a main workspace and tabs for editing specific game elements, such as level rooms or sprite images. I appreciate how the workspace organizes visual and coding elements together. Seeing sprite animations, objects that those sprites are linked to, and code for that object grouped together makes it easy to track distinct game elements and see where problems might occur. GameMaker’s workflow is better than Construct’s, which separates visual elements and programmed events into separate Layout and Event sheet tabs. GameMaker’s layout reminds me of how Twine intuitively lays out the chunks of its interactive text stories, except with more elements.
The more big-name GameMaker games are released, the more the software’s popularity and user base grow. If you have any ambition in game design, you should leverage GameMaker’s excellent, free tutorials and example games, as well as its robust, community marketplace. You can browse for top-rated demos, animations, sound effects, scripts, backgrounds, and other useful assets to speed up your process or learn cool, new tricks. Most items in the marketplace cost either a few bucks or nothing at all.
(Credit: YoYo Games/PCMag)