Dragon Saga Movement Speed Calculations
Dragon Saga Movement Speed Calculations by SharpEye
Disclosure: If you have a high school education, you should be able to understand the simple math involved in this.
From the simple equation V = dP/dt, we can derive Vt = (P1 – P0) assuming V is constant.
This leads to V = D/t, D being the displacement from Position 0 to Position 1. Since we’re going to be traveling in a straight line in ONE direction, D is also distance.
Now this equation isn’t that useful, so we’ll put it in a ratio: V2/V1 = t1/t2. (The distances cancel out)
This is equivalent to two objects traveling across the same distance D with object 1 moving at velocity V1 and taking time t1 to get across the distance and object 2 moving at velocity V2 and taking time t2 to get across the distance. This simple ratio is what we’ll be using to empirically determine BASE movement speed.
I’ll be using a grenadier with +50 mspeed (and none from equipment/cash bonuses) and a harlequin (haha rogue, no) with +0 mspeed (same deal-o). I’ll explain my character choice in a bit.
Assuming x is base movement speed:
The grenadier’s mspeed will be (x + 50)
and the harlequin’s will be x
So (x+50)/x = t2/t1
Using frames as a measure of time, we can almost precisely determine the ratio of velocities; the only possible errors in calcuation is the estimation of when a character’s movement actually begins and when it has stopped. I will explain how I minimized these later on.
Here are two videos (I encourage you non-believers to download each one and analyze the frames yourself if you don’t trust my calculations).
The harlequin starts running between frames 776 and 777
The harlequin stops running between frames 1314 and 1315
The grenadier starts running between frames 601 and 602
The grenadier stops running between frames 1005 and 1006
The harlequin takes t2 = 538 frames to go distance D
The grenadier takes t1 = 404 frames to go distance D
This arrives at the equation of one variable: (x+50)/x = 538/404
Now we’ll look at the fraction 538/404. If you divide it out, the value turns out to be 1.33168—–. We’ll approximate this with 4/3. This approximation could be risky in that the ratio isn’t that solid, however I want it to be. By simple math we know 4/3 = 200/150. Given that (x+50)/x = 200/150, we quickly
determine x to be 150 movement speed.
The conclusion here is surprisingly that there is no conclusion yet. (WHAT A TWIST – M. NIGHT SHAMAMALSYALYN)
We have to determine if different classes have different base movement speeds.
The data, part 2
We’ll be using two different archers this time.
Archer 1 has mspeed x + 20
Archer 2 has mspeed x
If the calculated movespeed from this is the same as that of the first part, we have evidence that the base movement speed is the same across all classes. If not, f me in the butt.
Archer 1 begins moving at frame 808 and ends at 1079
Archer 2 begins moving at frame 569 and ends at 876
The calculations, part 2
(x+20)/x = 307/271
If we’re right about a mspeed of 150, x+20 = (307/271) * x. We plug in x = 150 and we have….
170 = 169.92619926199261992619926199262.
Now i’ll be darned. I don’t get a buttf-ing tonight :D
Minimization of error
The first possible source of error is the starting position. This is simple to minimize.
I use moonwalk/backdash with HQ/Archer respectively to go as close to the edge as possible. (I don’t want to factor in turning time if there is any)
The second possible source of error is the ending position. This is hard to minimize.
The first thing I did to minimize this is using frames. A large amount of frames will make the error (in frames) almost insignificant.
The second thing I did was use the little circle thing’s position relative to the wall. If two frames have the same circle position, I recorded the first frame as the ending frame.
Effect of +% mspeed on movement speed
We’re going to assume a character moving with 0 bonus mspeed and 0% bonus mspeed moves with 150 movement speed. The previous calculations have assumed bonus mspeed is additive to movement speed. That is, given X bonus mspeed and 0% bonus mspeed, a character moves with 150 + x mspeed. We’ll assume this is correct for the next part, the effect of +% mspeed on movement speed.
Now I can see two ways this will work. Assuming X bonus mspeed and Y% bonus mspeed:
movement1 = 150*(1 + Y/100) + X
movement2 = (150 + X)*(1+Y/100)
= 150*(1 + Y/100) + X + XY/100
We can see by substitution that:
movement2 = movement1 + XY/100
These three equations will be used later on in the calculations.
We will also use the ratio from the previous run: V2/V1 = t1/t2
V1 will be the velocity of the character WITHOUT any bonus mspeed
V2 will be calculated from V1*t1/t2, and compared to theoretical values calculated from movement1 and movement2
We’ll be using:
HQ with 10% mspeed vagabond boots (and no other equips)
Gren with 10% mspeed vagabond boots and +50 mspeed (from skill tree)
Gren with 10% mspeed Vagabond boots, +50 mspeed (from skill tree), and +24 mspeed from set
The third scenario is just to determine if bonus mspeed from skill tree differs from mspeed from set
HQ starts at frame 851 and ends at frame 1341
Gren #1 starts at frame 773 and ends at frame 1149
Gren #2 starts at frame 1006 and ends at frame 1344
From the previous run, the HQ took 538 frames to travel distance D.
In this run, the HQ took 490 frames to travel distance D.
V2 = V1*t1/t2 = 150*538/490 ~= 165
movement1 = 150*(1 + 0.1) + 0 = 165
movement2 = 165 + 0*10/100 = 165
This runthrough was just a sanity test :)
From the previous run, the Gren took 404 frames to travel distance D.
In this run the Gren #1 took 376 frames to travel distance D.
V2 = v1*t1/t2 = 200*404/376 ~= 215
movement1 = 150*(1 + 0.1) + 50 = 165 + 50 = 215
movement2 = movement1 + 50*10/100 = 220
This runthrough gave more evidence to movement1 (that % bonus mspeed is only applied to base mspeed)
Gren #1 took 376 frames to travel distance D
Gren #2 took 338 frames to travel distance D
If we’re correct about the assumption that both mspeed from skill tree and mspeed from equipments are treated equally, then
(1.1*150+74)/(1.1*150+50) = t1/t2
239/215 = t1/t2
(1.1*150+74+7.4)/(1.1*150+50+5) = t1/t2
246.4/220 = t1/t2
t1/t2 = 376/338 = 1.1124260355029585798816568047337
239/215 = 1.111627906976744186046511627907
246.4/220 = 1.12
It still may be too early to conclude which equation describes movement MORE correctly, however I would put my money on movement1.
The complete movement equation would then be:
Variable X – Bonus + movement speed
Variable Y – Bonus % movement speed
Movement Speed = 150*(1+Y/100) + X