GameMaker (2.3)

Tiled Moving Platform Engine

Peter Morgan

You must be logged in to obtain assets


Tile Based Moving Platform Engine

This is a tile based platform engine which uses efficient tiles for instance collisions, as well as incorporating those efficiencies into horizontal, vertical and Circular tile layer moving platforms.

Some of the features of the engine :

  • Tile Based Collisions : Tiles offer the fastest collision system in Gamemaker
  • Moving Platforms : My system uses fast Tile Based Collisions to move multiple platforms either Horizontal, Vertical or Circular. Settings for wait time, speed, distance and slow down.
  • One Way Platforms : Allows the player to drop through tiles, or jump up through them.
  • Player State Machine : A system which makes building your player quick and easy, as it allows faster bug resolution. Includes Combo Attacks (light and heavy), Double Jump, Block, Crouch, Crouch Block, Death and Knockback abilities.
  • Juice : Game enhancing features like player dust for jumping, landing and walking. Squashing and stretching of the player when jumping and landing, giving the game a better feel. Screenshake for hitting enemies, or making an impact.
  • Enemy Setup : Enemy object with weapon swing and pummel ground attack pattern, which support player block and knockback.
  • Item Collection : Enemies drop gems, which animate in the air before flying to the player for collection. This is then shown in the GUI.
  • Dual Controller and Keyboard support : Both a controller and keyboard work as input, at the same time.
  • Simple lighting system : A light object can be used to give anything a nice radiant glow. Any colour can also be set.
  • Smooth moving Camera system : Can be used to follow any object, and offers various panning speeds.
  • Room transition : Allows a fade to black transition between rooms.
  • Room Spawning System : Multiple room spawning positions depending on room entrance.
  • Lives and Damage System : Entities can take multiple damage before being destroyed. Normal and Critical Damage is shown when enemies are hit, and a HP GUI element is included.
  • Game End : After all lives are lost, game returns to the Main Menu.
  • Initialisation Room : Allows for easy persistent object management.
  • Template Parent Room : Allows quick reproduction of room structures for faster level creation.
  • Fully Tiled Sample Room : A completed room to demonstrate how to build your rooms correctly, including multiple moving platform examples.
  • Rain System : Rain and lightning, including sound, can now randomly occur.
  • Sound effects : Basic 8-bit sound effects are included.
  • YYC Compatible : Compiling in YYC allows for the most efficient and fastest build.
  • Documented Code : All lines are commented as to their purpose, and the entire project has a complete write up to make understanding the engine as easy as possible.

Recent additions:

  • Circular platforms : Multiple configurations are possible, allowing for full circle, half, quarter, or any custom angles. Also includes slowdown and wait on start and end. Pivot and support structure is also drawn.
  • Enemy attacks : Enemy now can attack player. Full swing and wave attack pattern included.
  • Gem Collection

Windows Demo available here

Note : Tile collisions are reliant on the size of the tiles and the size of the masks. This system is setup for a maximum of 32 x 32 tiles and sprites. Larger sizes will require changes to the code in order to work correctly.

GMS2 Bug : Also note there is currently a bug in Gamemaker 2.3 which sometimes stops child rooms from inheriting layers created in the parent. If you create a new layer in the parent, it can produce an error in the child room if 'inherit' has not been pressed there. Even this doesn't always solve it though. A bug report has been filed, but we await the fix.

This package incorporates the use of graphics, which are free assets from external sources. The graphics are included, but these are free assets and are available below if needed :

Lastly the graphics and player setup can easily be removed so you can use the collision and platform system as the basis for your own projects, and instructions are provided outlining how to achieve this.

End User Licence Agreement (EULA).

Age Rating: 4+


GMS2.3 - Version 1.0.30. Published May 22, 2022

1.0.30 change log : * Gamemaker 2022.x changed bbox values from integers to reals, and this changed a few things for tile collisions. Upon entering a room, it caused the player to sometimes fall 1 pixel and then recover the next step. I've added a check to the player room start. This code fixes that by simulating the calc_movement and collision scripts for a few steps at room start. * Room entry positions updated vertically by -1 pixel to cater for the bbox changes. * Updated the s_hp_bar file to show you can use HD images for the players face in the UI.

Loading, please wait

Package contents

Loading, please wait

What is the issue?

Loading, please wait