Take a look inside 6 images
Pros: Offers an easy-to-use drag-and-drop interface for novices; powerful scripting for pros.
Cons: Free version doesn't allow the creation of any executables; learning curve for novices is pretty steep.
Bottom Line: Great choice for a full unit or class on game design; fuels students game-making dreams.
GameMaker is a great choice for an in-depth unit or entire course on game design. Other game-making lessons from Code.org or Scratch can see faster results on the basics, but after a few hours, teachers and students who are looking for a game-making environment with substance will want more. Use the lessons to get kids started. Then, have them think about their favorite video games and what kinds of objects and mechanics they involve. Break the games down into components, and discuss how each of those components needs to be controlled separately by the background code. Then start with GameMaker's tutorials and demo projects, teaching students how the game development environment is set up. Advanced students can then go on to design their own games for the class, or even for sale in the Marketplace.
GameMaker is one of the most popular game-creation tools, meaning it comes with active support forums and numerous opportunities to participate in a learning community that extends beyond the classroom. Its community is active and extensive, partly due to being available on the digital distribution site Steam. Through Steam, student designers have an easy way to share their games and access other people's games, as well as an alternative support community to participate in.
GameMaker is the real deal: Its drag-and-drop programming environment allows new game designers to jump right in and create 2D games. With it, they can create professional-level games, but it's still accessible to amateurs and those on a budget. When students want access to more flexible or nuanced behavior for game objects, they can switch over to the built-in GML language, which is based on C. The included image, room, sprite, object, and tileset editors give complete control over the game, all within the workspace.
GameMaker's user interface for creation is consistent and clear. Making a game is a straightforward process of assembling all the game pieces into a common library, shown through an expandable hierarchy tree, and then setting up various "objects" using those art or sound pieces. This is followed by adding different behaviors to the objects (such as what to do when a player pushes the left arrow key or when one object collides with another), creating a new "room," and placing the objects in the room. Games can be run/played at any point, making for instant feedback on what has already been created.
Depending on the purchased license, students can create games for use in desktop, mobile, console, or web environments, and even sell them in the Marketplace. A huge community is available for getting help and finding ideas. The trial version of GameMaker has limited resources and, with it, you can't create executables. But it gives sufficient functionality to help you figure out if this game development environment is what you need.
Editor's Note: This review was of GameMaker Studio 2, and may not be fully representative of the current version of GameMaker.
Learning how to assemble a basic game in GameMaker is easy when you follow the included step-by-step tutorials, and there are plenty of resources for teachers as well. That said, it's probably best to have some foundational knowledge first. Aspiring game designers can supplement the tutorials by watching a good pool of amazingly well-done third-party YouTube videos, and get help in the active community forums. These resources also introduce students to basic concepts of game design that will work even outside GameMaker. In general, GameMaker orients students to the programming, design, and development environment, but it's only a tool; knowing how to design an in-depth game would generally be learned separately. Already being familiar with game development terminology would also be helpful.
Once students have a game idea, though, GameMaker is an open-ended tool for making it happen, whether they're going for a simple move-and-shoot game, or one with more sophisticated graphics and gameplay, or even a physics engine. It has enough capability to handle students' first games all the way up to professional-level, sellable games. Also, creating a game with the drag-and-drop interface allows students to take a look at the code behind the blocks and learn more about how the programming works.