• Hey Guest! Ever feel like entering a Game Jam, but the time limit is always too much pressure? We get it... You lead a hectic life and dedicating 3 whole days to make a game just doesn't work for you! So, why not enter the GMC SLOW JAM? Take your time! Kick back and make your game over 4 months! Interested? Then just click here!

Any recommendations for a good platformer engine?

I started out making my platformer using a tile-based engine from a tutorial I followed, but now I'm starting to regret that the collisions aren't just with objects rather than tiles. I find the whole 32x32 approach for the ground and platforms now feels really limiting. It also doesn't support slopes. I feel like the game could feel way more organic if the solid objects could be any shape (or angle) I wanted, rather than conforming to an old fashioned grid-like layout.

Does anyone here have any recommendation for a versatile platformer engine?

I'm more of an artist than a programmer, so it needs to be really well commented too so that I can understand how to modify it as required.
 

chamaeleon

Member
Perhaps @FoxyOfJungle's Foxey Platform Engine would be what you need. I have no personal experience with it, but it seems to be kept up to date with fairly frequent improvements. Given that you say you're more of an artist the feature list seems to be fairly comprehensive for your needs.

(Edited to add "no" to make it "no personal experience")
 
Last edited:
Perhaps @FoxyOfJungle's Foxey Platform Engine would be what you need. I have personal experience with it, but it seems to be kept up to date with fairly frequent improvements. Given that you say you're more of an artist the feature list seems to be fairly comprehensive for your needs.
Hi. Thanks for your reply. I have actually purchased that one and taken a look at it. It was quite good, but I run into some quirks with the controls that I didn't like. For example you have to press a shoulder button to grab onto a ladder, when I wanted to grab the ladder by simply pressing up when you are over it like you often do in retro platformers. I asked the developer about making the remapping controls easier and they said that would happen in a future update, but who knows when that might be. But it could be worth waiting for I guess... It's frustrating not being quite good enough at GML yet to be able to alter these kinds of things myself.
 

Nocturne

Friendly Tyrant
Forum Staff
Admin
Have you considered making your own engine from a tutorial? In my experience NO engine will be sufficient as every one you try will have it's own issues and you'll never get it to do exactly what you want. By making your own from a tutorial, you not only learn GML but you also know exactly how it works and can adapt it to your own needs much easier. There are lots of good tutorials on YouTube so maybe check them out?
 

Nocturne

Friendly Tyrant
Forum Staff
Admin
++<expr> not allowed any more since GMS 2.3, use <expr>++ or <expr>-- instead😉
It is allowed, it just has to be placed in brackets sometimes to ensure that it is parsed correctly. So (++val) or (--val) to explicitly tell the compiler what the operator is actually referring to. ALthough in this case, if they simply use the curly brackets to signify what the "if" statements are referring too it should also work fine, ie:
GML:
if (whatever)
{
--y;
}
 
Have you considered making your own engine from a tutorial? In my experience NO engine will be sufficient as every one you try will have it's own issues and you'll never get it to do exactly what you want. By making your own from a tutorial, you not only learn GML but you also know exactly how it works and can adapt it to your own needs much easier. There are lots of good tutorials on YouTube so maybe check them out?
Hi. That is actually what I have done. It's just that what I built has become somewhat restrictive (due to the tile based collisions), so I'm looking elsewhere. But I totally get what you are saying. Right now I understand the majority of what is going on because I coded it step-by-step, whereas starting with a new engine means I can't really understand the code because I'm simply not experienced enough to quickly grasp the ins and outs of how it has been coded.
 
It is allowed, it just has to be placed in brackets sometimes to ensure that it is parsed correctly. So (++val) or (--val) to explicitly tell the compiler what the operator is actually referring to. ALthough in this case, if they simply use the curly brackets to signify what the "if" statements are referring too it should also work fine, ie:
GML:
if (whatever)
{
--y;
}
Thanks for clearing this up too. I thought it was a syntax issue, but didn't know where to find the answer aside from asking here!
 
Top