Book Image

GameMaker Cookbook

Book Image

GameMaker Cookbook

Overview of this book

GameMaker: Studio started off as a tool capable of creating simple games using a drag-and-drop interface. Since then, it has grown to become a powerful instrument to make release-ready games for PC, Mac, mobile devices, and even current-gen consoles. GameMaker is designed to allow its users to develop games without having to learn any of the complex programming languages such as C++ or Java. It also allows redistribution across multiple platforms. This book teaches you to harness GameMaker: Studio’s full potential and take your game development to new heights. It begins by covering the basics and lays a solid foundation for advanced GameMaker concepts. Moving on, it covers topics such as controls, physics, and advanced movement, employing a strategic approach to the learning curve. The book concludes by providing insights into complex concepts such as the GUI, menus, save system, lighting, particles, and VFX. By the end of the book, you will be able to design games using GameMaker: Studio and implement the same techniques in other games you intend to design.
Table of Contents (17 chapters)
GameMaker Cookbook
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Moving a character on a grid


As you may have guessed so far, a lot of games use grids for various purposes. We've seen moving objects around a grid with the mouse, but what you may not realize is that many games that use keys or a controller for movements also utilize grids. Classic role playing and action games, such as the original Legend of Zelda or Pokemon, keep the player on a grid in order to force players into specific positions or to facilitate the environment layout. Let's take a look at how to use a grid to move a player smoothly.

Getting ready

To begin, you'll need four sprites and an object called obj_player. Each sprite will represent a direction of travel: right, left, up, and down. If your character is symmetrical, you can simply flip one sprite horizontally. Make sure that you use a descriptive naming convention for your sprites; I chose spr_player_move_right, and so on. Assign one of these sprites to the object itself to begin with and you're ready to go.

How to do it

  1. Open obj_player...