The Game Maker’s Companion (links) is the long awaited sequel to the best selling book introducing Game Maker game development, The Game Maker’s Apprentice: Game Development for Beginners.
Game Maker creator Mark Overmars is not a co-author of this book but Habgood, a former professional game developer and now senior lecturer of Game Development at Sheffield Hallam University, is well qualified to write about game creation.
Jacob is joined by professional games developer Nana Nielsen and long time Game Maker user Martin Rijks (Smarty) who co-author the book. Once again incredible artwork is provided by Kevin Crossley.
The foreword is written by Game Maker creator Mark Overmars in which he welcomes the appearance of the title as the first book written for more experienced Game Maker users. The book is designed to help those who have already made a handful of games who want to make their future releases appear more professional.
The book begins with a quick overview of the different resource types used within Game Maker, the differences between instances and objects, a look at different types of variables and Game Maker’s co-ordinate and angles system. This only occupies a few pages and is offered as a quick recap and reference guide rather than a full introduction so previous experience of using Game Maker is a prerequisite to reading Companion, later chapters assume prior knowledge of Game Maker Language.
The focus of the book is on the platform game genre and the book walks you through the creation of three such games. The first tutorial is for a very basic platformer, the second on creating a feature rich clone and the third about designing a complex original platform game from scratch.
Chapter 2 takes you through steps to create Fishpod – a simple collect and avoid platform game built around the story of a primeval slime creature hopping away from the sulphurous boiling waters of an underground volcano.
Development begins with the time-consuming process of loading, renaming and centring sprite origins. Given the large number of resources included on the accompanying CD I was quite surprised to see that there was no .gmk available to load which would take your game status to just after this point.
A time saving platform design technique is used with platform end sections automatically generated in approprite places. This makes creating new levels a breeze and is one of the simple but effective game development tips taught, it is clear that the book is written by someone who has past experiences they can call upon.
Through the creation of Fishpod a comparison is given between the transparency system used in previous versions of Game Maker and that in Game Maker 8. There is also a good introduction to the various different collision masks and types complete with practical examples.
After the basic tutorial the next chunk of Companion is four chapters dedicated to developing a clone of the classic Amiga platformer Zool. Basic premise – a fast-moving gremlin Ninja runs, slides, climbs and jumps around a colourful world collecting points and disposing of bad guys.
The Zool remake is a pretty comprehensive platform game with ramps, views, gravity, sliding, climbing, slippy surfaces, attacking and parallax scrolling all covered. That said the first two chapters on creating the Zool clone serve as an introduction to the basic elements of any platform game: Movement, changing sprites, collisions, inheritance, jumping and gravity are all implemented using Game Maker’s Drag and Drop action and events system without the need to use any GML code, keeping the learning curve at a sensible gradient.
Unlike for Fishpod a time-saving early .gmk file is ready with all the required resources imported and sprite origins and collisions set up and blank objects immediatly ready for the addition of drag and drop actions.
More sprites are included on the CD than than are used in the tutorial so you can add your own extensions to the Zool clone once you have completed the tutorial.
Shadows on Deck
Shadows on Deck is the final game featured in Companion. It’s a pirate-themed silhouette style story-driven adventure platform game (quite a mouthful!). Unlike for the two earlier games (basic and clone), Shadows on Deck takes you along the full game development process from initial concept through brainstorming, design decisions and character and story development.
Illustrated with Nana Nielsen’s concept sketches of protagonist Flynn, his adversaries and the world he lives in this is the largest section of the book coming in at over 150 pages. Quite a lot of space is given over to the discussion of various story structures and character types seen in video games before showing how these can be applied to Shadows on Deck itself.
You get a real insight into the planning process and consideration that went in to almost every aspect of the game. Dialog trees and flow charts are created and cut scenes storyboarded. One such example of the level of detail employed is that a plan is drawn up showing when each new player actions and hazards will be introduced as the game progresses.
Seemingly all aspects of creating a game are covered, including the process of designing art from potential sources of inspiration, through concept sketches to digital creation of graphical assets and their animation by Griffin Warner (the book uses Photoshop for this process). Cut scenes are created in a standalone video editor and then imported for use in the game.
Code re-use is encouraged, in this case however an extra step is added as the D&D code added for Zool is first converted into Game Maker Language (ready converted .gmk available). After this all development is in GML, I won’t go into any detail on the advanced elements of the game as there is too much to cover – you’ll have to buy the book to see them!
Away from the games
The final “Feature Reference” section provides walkthroughs and .gmk solutions to around 20 general questions that often crop up at the Game Maker Community. For example ready-made solutions are given to the problems of 360-degree shooting, 8-directional movement and creating mini-maps and pushable objects. Some of these seem a little low-level given the main contents of the book but they are all time saving resources.
Chapters often start with references to the historical development of platform games, providing an interesting lesson on the history of computer gaming for younger readers.
There are plentiful screenshots and illustrations where appropriate throughout the book, I never found myself asking where anything was. Design devices are present such as state machines, used to demonstrate when the various sprites should be drawn to represent the character in different action states, and when laying out object inheritable structures.
All the resources needed to create the games in the book are included on the bundled CD or, if you buy the eBook version, are available to download from the publisher’s website. Most of the Fishpod and Shadows on Deck resources can be freely re-used within other Game Maker games however the Zool resources cannot. Mac versions of all the resources are also present.
The CD also includes some handy reference charts such as a key to all Game Maker actions, as well as the Game Maker 8 installer and manual. There are lots of how-to reference files as well.
Both Fishpod and Zool can be created with the free (Lite) version of Game Maker.
The book ends with a suggestion that a future third title dealing with the use of particles, DLLs and more may be written in the future.
Verdict: The best book about Game Maker published to date. Clear instructions and explanations, information is well-presented and good use is made of the bundled resources to provide demonstrations. You aren’t rushed through development, plenty of background information is available and justification given for design decisions. If you ever want to make a platform game this is the book for you, though some of the advice contained in the book will be of benefit to all game developers.
Pages: 440, colour.
Review took quite a while to get completed as the book and CD are packed with useful material! Updated 13:43 Oct 22nd with minor corrections