RW distance formula bug in VOOM

Discuss the Virtual-On series.
User avatar
Porcupine
Virtual-On Positive
Posts: 600
Joined: 19 Jul 2012, 19:07

RW distance formula bug in VOOM

Post by Porcupine »

As I discovered in another recent thread, RW damages vary strangely in VOOM due to the fact that its RW distance formula is bugged. The distance readout the game displays is correct, but the distance calculated behind the scenes to determine the amount of RW damage is wrong. I'll define one universal coordinate system as follows: from the perspective of Player 1 at the start of the round, walking right is the positive x-axis, walking forward is the positive y-axis, and jumping is the positive z-axis. The origin is the center of the map. The RW distance formula is then equal to the square root of (yenemy - xyou)² + (zenemy - yyou)² + (xenemy - zyou)² which applies to both players. (In the game code it is probably written differently. It's actually the normal distance formula, but with the coordinate axes for the opponent being rotated by mistake).

ImageImage

The whacked out formula creates many bizarre phenomena. It includes VR heights, which introduce weird asymmetries. For example at the start of every round, Player 2 does slightly more damage with their RW than Player 1. This is easy to test and verify. But aside from jumping the heights are generally small enough to be neglected, and erasing all z-coordinates simplifies the formula.

After that, the easiest way to think of the bugged RW distance is that it depends on your VR's distance to the center of the map, together with the opponent VR's distance to the center of the map. Your distance should be added to the opponent's distance via the Pythagorean Theorem. That is not easy to understand intuitively, so it can be thought of as approximately plain addition. Alternatively, the bugged RW distance can be thought of as choosing either your distance to the center of the map, or the opponent's distance to the center of the map, whichever is greater at any given moment.

ImageImage

ImageImage

ImageImage

The RW damage is at its lowest when both VRs are at the edge of the map, even if they are standing right next to each other. This is part of the reason it is so common in VOOM to get stuck on opponents while doing close dash attacks at the edge of the map, trading hits and afterwards getting chopped by their CC. Two VRs standing next to each other at the edge do the same RW damage as two VRs on opposite ends of the map.

ImageImage

The final aspect of bugged RW distance is that your x-coordinate actually links directly to the opponent's y-coordinate, sign included. This creates a unique possibility of distance subtraction, which is incorporated in the original complex formula, but was ignored in all my simplified rules above. Under this scenario, at specific positions the bugged RW distance can be less than expected, possibly even zero (for maximum RW damage). Even stranger, when this happens the bugged RW distances for both players can be totally different from each other.

ImageImage

ImageImage

There is major RW damage advantage in the above scenarios. Basically it is better to move east and west on a stage, as opposed to north and south, due to the possibility of such situations arising (east beats north, while west beats south, north and south beat nothing). This rule is the same for both players. In the greater scheme of things such perfect situations are rare, but this rule applies for any positioning to a lesser extent. This should not deter you from moving north or south though when fleeing, as the opponent's RW damage is still typically reduced. This rule may mean it is better to flee clockwise around the edges of the map, and chase counter-clockwise.