Forums

Pages: [1]
Author Topic: Everything you never wanted to know about bounces!  (Read 1191 times)
Maggot
*

Posts: 34
The feedback from my last post was clear: not boring enough and not enough data. I had only looked at bouncing very briefly and was unaware how fickle and stupid it can be so I have worked hard to rectify that!

For those not in the know a bounce is when you fall on to a surface which should teleport(a 1 unit high teleport) you, but with a well timed rocket or sticky explosion(or even a perfectly timed jump) you hit the ground and take off again without ever triggering the teleport.


Bounces work because when the game calculates your movement its not a smooth progression like it may look on your screen. You actually technically teleport a number of units every tick(ticks are when servers make calculations and updates values) depending on your velocity(in the case of falling this means how long/far you have been falling.) A bounce is possible when the teleport you are trying to bounce over is exactly 1 unit below one of the numbers in your falling calculations. You always fall at the same speed(precise to .001 units) so there is no risk of missing the chance to bounce.

The reason you are able to "bounce" back up is because both the client(the game running on your computer) and the server(the server relaying client info) have their own calculations regarding speed and movement and everything else in the game. The server updates according to its tick rate(which is usually 66 times a second) but the client takes the server information and smooths it out to fill the gaps between the server ticks. When you are falling exactly 1 unit above a teleport the gap in between you hitting the ground and the server updating your position/speed is so small that the client calculates hitting the ground and the explosion or jump that pushes you off the ground before the server has a chance to update the players position which would trigger the teleport.


Lets use the bounce used as a bonus in jump_soar_a4 as an example.
The height from the the starting platform to the ground you bounce off of is 528 units and so the teleport 1 unit above the ground is 527 units.
As you walk off the platform you start falling and the units per tick that you move starts increasing.
Exact fall heights that happen per tick:
0             Standing on platform
0.18        1 tick after falling off platform
0.54
1.08
skip ahead some and the fall distance increases at a higher rate because of your velocity
499.5
513
526.68    bounce time! The distance of the drop is 528 units the teleport is 527 and you are at 526. perfect!
Your game client calculates that you hit the ground and your explosion sends you up before the server even knows what happened because it all happened within the span of 1 tick.

"BUT JAMIEN!" you say "HOW COME DO DAT NUMBERS AND FLYING?!"
Very well put! These numbers are very precise and there isn't room for even 1 unit or error. Up until now people did not know what heights worked as bounces cause they was all over the place! but then good ole touchy uncle Jamien came along to make it all better. Using the console and various maths I have discovered the formula to calculate bounces for any height. Every tick has a specific distance you fall so there is 1 possible bounce per tick of falling.

Behold the mightiest of spreadsheets with the numberiest of numbers!
https://docs.google.com/spreadsheet/ccc?key=0AkBpyyZfWCczdGFOcHloSV93SmNTbmxoWDdPT3d2dmc

This spreadsheets shows you the fall distances per tick(on da left) the height of the bounce corresponding to that tick(in da middle) and the height of the bounce if you press crouch when you fall(on da right).
You may notice that there are 3 sets of numbers, gasp! Because the bounce is dependent on how far you fall you are able to achieve even more possible bounces by adjusting your height by a certain amount such as by jumping or crouching or even ctapping!

The first 3 columns are the numbers based on you walking off a platform.
the second 3 columns are the numbers based on you jumping off the platform(pressing space)
and the third 3 columns are the numbers based on you ctapping off the platform.

Yup ctapping actually makes you jump to a specific consistent height allowing you to do even more different bounce drop distances. Any other method that can make you gain height by a consistent amount can also do this(such as crouching and shooting straight down) but I'm not going to waste time finding them all.

If you are a mapper and you want to include a bounce in your map or if you are a soldier trying to get a tricky bounce on a demo map or whatever the hell you want to do, just look at the spreadsheet under "bounce" or "bounce crouch" to find the nearest value to suit your needs. 528 means 528 units from where you stand when you start to the ground where you stop. walk off means walking off the starting platform. jump means jump off the starting platform. ctap means ctap off the starting platform

I shall edit this further should a mistake or confusion arise or perhaps I forgot half of what I was trying to say(100% chance)
me tired


Big thanks to: Bshear for making me maps to test bounces on and pretending to listen to me ramble

No thanks to: Bshear for giving me incorrect numbers thus robbing me of my time/sanity
« Last Edit: December 30, 2012, 02:09:52 AM by Jamien The Choco »
   
Rocketman
*****

Posts: 518
No tears now; only dreams
Not really following though i didnt read the full post l o l

anyways what i take away from it is that when making a bounce, make it 528 units high. Or 228 for standing up bounces. There's a super easy standing up bounce on jump_tissue i wonder how high that one is...


---------------------------
   
Rocketman
*****

Posts: 630
Not really following though i didnt read the full post l o l

anyways what i take away from it is that when making a bounce, make it 528 units high. Or 228 for standing up bounces. There's a super easy standing up bounce on jump_tissue i wonder how high that one is...

Basically.  Open spreadsheet.  See the column labelled 'bounce'?  Make the fall exactly this many units, and it is bounceable.  Resource for mappers more than anything. Bounce crouch means that if you hold crouch at some time during the air, make the fall exactly THAT many units and it is bounceable.  Adjust based on expectance of walking off, jumping off, or ctapping (no rocket) off.

Also, @Jamien.  Done any testing with no-rocket bouncing? (I call them bounce-hops).  At certain units you can just jump off the platform, rocket jump included, but I doubt you have the time to ctap.

I've been told that they'll work on any un-crouched bounce.
« Last Edit: December 29, 2012, 01:33:14 PM by Kairu927 »
   
Offline  Matti
Fly
***

Posts: 78
soar_a4 is out!
Very interesting. So glad bounces are finally getting the love they deserve.
   
Offline  CrancK
Rocketeer
*

ehh... what?
Posts: 397
dude...
now make plugin so you have a helper for finding all the bounces, like in defrag for overbounces ^^,
could theoretically even make auto-pilot for them o.0

(or gimme a lot of time, and i'll eventually make it)



ALSO... should check, if its possible to bounce from a normal jump without rockets (on tp ground, no extra fall) (crouched/ctap or whatever)
« Last Edit: December 29, 2012, 05:45:20 PM by CrancK »


---------------------------
   
Rocketman
*****

Posts: 630
get hype  8)
   
0 Members and 1 Guest are viewing this topic.
Pages: [1]
« previous next »


spirit Powered by SMF 2.0 RC5 | SMF © 2006–2011, Simple Machines LLC