DEV Community

webdva
webdva

Posted on • Originally published at webdva.github.io

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

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.

Top comments (1)

Collapse
 
kristyovchar profile image
Kristy Ovchar

Thank you for your detailed explanation of your understanding of the implementation of rotations in 3D space and its impact on performance and client-server communication. Your analysis and determination to consider software limitations is very valuable. I am sure that your experience and understanding will help you develop an effective three-dimensional multiplayer game product, taking into account all limitations. Good luck with your project!
servreality.com