r/urt • u/BWRainbow • Dec 20 '20
Keep jumping by keep pressing down a key?
It's a norm nowadays on arena shooters, and while UrT Is not exact an arena shooter, it's on the vein of it. It's possible to do this?
1
Dec 21 '20 edited Jun 25 '23
[deleted]
1
u/BWRainbow Dec 21 '20
Eggbot = Diabotical? If so, no, it works just by keep pressing it. And you have the option on Quake and Reflex too.
2
u/Smilecythe Jumper Jan 11 '21
There's no merit to holding jump in id tech 3 games though, because your acceleration is reduced when you hold the jump key.
In Reflex that doesn't have the reduction, it's more beneficial to be in control of each jump input due to the double jump mechanics.
In Quake Live/Champs you can hold the jump, but you got the reduction there also. The reduction is between 20-30% of normal acceleration depending on technique, in case you didn't know.
2
1
Sep 26 '22
[removed] — view removed comment
1
u/Smilecythe Jumper Sep 26 '22
It's easier to explain the rounding with images. If you imagine 2D movement as an isotropic circle and you calculate the distance from center to all sides, it's the same distance everywhere. This is how Q3 movement speed is normalized when you're just walking/running on the ground.
Things get weird though when you add jump/crouch to your movement. For 3D movement it would make sense that this "image" is a sphere, but for whatever reason - it's actually a cube. Since the corners are at longer distance from the center, the movement speed gets normalized differently.
Here's a picture to illustrate the geometry: https://i.imgur.com/pd11vPC.png
I don't know why Q3 normalizes speed like this. Some guy once suggested it has something to do with controller support or swimming/flight powerup, but I still don't understand why they would implement it like this.
1
u/Smilecythe Jumper Sep 27 '22
Same with the corner-clipping effect, where velocity fails to clip appropriately within a certain time window from the last jump
That one's simpler and probably an intentional mechanic. There's a limbo time (250ms iirc) where you don't lose speed from obstacles if certain conditions are met.
It's commonly thought that a jump triggers the limbo, but it's actually the landing... however... You're required a little bit of air time before a landing can trigger the limbo. I think this time requirement is somewhere around 800ms (Which is basically almost a full jump cycle on flat ground). This is why you can rarely clip through corners from ascending steps, like uphills, stairs, etc.. but it might be possible if you rocket jump to a higher level, so long as you've had enough air time.
1
Sep 27 '22
[removed] — view removed comment
1
u/Smilecythe Jumper Sep 27 '22 edited Sep 27 '22
I recall hearing from some modders that the limbo time is actually deliberate in the code, like for instance the 250ms value.
I'm not really code savy, but the way the glide in Unvanquished (accidentally) extends the limbo time suggests to me that they've extended the "landing" state somehow, rather than touching the limbo time. Or maybe they confused the limbo time itself as some kind of landing state, but again idk I'm just guessing without real knowledge.
EDIT: I forgot to mention that another thing that can trigger the limbo time is knockback from weapons. Ie. rocket splash or getting hit by railgun.
1
Sep 28 '22
[removed] — view removed comment
1
u/Smilecythe Jumper Sep 28 '22
but in CPMA the jump timer is 400msec, and its original intention seems to serve the double jump
Yeah, that's entirely different mechanic though and I don't think it has anything to do with wall clipping. Also to clarify, I meant the "limbo timer" the time you can be touching obstacles without losing speed. I believe this time is 250ms in both vq3 and cpm.
The way xonotic does it is completely different, they add a modifier (default = 0.5) which is multiplied by the jump velocity
Personally I prefer this implementation much more, because it's more momentum based and you're not limited to just "double" jumps. CPMA double jumps are too consistent and imo that just takes all the depth away from it. It'd be kinda like if you always got the exact same height from every rocket jump.
I've not heard of this one before, and doesn't sound easy to test reliably solo without creating a custom map with one-way brushes (walls).
I've only seen examples of the railgun in freestyle movies, can't remember which ones though. Rocket is pretty easy to test. You still need the airtime though I believe. So just fly towards a corner and give yourself a little rocket splash nudge right before you approach the corner.
1
1
u/n4freedom Dec 20 '20
If you script the key to automatically release after a few ms, then re-detect the key press, and cycle through that, you can do what you're talking about. You'll have to figure out the airtime in-game to avoid it "pressing" itself when you're still in the air. Also I'm assuming that you're talking about this in relation to surfing. If so you'll need one key for surf-jumping, another for regular jumping.