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 firstname.lastname@example.org.
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!