Jump to content

CoH needs Coyote Time


Vanden
 Share

Recommended Posts

What is coyote time you ask? Coyote time is a short period after a player character has left the ground from running off the ledge, where it is still possible to jump as though the player were standing on solid ground. A reference to the antics of one Wile. E. Coyote. It's common among many platforming games. I'm sure all us Super Speeders have experienced that frustration where we try to jump, but we're just moving too fast and the ground dropped out beneath us as it sloped down, causing us to run headlong into the obstacle we were trying to jump over. Coyote time would solve that problem!

Link to comment
Share on other sites

While it would be nice and +1 for the idea, it may be easier to just add a measure of air control to Super Speed, as Ninja Run and Combat Jumping have which basically allow for all sorts of ludicrous shenanigans. Something like this may be very difficult to add into an engine this late and without the full toolchain.

Link to comment
Share on other sites

While it would be nice and +1 for the idea, it may be easier to just add a measure of air control to Super Speed, as Ninja Run and Combat Jumping have which basically allow for all sorts of ludicrous shenanigans.

 

That wouldn't do at all what coyote time would let us do.

Link to comment
Share on other sites

Of course this will be a QOL Upgrade courtesy of the ACME Family of Companies, Home of the Deploy Anvil temporary summon and the Rocket Skates travel power. ( Both cause Smashing/Lethal Damage, to YOU )

" When it's too tough for everyone else,

it's just right for me..."

( Unless it's Raining, or Cold, or Really Dirty

or there are Sappers, Man I hate those Guys...)

                                                      Marine X

Link to comment
Share on other sites

Of course this will be a QOL Upgrade courtesy of the ACME Family of Companies, Home of the Deploy Anvil temporary summon and the Rocket Skates travel power. ( Both cause Smashing/Lethal Damage, to YOU )

 

Nice...all the Wile E. Coyote powersets only cause damage to you.  Just when you are about to deliver the final death (defeat) blow to the AV, an Anvil drops on your head.

 

+1 Inf Marine!

"The opposite of a fact is falsehood, but the opposite of one profound truth may very well be another profound truth." - Niels Bohr

 

Global Handle: @JusticeBeliever ... Home servers on Live: Guardian ... Playing on: Everlasting

Link to comment
Share on other sites

I've even thought of a way it could be implemented without having to change the code for player movement. We know from Grounded in Electric Armor that powers can grant effects based on whether or not the player is standing on the ground. We know from the Steam Jump and Jump Pack prestige powers that powers can grant the ability to jump in midair. It sounds paradoxical, but if we put a "can jump in midair as long as touching the ground" effect into Hurdle, that should give a result quite similar to coyote time. The effect can probably be coded to have a duration that lasts a few fractions of a second after the player actually leaves the ground. The only other thing that would need to be done is reduce the max jump height buff granted by Hurdle; since the effect would increase how high the play can jump if they're on solid ground.

Link to comment
Share on other sites

I've even thought of a way it could be implemented without having to change the code for player movement. We know from Grounded in Electric Armor that powers can grant effects based on whether or not the player is standing on the ground. We know from the Steam Jump and Jump Pack prestige powers that powers can grant the ability to jump in midair. It sounds paradoxical, but if we put a "can jump in midair as long as touching the ground" effect into Hurdle, that should give a result quite similar to coyote time. The effect can probably be coded to have a duration that lasts a few fractions of a second after the player actually leaves the ground. The only other thing that would need to be done is reduce the max jump height buff granted by Hurdle; since the effect would increase how high the play can jump if they're on solid ground.

This is more or less what I was coming here to say.  I'm glad to see you're thinking about the implementation side of it.  I was thinking maybe it would be too intensive to add to every toon (and so it could be a granted, does-not-stack-with-self buff provided as part of super speed), but I had forgotten about Grounded as an "always watching" example to use.

 

+1, the lack of Coyote Time is absolutely why Super Speed is frustrating for me.

Link to comment
Share on other sites

We know from the Steam Jump and Jump Pack prestige powers that powers can grant the ability to jump in midair.

 

