Forums / DQ: Empires - Community / Suggestions / Krong Acceleration X Relative time to arrival
Posted ByMessage
cansato
[ Posts : 57 ]
[Post Date: 01-Sep-2004 23:27]

It is possible to change the input method to jump m-nodes?

I would like to inform the RTTA that I want, then the game calculate the necessary Acceleration to do this and the Extra energy needed.

In some situations, the acceleration values result in the same RTTA:

To jump from [364:1269] to [600:1260] with no acceleration, the RTTA is equal to 236. If I type a acceleration 27 results RTTA is 9, if I type 37, RTTA = 6. When I type 28, 29, 30, 31 in the acceleration field, the RTTA results the same value: 8. To the acceleration 32,33,34,35,36 the RTTA is 7. It is a lot of work to find the correct value to type in the acceleration field.

Green
[ Posts : 1005 ]
[Post Date: 02-Sep-2004 10:11]

Nice idea. I think this is possible. The one things remained - to solve RTTA equation
cansato
[ Posts : 57 ]
[Post Date: 02-Sep-2004 19:42]

Quote
Nice idea. I think this is possible. The one things remained - to solve RTTA equation


If you need some help and if you would want, send me the acceleration equation and I change to a RTTA formula.

I'm good with calculations!!!
Green
[ Posts : 1005 ]
[Post Date: 03-Sep-2004 11:04]

Heh, You stil did not explored script`s internals ?
The RTTA formula is in wnodes.js (it is included in M-nodes page) - look from line 50.
If You are not familiar with JavaScript, the formula is the following:

x = abs(cp_x-tp_x);
y = abs(cp_y-tp_y);
rtta = round(round(sqrt(x*x+y*y))/acceleration);

where
(cp_x,cp_y) - current node position
(tp_x, tp_y) - target position
abs() - return the absolute value, (abs(-2)==2)
round() - return the rounded integer (standard math round, round(1.45)==1, round(1.5)==2)

If acceleration is less than 1 it become 1; if it more than 100 - it become 100;
Because You can get different acceleration for the same RTTA, You must find the lowes one - to consume less energy.
Note: the results may differ by 1 - because different browsers can have different JS realization, but this is just informative field.

Also note to all "c00l hackers": we discard any info about RTTA received from client on the server side, it is calculated again by server code, but it has the same code (but in C, not in JS - we have and UDF).