Creating a bouncy surface

Spipper

Former cheese man Gorgonzola
aa
Feb 18, 2012
246
407
I'm currently trying to create some kind of bouncy surface, that flings players into the air upon stepping on it, and landing on it kinda creating a effect similar to a trampoline og the repulsion gel from Portal 2.
On of the main goals is to ensure the players bouncing on the surface, maintain their lateral speed, like bunnyhopping.

I have currently tried to achieve this, by using two 32 units high triggerbrushes overlapping each other. One of them is a trigger_apply_impulse (named bounce), with the "clients" flag checked and a impulseforce of about 75, while the other is a trigger_multiple, with "delay before reset" set to 0. The trigger_multiple has the output "OnTrigger --> bounce ---> ApplyImpulse".

However, this doesn't seem to work at all. The players isn't flung into the air, unless they jump, and they ain't bouncing back up when hitting the triggers, which kinda ruins the effect of continuously bouncing off a surface.

So I'm wondering if there is a better way of achieving this effect, since I have already wasted way to much time trying to fix these problems.
 

Vel0city

func_fish
aa
Dec 6, 2014
1,947
1,589
I wonder if it's even enabled (or working for that matter) in TF2's engine version.

Also, keep in mind that bouncy surfaces are a nightmare for the already not too great lag compensation model in the Source engine. It's like players riding on a movable object: it's twitchy, unpredictable and messes with the hitboxes so much players become almost impossible to hit with anything but rockets and grenades rendering 6/9 (Engineer is not included since lvl 3 sentry) classes practically useless.
 

Izotope

Sourcerer
aa
May 13, 2013
698
764
I have a Portal 2-themed TF2 map where I use the same thing for the gel. It should work.
 

Spipper

Former cheese man Gorgonzola
aa
Feb 18, 2012
246
407
I know for sure that trigger_apply_impulse works in tf2.
However, whenever the impulseforce is about 75, the players aren't even lifted of the ground (unless they jump). It does fling players into the air when the force is about 600, but when they hit the trigger again, they do a little "twitch-jump" before they are launched into the air, instead of instantly bouncing of the surface (which would be ideal).


I have a Portal 2-themed TF2 map where I use the same thing for the gel. It should work.

Did your "gel" work out smoothly? Just curious to see if the effect I'm looking for is even possible.

Also, keep in mind that bouncy surfaces are a nightmare for the already not too great lag compensation model in the Source engine. It's like players riding on a movable object: it's twitchy, unpredictable and messes with the hitboxes so much players become almost impossible to hit with anything but rockets and grenades rendering 6/9 (Engineer is not included since lvl 3 sentry) classes practically useless.

I will keep that in mind. It was going to be used for a more "fun" project, so fighting being absolutly horrendous is not that big of a deal.
 

Izotope

Sourcerer
aa
May 13, 2013
698
764
Did your "gel" work out smoothly? Just curious to see if the effect I'm looking for is even possible.

I would say so.
Didn't use it on the floor, though.
I'm using it on the walls to jump past a pit.
 

Tumby

aa
May 12, 2013
1,084
1,192
I know for sure that trigger_apply_impulse works in tf2.
However, whenever the impulseforce is about 75, the players aren't even lifted of the ground (unless they jump). It does fling players into the air when the force is about 600, but when they hit the trigger again, they do a little "twitch-jump" before they are launched into the air, instead of instantly bouncing of the surface (which would be ideal).

Try giving the output a delay high enough that people hit the ground before flying up.
I'm guessing that the downwards movement is almost as high as the upwards movement you are applying, which means they cancel each other out.
 

ibex

aa
Sep 1, 2013
308
528
Try giving the output a delay high enough that people hit the ground before flying up.
I'm guessing that the downwards movement is almost as high as the upwards movement you are applying, which means they cancel each other out.

I may be wrong, but when I played around with the apply_impulse it isn't a fire once entity. You turn it on and it applies the force continuously.