Elements is a puzzle platforming engine where the player can manipulate the elements to progress.

Hi! I'm Josh Yaxley, and Elements is a game I made for the 16th GM48 game jam within 48 hours. People liked it (it came first place), so I thought I would let people have a look at the code. I've cleaned up the project a little bit, and added in comments to the code to help people understand what is happening.

All the resources in this project are available for you to use without giving credit, so enjoy! The music and sound effects were created by Phillip Schlosser, and he has given me permission to include them in this release. If you make any projects based off of this, then I would love to check them out, so feel free to email them to me at

Here are some key features of the project that you can learn from:

  • Platforming engine that combines place_meeting collision checks and Box2D (sounds stupid, but it works well and is very simple)

  • Fully interactive terrain that can be moved and combined

  • Easily extensible modular player sprite drawing that removes the need for lots of sprite animating for different sprites (draws/animates each body part individually)

  • Simple tutorial system that is easy to implement

  • Ragdoll physics for player death using Box2D joints

  • Example of how to program a simple cutscene

  • Simple particle effects that help bring life to the game

  • Retro square in/out effect for transitioning between rooms

  • Simple menu system

  • Unique boss battle

If you have any questions, then don't hesitate to get in touch!

End User Licence Agreement (EULA).

Age Rating: 4+


GMS1 - Version 1.0.0. Published November 9, 2015

Loading, please wait

Package contents

Loading, please wait

What is the issue?

Loading, please wait

Back to Top