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

Creating 2D movement


In Chapter 1, Game Plan – Creating Basic Gameplay, we demonstrated the basic character movement using GameMaker's drag and drop interface. It involved a lot of blocks. Next, we will create more sophisticated movement code in only a handful of code blocks.

Getting ready

You'll need a character object (obj_player) and a room where you can place it. We won't be discussing the object's sprite or animation here; this is purely about moving your character in two dimensions on the screen. For this reason, we're using a simple block to represent our player character.

How to do it...

  1. In obj_player, add a Create event.

  2. Drag and drop an Execute Code block (under the Control tab) into the Actions box.

  3. Open it and enter the following code:

    ///set variables
    max_spd = 12;
    accel_spd = 1;
    decel_spd = 2;
  4. Close this code block and add a Step event.

  5. Drag a code block to the Actions box and enter the following code:

    ///control movement
    if (keyboard_check(vk_right)) and not (keyboard_check(vk_left...