Five Handy GameMaker Features You Might Not Know About

Mark Alexander
6th February 2020

Did you know you could turn the stars into birds in Mega Man 2’s loading screens? Or that you can use Cut in the first three generations of Pokémon to get rid of grass in the overworld?

Features like these slip through the net all the time, and the GameMaker IDE is no different.

Even the most experienced GameMaker developers may have missed or overlooked some of the more subtle or "hidden" features that can help improve your workflow.

How to use sprite palettes in GameMaker

The first feature we're going to discuss is the use of sprite palettes. This feature is mainly useful for making retro-styled games with limited palettes, allowing you to set a specific colour palette that all sprites in that project can use.

To start with, you'll need to create a sprite with the palette of colours that you want to use. For this example, we'll be using this lovely 16-colour palette from GameMaker user Endesga (you can find this and more palettes of all types from the Lospec site):

Endesga 16 Colour Sprite Palette

You need to import the palette sprite into GameMaker as a new sprite and then open it in the Image Editor. Here, we'll be changing the default colour swatches to use the new palette colours.

Hold CTRL/CMD and click on the colour swatch you want to change. While still holding CTRL/CMD, click on an area of the image to select a colour, then hit “OK".

Repeat this to save all colours from the image into your sprite palette.

Set Palette Swatches Using The Colour Picker

Now, apply this palette to your other sprites, to make use of these colours.

If you make a new sprite and open it in the Image Editor, you can click on the "hamburger" menu above the colour swatches to get the following two options:

  • Import Colours From Sprite
  • Copy Colours To Sprite

Use the first option, which allows you to import the colour swatches from a previously-created sprite - in this case, the palette sprite:

Import Colour Swatches From A sprite

Of course, we could also stay in the palette sprite and use the "Copy Colours To Sprite" option to apply the colour swatches to another sprite.

And that's it! You can now import or copy the defined palette quickly and easily into all your sprites and ensure consistent use of colour when drawing.

How to important tilemaps from images in GameMaker

This next feature can be found in the Room Editor from the "Rooms" menu at the top of the IDE.

The Convert Image to Tilemap menu item lets you take any image and convert it into a sprite, tileset and tilemap for you:

Room Menu Import Image To Tilemap Item

You'll need an image file with the tile elements that you want to use (i.e., a mock-up image that your artist has sent you), like this:

Example Tilemap Image

Once you have your image, create a room in GameMaker that’s the size you require. Open the "Room" menu and select "Convert Image to Tilemap".
This will open a file explorer where you can select the image to use and, once selected, it'll open a window where you can set up the properties of the tileset that will be created from the image.

This will include the name of the sprite, the name of the tileset, and the layer that you want the tilemap to be generated on:

The Tileset Import Window

When you're happy, you can click the Generate Map button and GameMaker will take the image and generate all the required resources for you.

It'll even ensure that there are no duplicate tiles created for sections of the source image which are repeated.

The Final Tilemap and Tiieset Created

How to use the Project Images Generator in GameMaker

This next feature is a genuine time-saver and is incredibly useful, especially when you’re targeting mobile platforms.
It's the Project Images Generator, available from the Tools menu at the top of the IDE.
This feature takes an Icon image and a Splash Screen image, then generates nearly all the icons and splash screens for all the available platforms at the required sizes and applies them for you in Game Options.

For platforms with lots of icons, like iOS or Android, this would otherwise be a real chore to do manually.
(The exception here is that it will not generate images for Android's Adaptive Icons - you’ll still need to click the button to generate them, but even that is made quicker and easier by the Project Images Generator.)

To use this tool, you should have high resolution images of the two resources, for example a 1024x1024px icon and a 1920x1080px splash screen. Then, open the Project Image Generator and add these images into it:

The Project Image Generator

You can then select how each image is generated from the following options:

  • Keep Aspect Ratio: This will try to maintain the aspect ratio of the base image when generating new images, padding the edges with the given border colour where necessary (in general, this should always be used for icons).

  • Crop To Fit: This will crop the source images to fit the destination, trimming the edges along the horizontal or vertical axis as required for the size of the output.

  • Stretch: This will stretch (or squash) the source image to fit the output resolution

In general, the best results are achieved using the "Keep Aspect Ratio" option, but you can experiment to see what suits your source images best.
Once you’ve set everything up, click the "Generate" button and GameMaker will create all the required images for each of the licensed platforms for you.

Some Project Image Generator Examples

How to use bookmarks in GameMaker

The next "hidden" feature we're going to talk about is the bookmark system.
Bookmarks allow you to mark any GameMaker window with a hot-key combination to switch back to it at any time, making them a powerful tool for helping with workspace navigation.

To set a bookmark, simply make sure the window you want is in focus and then use the keys Shift + CTRL/CMD + [any number key 1 - 9]. This will set the bookmark to the chosen number and add a little banner to the window to show it:

Adding A bookmark

To navigate back to the bookmark later on, use the key combination CTRL/CMD + [the matching number key] and the IDE will take you back to the marked window (or open it for you).

To remove the bookmark, select the same window again and simply repeat the Shift + CTRL/CMD + [the matching number key] hot-key combination. 

You can also change the bookmark by simply pressing Shift + CTRL/CMD + [a different number key].

Handy, eh?

How to quickly create sprites from files

This last feature is particularly handy when you have a lot of images that you want to import as sprites, greatly reducing the amount of time required to make them.
Simply open a file explorer window and then select all the images you want to use. Drag and drop them onto the IDE, and GameMaker will automatically create a new sprite for each image, using the original file name of the image as the new sprite's name.

Dropping Images On The IDE

You can also create sprites with multiple frames of animation, but you’ll need to do some prep-work first (or have your artist do it!).

This involves preparing all your images as a single sprite strip, with the frames in consecutive order, much like the image shown below:

A Sprite Strip

When you save your sprite, you must append the name with the text _stripN, where N is the number of frames in the sprite. 

For example, the sprite strip shown above is called UI_Button_GooglePlay_strip6.png

Preparing all your sprites in this way means that when you drop them onto GameMaker, they’ll correctly convert into sprites with multiple frames, as shown in the GIF below:

Dropping Strip Images On The IDE

GameMaker is a powerful tool with lots of features we could explore. Here’s a few more features that could help improve your workflow:

We recommend taking some time to read through the IDE reference section of the manual to learn about all of GameMaker’s various features.

Don't forget to also check out the coding tips and GameMaker resources articles for more helpful information.

Written by Mark Alexander
Mark Alexander is the former GameMaker technical writer. He’s moved on to pastures new, but still hangs around as admin on the GameMaker Community forum and makes his own indie games as Nocturne Games.
Back to blogs