16 April 2021

Among Us - Travel Distance

One of the methods that didn't make it into my Among Us seminar paper is distance measuring. Instead of the exact, I used graph distance. Since given the states of the latter one, they aren't compatible.

What Unit Would Our Speed Be?

We define speed as the distance something moves within a specific time frame. In Guild Wars 2, we could convert between in-game units and meters.[1] However, Among Us doesn't have this to my knowledge. So, alternatively, we need to abstract this by creating a custom unit. We could choose rooms per second, players per second, and so on, but I've decided on the standard vision per second. Thus we can measure rooms in vision distance. Furthermore, if a room's wall distance is higher than one, players can't see it whole within their vision sphere. 

Measurement Of Movement Speed

ApproachAmongUsVelocity
Ill. 1: The approach to measuring velocity given
 crewmate vision ~GreenyNeko
To measure the velocity, we create a lobby with four instances. While you can do this with friends, it also works using Bluestacks instances. We use the recommended settings for the room (which we can consider as the standard settings). For the measurement, any map with a big room where you can walk in linearly will do. I decided to use the cafeteria of the Skeld. We place one of the players in the middle, and the other player will walk into the vision cone on one side and out on the other side, as demonstrated in the image on the right. A decent way to measure the velocity is to record the player's movement from the stationary player's view and then check how many frames have passed between entering and leaving the vision bubble. With the first frame at 78 (=1.3s) and the last at 335 (=5.5833s) the resulting speed is one player vision in 4.28333s or 1 crewvision / 4.28333 seconds = 0.23346cv/s.

Measuring The Map


SkeldWithDistances
Skeld with most distances measured ~GreenyNeko

Now having the player movement speed, we can use it in combination with the time it takes to get from one point to another to determine the distance of walls and hallways. These tools allow us to measure the whole map and use the data to approximate how long it takes us from one spot to another. The image on the left shows the result for the Skeld map. We can do this for the other maps, but I'll leave it at Skeld for this post. When we sum up the horizontal and vertical distances, we get the total distance approximation from one point to another. However, since players can walk diagonally, the sum is an overestimation of the shortest path.

Conclusion

An example of this would be the distance from navigation to the reactor.
Given:

Navigation to Weapons: 0.307cv+0.074cv/2+0.218cv+0.144cv+0.189cv = 0.894cv
Weapons to Cafeteria:0.116cv+0.125cv*2+0.237cv+0.198cv = 0.801cv
(guessing missing distances) 
Cafeteria to Upper Engine:1.012cv+0.237cv/2+0.77cv = 1.9005cv
(including the button) 
Upper Engine to Reactor: 0.397cv/2+0.339cv+1/3*0.498cv = 0.7035cv

In total that's 0.894cv+0.801cv+1.9005cv+0.7035cv = 4.299cv 
This would take a player 4.299cv / 0.23346cv/s = 18.414s. With a quick check on mobile and approximately reaching around 18s (Well 20s minus getting stuck twice and starting/stopping the timer), our calculation isn't too far off. We can do this for each room and enter the distances into a graph. Alternatively, we can take an already created graph and sum the distances for it.

[1]https://www.greenyneko.com/2018/01/guild-wars-2-velocity.html
Liked the post? Noticed an error? Wanna discuss the content or leave a comment*? You can join or check into the discord to do so! (*Note: Comments are disabled to avoid saving user data on this website.)
>> Join Discord

About Me

My photo
I'm a junior game developer and software developer and I created this blog to share my ideas, thoughts and whatever I'm working on or doing.