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

Making your HUD scalable


Have you ever played a game that didn't quite fit your screen? It's frustrating, isn't it? In a perfect world, your game would work perfectly on any device. Since that's not the case, however, you'll need to make some adjustments if you want to create a game that will fit at least most devices. Let's see what it takes to scale your game to fit screens of different sizes and ratios.

Getting ready

For this recipe, we'll use the game that we created previously. Open the project file and follow the given steps, but make sure Allow the player to resize the game window is activated and Keep aspect ratio is selected under Global Game Settings.

How to do it

  1. Open obj_display.

  2. Under the DrawGUI event, open the code block.

  3. Enter the following code above the existing code:

    display_w = 1024;
    display_h = 768;
    ratio = display_get_width()/display_get_height();
    if ratio > 1
    {
        adjust_w = display_h * ratio;
        adjust_h = display_h;
        display_set_gui_size(display_h * ratio, display_h...