Xtend Reference Guide

GameMaker Studio renders content at multiple resolutions at different levels in the rendering process. Sometimes they'll all match, but not always. To make matters worse, out of the box, developers only have two choices for scaling their content to different sizes and shapes of display: Aspect Ratio (letterboxing) and Full Scale (stretching). This often creates confusion as developers are disappointed to find their applications distorted and blurred.

In modern applications, it's simply unacceptable to support only one resolution or aspect ratio. But how can an application possibly support every display, from desktop to mobile and beyond?

The answer is: Xtend!

Xtend is setupless, meaning all you have to do is import it to your project, and Xtend itself will handle the rest. It is self-instantiating and ships with a default config that will be suitable for the vast majority of applications out of the box. Base resolution will be detected based on current project settings, and with the default aspect scaling mode, you'll never see black bars or cropping again. The viewport will be automatically extended either horizontally or vertically to fill the available space by aspect ratio only, minimizing differences in viewport resolution to preserve the look and feel of your content. Only the final application surface will be rendered 1:1 with the display to provide the sharpest possible output image.

But that's only scratching the surface. For best results, you should always follow certain best practices when designing content for scaling. And for projects with unique scaling needs, Xtend offers deep config customization and a variety of useful functions to make your application look perfect.

In this reference guide, we'll examine all this and more in detail.