The game maker's apprentice
Learn OO programming by writing games
Book review Subtitled "Game Development for Beginners", The Game Maker's Apprentice is just that, a guide to developing your own games using the free Game Maker games development software (available for download here, if you don’t buy the book).
Everything you need to build the games described in the book is on its companion CD, including the Game Maker software and all the images and sounds needed, as well as the final versions of the example games, ready for you to extend with your own levels and actions. There's plenty of installation help in the book, with the first section a quick introduction to Game Maker.
Game Maker is a visual development tool, with drag and drop visual programming for most game elements, and a GML language to extend object actions. Perhaps best thought of as an OO tool for creating games, it uses events and actions to tie objects together.
Once you've set up Game Maker, you can start to create your first game. The book works well as an introduction to sprite-driven graphical programming, showing you how to add sprites to a field, and how to turn them into dynamic objects. There are plenty of very clear illustrations to show you step by step how to build a game using sprites as objects, and then linking them to actions and events using Game Maker's visual programming tools.
The book uses several example games to explore the art and engineering of game creation. You'll find everything from basic animation techniques to a guide to gameplay. Key concepts are explored in detail, including event handling, and the creation and management of object instances, even the use of GML to add "intelligence" to a game. There's lots of good programming practice here, including plenty of testing. The authors stress the importance of using test environments to show object behaviours – an important part of any agile development methodology.
What makes a good game is hard to pinpoint, but the authors have a few ideas. They start by introducing the idea of different game genres, before looking at deeper issues. The key concept is the idea of the challenge. This is a mix of a game's difficulty and goals – and also its rewards. After all, gameplay is not just pretty graphics.
There's balance here, too. There's a good look at what can go wrong when choosing a game's features – as what could be a good idea could be too much in the game. It's not all your game's code and graphics either, and the book explores the idea of "emergence", the game player getting more from a game than you put in. A detailed exploration of learning curves shows what needs to be considered – you don't want things to be too hard at the start, or a game too easy to master. The player is the real game maker's apprentice.
There's one issue with the book. If you're expecting to be able to do everything with the unregistered version of Game Maker you'll be disappointed. Some of the later exercises require features that are only enabled after upgrading to the paid version of the software. However, this is balanced with a guide to free or low cost tools that can be used to add graphics and sounds to a game.
If you've been around a while, this is a nostalgia trip. It's an introduction to the style of games and programs we wrote on eight and 16-bit PCs, and could easily help anyone wanting to learn just what goes into the black art of programming - not just its target of Game Maker developers. Games are just a means to an end here, and we're left with a book that is ideal for anyone who wants to do more with a PC than click buttons and waggle a mouse.
The Game Maker's Apprentice
Verdict: A guide to using the Game Maker game development tool that teaches as much about OO development as it does game design.
Author: Jacob Habgood and Mark Overmars
Buy this book at Cash 'n' Carrion.
I've been using Game Maker for some years now (since version 4.0 (it's currently on version 6ish)), although I did stop using the development tool due to being busy in other aspects of my life.
I got to the stage in learning where I was capable of creating games of some stature, but never managed to get around to doing it.
There are some good points about Game Maker and some bad ones. I think that the book that Mark Overmars has written here should be a wonderous help to all those "n00bs" (as they get called at the Game Maker Community Forums (not always the friendliest places)). I do hope it becomes popular, because I'm sure it will aid new-comers in the development process of Game Maker.
I myself have moved away from Game Maker and have recently been looking at several alternatives (the main being using C++). I know I'll probably go back to Game Maker, perhaps when the new version comes out (and now Mark has finished the book he can work on the new version!), but I don't feel that I need this right now.
If the book is marketed correctly, aimed at the right readership (which tends to scale from 10 year old boys to 40+ men), It should do well, and as long as the users are notified of the book before purchasing the registered version of Game Maker, I'm sure that many people will find it handy.
In summary, it's about time something like this was made, if only it had been made 3 years ago so that I wouldnt have spent 2 years trying to learn GML with multitudes of people shouting "READ THE FUCKING MANUAL!".