Asset - Project Tile Based Moving Platform Engine

Slyddar

Member
Tile Based Moving Platform Engine

This tile based platform engine uses efficient tiles for instance collisions, as well as incorporating those efficiencies into horizontal and vertical 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
Here is a Windows demo of the engine in action.

**Note:** Tile collisions are reliant on the size of the tiles and the size of the masks. This system is setup for 32 x 32 tiles and sprites. Other 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 sale of the asset is not for these graphics. If you would like to use these assets they are available for free at the following locations :
Tileset
Main Character
Background

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.

 
Last edited:

Slyddar

Member
Have added some new features :
  • 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 : Enemies drop gems, which animate in the air before flying to the player for collection. This is then shown in the GUI.
  • Very fast platform movement : Room 2 demonstrates new code changes to the vertical platforms allowing the player to move on even faster platforms.
  • Wait options for platforms : Can be set to pause the platform at start/end points
  • Better damage system : Now shows damage numbers and enemy hp bars
  • Rain system : Random showers can occur, including lightning and sound.
  • Bounce pads : Hay bales serve as bounce pads
  • Many small bug fixes
Also have a new trailer showing off the circular pathed platforms, among other features.

 
I want to create a life power up item. That object would help regain the player's hp. Do I need to define a variable for "life"?05b63c4d-2e28-4e25-b9b3-0787ef1206b2.png
 

Slyddar

Member
I want to create a life power up item. That object would help regain the player's hp. Do I need to define a variable for "life"?
05b63c4d-2e28-4e25-b9b3-0787ef1206b2.png
Sorry I hadn't seen your post, but I believe I answered it already over on the other site.
You've probably already seen and worked it out, but essentially there is a hp variable the player has, which is what you change, if it is < hp_max, when picking up the power up.
 
Top