DEV Community


A Consideration on Server Side Physics for a 3D Multiplayer Game Regarding Rotations in 3D Space

webdva profile image Jermaine Easterling Originally published at ・2 min read

I'm sharing my insight that I recently gained while trying to obtain the capability to make a 3D multiplayer game for the success of a program that I'm involved in.

Implementing Rotations in Three Dimensions

My current understanding of the phenomenon of rotations in three dimensional space yields the speculation that using the rotation formalism shown below with the ordered matrix multiplication of individual axes (as described here) could be beneficial for implementing server side 3D physics, namely due to its comprehensiveness and apparent ease of implementation.

3D rotation matrix

The implementation of rotations in three dimensions using the above proposed basic rotation formalism would likely incur a technical performance penalty in the server side physics subsystem due to the need for the management of nine parameters for each physical entity combined with the frequent multiplication of matrices. Even though sub-par technical performances are acceptable for this program as performance (or quality) is the most flexible program constraint, this technical performance would place a limit on the number of effects achievable, such as a large scale multiplayer game product.

The Client-Server Communication Aspect

Also, thanks to lessons learned from the development of the prototype of a 2D multiplayer game, it is predicted that, with the existence of a feature that allows the player to aim in three dimensions, engineering the subsystem of uploading the player's avatar's intended 3D rotation from the client to the server would incur a high development complexity cost and thus would be detrimental to this program's success.

My Determination

As such, the implementation of rotations in multiple axes is an unfavorable action given the program constraints.

Note that this determination still allows for the development of an effective 3D multiplayer game product, but only with the successful exploitation of program constraints.

Discussion (0)

Editor guide