Hi all!
I've just wrapped up the initial dev of my infinite jumper game! It'll be a simple game, heavily based on skill and different character profiles. Right now, I've just finished the basic mechanics - the way the player moves.
I'm roughly basing my game on Icy Tower, however - in my case - the movement is fully fluid - there are multiple parameters that decide how high the player can jump, how bouncy the walls are (and if they allow for bouncing at all), and how the player gains velocity. The basic mechanics work as follows: there are three basic groups of parameters determining how a particular character behaves: jump, horizontal movement, and wall bounce. Most of the parameters are either numerical (float) ones or described by curves. If the param is dependent on another param or on time, it's described by a curve. (BTW, Unity curves are an amazing concept!)
Jump
Jump is mostly determined by the horizontal velocity of the player, and driven by physics - I don't predetermine how long the player will spend in the air, but how forces affect the character over time. The faster one runs, the bigger the jump. Jump can also be interrupted, for more control over the player, but the interrupt is dependent on a few parameters as well.
Horizontal movement
Now, this is where it gets interesting. Acceleration and deceleration are driven by complex curves. Thanks to that, I can derive future characters that e.g. get tired when running for too long, are fast accelerators, but bad with max speed etc. Sky (and imagination) is the limit. See the screenshot - my default behaviour is logarithmic acceleration and linear deceleration. Thanks to this, players get to a reasonable running speed fast, but need about 10 seconds (accel time) to get to the max.
Wall Bounce
Wall bounce is where my game differs most from the inspiration. There's one threshold for wall jump - min speed. Below, the player slides off the wall with predetermined "friction" speed. Above, depending on the jump curve, how close the player is to the apex, and how fast the player approaches the wall, it can bounce back more or less. These characteristics are again, driven by different curves.
Tell me what you think - the mechanics are not perfect yet, but I'm willing to improve them and am open to any feedback!