Create your own platformer with the Windy Woods template.
In this tutorial, we'll modify the first level of Windy Woods, and create our own second level.
How to Open Windy Woods
Create a new project using the Windy Woods template. You can choose either GML Code or GML Visual:
Once the project opens, you'll see the Asset Browser:
This contains all of the assets you use to make your game.
GameMaker allows you to group and order your assets however you like. For this project, we've grouped assets by type.
How to edit a level in GameMaker
A level in GameMaker is known as a "room".
Simply place assets from your Asset Browser into a room to create a level.
Here are the current rooms in Windy Woods:
Open rm_level_1 by double clicking on it.
You'll see it load - it might take a while since it's a large one:
Everything inside a room is placed in a layer. The room you opened already has lots of them, which you can easily change.
Each layer is related to a type of asset, limiting what can be placed on it.
What are Instance Layers
Select the Instances layer:
This type of layer allows you to place "instances" on it. Instances are created from objects.
You can use your mouse to move the instances in this layer -- try moving the enemies and blocks:
Turn the grid on/off by clicking the grid button (found in the top right corner of the room editor) or using the keyboard shortcut G.
Add new instances of coins and blocks by dragging them from the Asset Browser.
Alternatively, select an Object from the Asset Browser (on the right), hold Alt/Option, and paint that object in the room with the Left Mouse Button.
Go ahead and place new blocks, coins, and enemies in the level. Make it your own!
How to Place Tiles in GameMaker
A Tile Set is an asset that contains a large image, split up into "tiles" or "cells". You use these tiles to build your level.
To use a Tile Set in the Room Editor, you need a Tile Layer. The Windy Woods level already has several.
Select the "CollisionTiles" layer:
This Tile Layer contains ground tiles that players and enemies can stand on.
The Tile menu opens on the right. From this panel, you can select a tile, and paint it in the room:
What is Auto-Tiling in GameMaker?
The Auto Tile feature is a powerful tool that makes level building much easier.
You create an auto tile library, and whenever you lay down a tile from that library, it will "connect" with those tiles that are around it to create a seamless wall or platform.
We've already an auto tile library for you, so you just need to use it.
How to Use Auto-Tiling Libraries
Select the "CollisionTiles" layer.
In the Tile menu on the right, go under Libraries and select "normal".
Place tiles in the room, using the Left Mouse Button to draw and the Right Mouse Button to erase.
You now have all the tools to build a new level!
How to Build Your Own Level in GameMaker
From the Asset Browser, open rm_level_2. It has some placeholder objects we don't need:
These are in a separate layer. Right-click on the “Template_Messages” layer and delete it.
Building with Tiles
Now build a level using tiles.
Select the "CollisionTiles" layer. Here, place tiles that your characters can stand on.
Under Libraries, select normal:
Use the left mouse button to draw, and the right mouse button to erase. Create a small section:
Now to play this level, run the game, and finish the first level so the second one starts.
Don’t want to go through level 1 every time you want to test level 2?
Go into the Room Order menu, and change it so level 2 opens first. Testing will be much faster now!
The underground part is looking unfinished, because the forest background stops abruptly.
We'll add cave tiles to fill that area.
Select the "CaveTiles" layer:
Under the "Tiles" menu, select any one of the filled cave tiles. I’ll select the bottom-left one:
Add it in where needed:
Also paint the top part, which is the tile directly above the one we selected.
The level is currently empty and lifeless. Let's add enemies, pickups and blocks to make it come alive.
Select the "Instances" layer:
From the Asset Browser, add instances of coins, blocks, and enemies to build your level.
Remember that you can enable the grid if you need it by pressing G.
It's looking like an actual level now!
Multiple Coin Block
You can change the amount of coins inside a coin block.
Double click on a coin block and open the Variables window:
You need to edit the hits_left variable, so click the pencil icon on the right.
Change its value to 4. This block can now be hit four times!
If you've followed any of the other tutorials already, such as the custom pickup, second enemy, checkpoints, or jump-through platforms, you can add them into this level as well!
If you haven't done these tutorials yet, you can do them at any time.
Adding Visual Props
Make your level more interesting by adding a number of visual elements.
Select the "Visuals" layer:
This is an "Asset Layer" where you can place sprites directly, without having to use an object.
In your Asset Browser, go to the Sprites -> Environment -> Ground Visuals.
Here you'll find several folders with visual elements you can add to your level.
Open the "Grass" folder and place some grass assets into the room:
If you've disabled the grid, you can enable it by pressing G. This will make it easier to place the grass sprites.
Just like objects, you can drag sprites into the room, or select one, and hold Alt/Option to paint them.
You can also place rocks and other cave assets in the underground areas:
How to Use Filters in GameMaker
Your level is playable now. You can build it further, and also change how it looks!
Let's use a "Colour Tint" filter to give our own touch to the level.
Add a new FX Layer and name it "Effect_Tint" (or anything you like). Place it at the top, above all other layers, so it affects everything.
Set its Effect Type to “Colour Tint”, and choose a colour you like.
Now it’s evening time in the Windy Woods!
Finishing the Level
Continue designing the level by placing more tiles, instances and visuals.
Once you're done, select the "EndGate" layer, which contains the gate where the level is finished.
Move it wherever you want your level to end.
You can also change the size of your room in the Inspector, which is open in the bottom-left corner of the IDE by default.
Click on your room (rm_level_2) in the Asset Browser, so the Inspector displays its properties. Then change the Width and Height under "Properties" to what you want:
Here are some key takeaways:
- Drag objects from the Asset Browser to place instances in a room.
- Toggle the grid by pressing G, and change its size in the Room Toolbox.
- Use Auto-Tiling to make level editing faster
- Use Filter/Effect layers to easily change the look of your game.
- Change the Room Order to control which room opens first.
Build your game further with GameMaker Tutorials.