We know from those powers (which grant flight) that we can make the Fly status switch on or off immediately when players press or release the ascend key.  We also know from that that the Paragon devs were clever and tricksy.

No-Set Builds: Tanker Scrapper Brute Stalker

Link to comment
Share on other sites

We know from the Steam Jump and Jump Pack prestige powers that powers can grant the ability to jump in midair.

 

We know from those powers (which grant flight) that we can make the Fly status switch on or off immediately when players press or release the ascend key.  We also know from that that the Paragon devs were clever and tricksy.

 

They don't grant flight, it's clear from using them they let you jump in midair.

Link to comment
Share on other sites

So I tested that out -- while they're active if you're not already using a flight power, they don't increase flight speed at all but your vertical movement is consistent with your jumping speed prior, which suggests to me that they are coded as jump internally.

Link to comment
Share on other sites

They don't grant flight, it's clear from using them they let you jump in midair.

 

So I tested that out -- while they're active if you're not already using a flight power, they don't increase flight speed at all but your vertical movement is consistent with your jumping speed prior, which suggests to me that they are coded as jump internally.

 

I like the confidence.  For what it's worth, I was simplifying before; the Jump Pack doesn't exactly grant flight.  But... it also isn't jumping, at least, not the way you mean.  Here's the power data:

 

======== Entry 7806 ========
FullName = Inherent.Inherent.prestige_Jump_Pack_Temp
CRCFullName = 1273101745
SourceFile = DEFS/POWERS/INHERENT_INHERENT.POWERS
Name = prestige_Jump_Pack_Temp
...
AttribMod = 
    -------- AttribMod 0 --------
    Name = Ones
...
    Attrib = Jumppack (288)
...
    -------- AttribMod 1 --------
    Name = Ones
...
    Attrib = kSetMode (465)
...
    -------- AttribMod 2 --------
    Name = SpeedFlying
...
    Attrib = SpeedFlying (192)
    Aspect = kStrength (8)
...
    -------- AttribMod 3 --------
    Name = Leap
...
    Attrib = JumpHeight (204)

 

In plain language, activating the power modifies four attributes: sets you to jump pack mode, sets you to mode 465, improves your flight speed, and improves your jump height.  Mode 465 isn't interesting; it has something to do with 'react' animations or related modes.  Jumppack, on the other hand, is interesting.  It's a status attribute -- like everything else in the game, ranging from Flight Speed, Endurance Discount, Movement Friction, or Confuse.  What it does is grant the player a movement mode.  Unlike baseline movement modes, though, it doesn't have any corollary strength attributes.  As an example, Flight has an attribute just called Fly and another attribute called SpeedFlying; Jump has SpeedJumping and JumpHeight.  And drilling down a little into Flying -- how does the game know you're flying?  You have a Fly attribute of greater than zero.  What does that do?  It changes the behavior of your 'ascend' key and your character's physics.

 

The tl;dr version of all this is that Jump Pack changes your character's behavior to act mostly like flying as long as you're holding the spacebar down.

 

So that's how Fly and Jump work... but here's where it gets interesting.  Those aren't the only movement modes (control states) in the game... there's actually a pretty familiar-looking list in the player definition file.  The salient portion:

 

		server_state.fly =					pktGetBits(pak,1);
	server_state.stun =					pktGetBits(pak,1);
	server_state.jumppack =					pktGetBits(pak,1);
	server_state.glide =					pktGetBits(pak,1);
	server_state.ninja_run =				pktGetBits(pak,1);
	server_state.walk =					pktGetBits(pak,1);
	server_state.beast_run =				pktGetBits(pak,1);
	server_state.steam_jump =				pktGetBits(pak,1);
	server_state.hover_board =				pktGetBits(pak,1);
	server_state.magic_carpet =				pktGetBits(pak,1);
	server_state.parkour_run =				pktGetBits(pak, 1);
	server_state.no_physics =				pktGetBits(pak,1);
	server_state.hit_stumble =				pktGetBits(pak,1);

 

All of these (and a few others in the file) change how your control inputs work.  The ones that don't have corollary speed attributes just inherit/modify them from elsewhere (like how your jump speed is modified by your momentum, your friction, your movement control, and your SpeedJumping).  For a lot of these it's pretty obvious where they're taking them from; your beast_run control speed comes from your run speed, your magic carpet speed comes from your fly speed, etc.

 

