Well hello again!
I just wanted to post some screens from a game I’m calling ‘Peril of Alchemy’, which is a sort of genre shift sequel to my other game. I know, Puzzle to Platformer makes little sense, but oh-well. Anyway, I just finished writing a large portion of the game’s physics system, primarily the bits to do with player based control. There are still a few states missing, but for now… Well, it works.
I’m writing it using the libGDX framework to provide the graphics/input handling. The system is currently based on a AABB style collision handling, with a few other ideas tossed in.
Demo Here
Short Video Here
Controls Here
Questions/Advice
I’ve been kind of flip-flopping back and forth between how I want to handle various bits, mostly control wise. The opinion of people who actually play these games.
1) How to control Slide/Edge moved? Currently, I’m controlling it by by holding towards the face of the edge of the wall. The other options would be to make walls ‘sticky’, so that until you purposefully release (Jump or move in opposite direction) you stick to it or to assign a ‘Cling’ key, that determines whether you hold onto the wall.
My current method works fairly well except in the case of using parallel walls to jump upwards. This causes “fun” because if you jump off the wall (Jump or Jump+Up), and don’t release the directional key fast enough, your horizontal speed bleeds off. If you collide with the other wall (Losing all of your velocity) and you don’t let up, you end up falling a long way downwards due to the lack of acceleration while in the air.
2) How to implement ‘Double Jumps’? Currently, I’m adding a fixed velocity to the current velocity (You can only double jump near the apex of your jump). The other option would be to set Y velocity to the jump value.
My current method leads to some slightly weird visual effects. If you use it at the same same |velocityY|, you’ll get the same amount of up time regardless, but +velocityY results in a higher maximum posY than using it at -velocityY.
Sprite Information: The sprites that I’m using for the the character are taken from Teej’s Sheet.