Building a platform game - a beginner's guide

  • 265 favourites


Attached Files

The following files have been attached to this tutorial:



Download now 608.15 KB



48,192 visits, 196,335 views



This tutorial is licensed under CC BY 4.0. Please refer to the license text if you wish to reuse, share or remix the content contained within this tutorial.

You'll learn how to:

- Best use built-in behaviors

- Switch animations: standing > running > falling ...

- Test for progress and award points

Building blocks - the objects to insert

Key to a platform game are two types of objects: Solids and Platforms.

Solids are obvious: they form the floors and walls that restrict players' movements. Platforms have a name which might confuse you initially: rather than being the platforms on which players stand and fight and run and jump, they're the objects that do the standing and fighting and running and jumping.

What's so great about Platform objects in Construct 2 is that you get all their basic behavior that you'd expect, without your having to do a single bit of programming:

- When you press the left and right arrow keys, Platform objects move right and left (you can change these keys, say to 'A' and 'D', if you like, or replace them with touch gestures on mobile devices).

- When you press the 'Shift' key, they jump (again you can change this key or substitute a touch gesture).

- When they've not got a Solid object beneath them, they fall.

Part 1: Beginning the build

I'm assuming you've worked through the 'Beginner's guide to Construct 2', so I'll try to avoid repeating what you've already learnt from it.

Constructing the playing layout

To get you off to a flying (jumping? running?) start, I've put together a very basic layout. Download it from the link on the left and it'll be the foundation for this game:

Here's what you see on the layout:

- Four floors at different heights and with different lengths, so that the gaps between them become increasingly harder to jump. Click on them and you'll see that their Object type is 'Flooring'.

- Walls on either side. Click on them and you'll see that their Object type is 'Wall'.

- A player on the lowest floor (Tim by name, from the highly acclaimed platform game Braid - its graphic artist, David Hellmann, has generously made images freely available).

Tim's Object type is Player. But look under 'Object types' in the Project Bar, and you'll see that 'Player' is shown as a simple blue rectangle. And underneath it is another Object type named 'PlayerImages', looking just like Tim. Why this separation into two objects?

It's because the Manual advises: "For the most reliable platform movement, it is recommended to use a invisible rectangle sprite with no animations with the Platform movement. Then, the animated player object can be positioned on top of that.Otherwise, the changing size and collision polygon of the object as its animation plays can interfere with the Platform movement's floor, wall and slope detection, causing a shaking or glitchy movement."

Our invisible rectangle sprite is the Player object - click on it in the Project Bar, and under 'Object Type Properties' on the left, you'll see that its 'Initial visibility' is set to 'Invisible'. This is what will be moved by our actions and pinned to it will be the PlayerImages object, with a size and collision polygon that change as its animations play, and consequently giving unreliable detection results. Look closely at the layout, and you'll see that Tim is standing within the blue border of the Player object (helpfully visible on the layout, but invisible when the game runs).


  • Order by
Want to leave a comment? Login or Register an account!