What's weird about the Jump Pack, though, is that it doesn't seem like it should care about either Jump Height or Fly Speed, the two other attributes it buffs.  Your "jump height" while in jumppack mode is unlimited, the same as in flight.  Your horizontal speed also is affected much more by Momentum than by your Fly Speed attribute.  So what gives?  ...well it turns out that what happens when you let go of your spacebar in Jumppack mode is that you fall, just like you'd turned off a fly power.  When you hit the ground, your safe falling distance is measured based on where you started from and what your Jump Height attribute is.  So the JumpHeight attribmod is there to stop people from doing massive damage if they don't remember to tap "up" before they hit the ground.  SpeedFlying, on the other hand, is... actually just because they felt like it.  The devs just wanted the jump pack to be a mini-afterburner.

 

Back to the original point.  What does this mean for the initial suggestion?

 

Well... you could just always have everyone in jumppack mode when they're near the ground.  You could even do it with regular flight, and it would behave very much like Wile E. Coyote (you'd keep moving off the edge of a platform for a brief period and could run back onto it); my earlier comment wasn't that the idea is impossible, just that it doesn't work the way you seem to believe.  But... I honestly don't know how well either flight or jumppack would work for this.  One thing I haven't figured out is how simultaneous control modes interact with each other; I know from in-game you can have e.g. ninja run and jump pack active at the same time, but I don't know how priority is decided/shared.  I think this would make movement very frustrating at times because it seems like jump pack mode mostly only cares about your momentum and friction, so you wouldn't get expected results from speed buffs.  Honestly though... spin up a server, change Hurdle to grant jumppack mode, and see how it goes?

No-Set Builds: Tanker Scrapper Brute Stalker

Link to comment
Share on other sites

What is coyote time you ask? Coyote time is a short period after a player character has left the ground from running off the ledge, where it is still possible to jump as though the player were standing on solid ground. A reference to the antics of one Wile. E. Coyote. It's common among many platforming games. I'm sure all us Super Speeders have experienced that frustration where we try to jump, but we're just moving too fast and the ground dropped out beneath us as it sloped down, causing us to run headlong into the obstacle we were trying to jump over. Coyote time would solve that problem!

 

mmm, i can stand behind that solution... cause its happened to me a few times

Link to comment
Share on other sites

The tl;dr version of all this is that Jump Pack changes your character's behavior to act mostly like flying as long as you're holding the spacebar down.

 

While I'm not surprised to hear that the Jump Pack doesn't work exactly as I imagined, this makes no sense. There is nothing flight-like about what the Jump Pack does to the player while active. You move exactly the same as without, with the change that you can jump infinitely and initiate new jumps in the air.

Link to comment
Share on other sites

While I'm not surprised to hear that the Jump Pack doesn't work exactly as I imagined, this makes no sense. There is nothing flight-like about what the Jump Pack does to the player while active. You move exactly the same as without, with the change that you can jump infinitely and initiate new jumps in the air.

 

you move up the vertical axis without limit

that's literally what flying is

 

we might have some semantic disjunction.

 

maybe easier?  "Jump pack is neither jumping nor flying but a different mode of movement than either, just like Beast Run is not running."

No-Set Builds: Tanker Scrapper Brute Stalker

Link to comment
Share on other sites

While I'm not surprised to hear that the Jump Pack doesn't work exactly as I imagined, this makes no sense. There is nothing flight-like about what the Jump Pack does to the player while active. You move exactly the same as without, with the change that you can jump infinitely and initiate new jumps in the air.

 

you move up the vertical axis without limit

that's literally what flying is

 

we might have some semantic disjunction.

 

maybe easier?  "Jump pack is neither jumping nor flying but a different mode of movement than either, just like Beast Run is not running."

 

That's not what flying is. Flying gives you unrestricted movement in 3 dimensions while ignoring gravity. With the Jump Pack you're either going up or falling down.

Link to comment
Share on other sites

 Share

×
×
  • Create New...