
Design and build a GUI once that automatically adapts to any resolution across PCs and mobile devices, solving layout issues and delivering resolution independent interfaces in GameMaker: Studio.
Explore how multiple resolutions break a centered user interface in GameMaker Studio, with hard-coded 400x300 centering on 800x600, misaligning at 640x480 and 1024x768, and learn scaling to adapt.
Center a mission complete graphic for every resolution by computing center coordinates from the viewport width and height, not the window size, and draw the sprite at those coordinates.
Position gui elements to screen edges and corners across resolutions using the top-left origin; design for the smallest resolution, 800 by 600, to ensure scalability.
Position GUI elements at any screen location with proportional fractions to ensure resolution independence; derive from the original 800 by 600 design to keep centers, quarters, and three-quarters placements.
Learn to create resolution independent guis in GameMaker: Studio by using draw_sprite_ext to scale the mission complete sprite to the target resolution based on the original 800 by 600.
Learn how aspect ratio affects resolution changes in GameMaker: Studio, as changing width and height stretches sprites and guides common workarounds for 800 by 600 and 640 by 480.
Learn to preserve aspect ratio across resolutions by defining the original 800 by 600 constants, creating an init script, and applying a single global scale factor to scale sprites uniformly.
Learn how to build a resolution independent GUI in GameMaker: Studio by creating a menu background and button with relative positioning, and implement a GUI manager to host nested controls.
Learn to use inheritance and parenting in GameMaker: Studio to create a common root object for gooey components and set up gooey parent relationships for menus and buttons.
Learn how a base gooey object defines shared behaviors and how the gooey_parent variable makes the button a menu child, enabling synchronized movement.
Position a button relative to its window container using the gooey parent and a global scale factor to demonstrate cascading transformations and nested controls.
Explore creating resolution independent interfaces with relative positioning and both uniform and non-uniform scaling, then build nested user interface controls with parent-driven offsets and inheritance, culminating in a multi-button menu.
In this course, instructor Alan Thorn takes you through the process of building graphical user interfaces using GameMaker: Studio. We'll take a look at how to improve the graphical quality across all platforms - specifically how to create a GUI once that will work and display properly across any number of resolutions and devices. Not only will we discuss resolution and scaling, but we'll also cover the programming and scripting associated with addressing screen edges, centering, instances, and cascading transformations. If you've ever been interested in learning about building your GUI in GameMaker: Studio and having it look and function flawlessly - this is the course for you.
(Students - please look under Section 1 / Lecture 1 downloads for the source files associated with the lesson.)
More about the Instructor:
Alan Thorn is a freelance game developer and author with over 12 years of industry experience. He is the founder of London-based game studio, Wax Lyrical Games, and is the creator of award-winning adventure game Baron Wittard: Nemesis of Ragnarok. He has worked freelance on over 500 projects worldwide including games, simulators, kiosks, and augmented reality software for game studios, museums and theme parks. He has spoken on game development at universities throughout the UK, and is the author of nine books on game development, including Teach Yourself Games Programming, Unity 4 Fundamentals and the highly popular UDK Game Development.