not really a game, just a concept/engine CONTROLS: A: Walk/Swing Left D: Walk/Swing Right W: Climb Up S: Climb Down Space: Jump/Yank Click: Grapple/Retract L: Change Level The new grapple control allows for the player to be able to hold their grapple without having to hold down the mouse button. This makes it easier to move while grappling. Clicking again while grappling retracts the grapple. There is infinite (technically screen length) grapple length, so you can easily grapple quickly around the map. The last thing that I added was the smooth player landing. This landing allows for the player to land smoothly on the side that it is closest to on the box. You can find the mathematics in the "Notes and Credits" section of the project.
The concept, art, and 99.99% of the code by @Brd6147. The infinite grapple length, better grapple control and landing on correct side code by @ITeachMathInClass0. If you want me to remove the infinite grapple length, then just tell me. I may or may not, depending on how many people want me to. The math behind smooth landing is this expression: ((x mod y^2) - (x mod y))/y Where x is the direction and y is something I will describe later. Since there are 4 different base angles that we want this square to be set to when touching the ground, and all of the angles of a square add to 360 degrees, y will be 360/4=90. y is defined as the number that the cycle repeats itself at (360 degrees cycles back to 0 degrees) divided by the number of base numbers you need for the result (the number of angles that I made the square turn to is 4 since the square has 4 sides). What the expression actually means is that when x reaches y, the value of the expression is 1. This continues up to y^2, where the value then resets to 0. But the value of an angle repeats at 360, so you don't need to worry about that. The last part about that is that, when we want to calculate at intervals of 90, then we have to multiply the expression by 90. Because of the equation ab/b = a, the expression just becomes (x mod y^2) - (x mod y).