View Single Post
  #195  
Old 05-01-2017, 12:09 AM
Darkatar Darkatar is offline
Fire Giant

Darkatar's Avatar

Join Date: Jun 2011
Posts: 545
Default

Quote:
Originally Posted by Lazie [You must be logged in to view images. Log in or Register.]
They would not if you had the appropriate run speed to outdistance their chase range. You couldn't gain a speed advantage with strafe in classic either. You had to jump.
Straferunning works because of movement oversights in vector movement calculations (Euclidean vector)

Many old games (EQ included until [I think] the client update for POP or perhaps later) calculate movement using an euclidean vector, when most modern games either compensate for this by capping your max speed, or by using a more accurate formula to calculate your actual speed.

For example, EQ/Doom/Wolfenstein/Descent/many others calculated speed something like-

sqrt(a2+b2)=(s)peed

Where a is foward movement and b is sideways movement.
Lets assume a and b can be the same speed value (sideways is as fast as forwards)

Lets call base speed 100 or 100%
Lets calculate your strafe speed.

sqrt(100^2+100^2)=141.421356237 (sqrt[2]), lets truncate and call that 141%

Because of that oversight, you can gain an overall speed boost by using two of your movement directions at once.

But wait, we forgot jumping!

Jumping adds a third plane to use, so the calculation looks like

sqrt(100^2+100^2+100^2)=173.205080757 (sqrt[3]) Lets truncate again, and call that 173%

I'm not actually sure on the "speed" of the "up" portion of the jump, but the down portion definitely exceeds maximum standard speed, so for simplicity we will also assume jumping speed c=100.
It may be more, it may be less, but it's probably more, considering how fast you fall in this game.

So, as you can see
1 plane of movement used = 100%
2 plane of movement used = 141%
3 plane of movement used = 173%


There's a few ways to solve this issue, either by capping "actual" speed (you would fall in slow motion while straferunning if the Zplane had a capped speed), or by doing a more accurate (unclassic, more CPU intensive, probably hardcoded into the client) movement calculation.

Could cap speed on the server side but that would cause rubberbanding like a motherfucker.

(I understand the difference between speed and velocity but for simplicity/less confusion, I called it speed)

*Disclaimer-I'm tired and don't math gud, please fix anything I derped if you see it.
__________________

~Urrsa -60 Ogre Shaman-
~Gream -60 Dark Elf Cleric-
~Greame -60 Halfling Druid-
~Oppa -41 Dark Elf Enchanter-

Quote:
Originally Posted by Haynar View Post
boxers are responsible for ruining EQ.
Quote:
Originally Posted by Sirken View Post
Rogean sits on his ivory throne and casts lightning bolts at anyone that disagrees with him or goes against the grain.