Oddbean new post about | logout
 The thing people don't know about 3D physics (and the games that rely on them) is that there aren't 3 axes. There are six. The X, Y, Z stuff is just linear positioning. You still have to account for angular positioning with Yaw, Pitch and Roll and learn how convert between them cleanly without a variety of mathematical and systems errors that are often hard to perceive, hard to fix and hard to plan for.

You need to understand geometric calculus just to implement basic 3D logic. When you have to worry about pathfinding and AI, that multiplies issues and when you add in multiplayer and all of quasi-temporal maths and logic problems that causes, the move to 3D is exponentially more complex than 2D. 
 @1c8b82b6 @Living Space Studios @Alex Gleason to be fair - multiplayer always adds a layer of complexity to the architecture and it is much easier to build an engine multiplayer-first than adding it on top of existing systems 
 True. But the motion interpolation algorithms used by networked video games become significantly more complex when you have to account for six dimensions instead the three most "2D" games have to account for. Plus the data throughput needs to be a lot higher which means better socket management and pre-socket data compression/simplification. 
 @Living Space Studios if I remember correctly, Unreal and Source never rotate its network-synchronized colliders 
 Presumably they rely on the Transform values. Tying physics directly to networking is very unreliable. 
 Yaw, Pitch, and Roll. I feel like I should have learned this at 6 and am fascinated by it.

https://media.gleasonator.com/6b6f45b8ce01655d5a4fc406c8540cc0774feedbfc802196970c9b1d7598c0d6.jpg 
 Dont look into it, there are a lot of papers written on a hundred and one way to rotate something, its insanity inducing. 
 Don't I know it. 
 I needed a simple script to rotate something, and i had to convert coordinate systems, and degrees because default function "rotate(x)" took only one argument and it was euler rotation (or something like that), to avoid gimbal axis lock. And I just needed to turn around an object, but I have to read all about that bullshit. 
 Yep. Wait until you try to implement your own physics and have to worry about torque vectors versus linear momentum or accurately approximating surface contact manifolds.
Before Pajeets soiled the term, "Software Engineer" used to be an actual branch of Engineering. 
 @Living Space Studios 

Then you have N-levels of derivation of those, speed, acceleration, jerk, jounce, crackle, pop ;-)  Well, beyond jerk can probably be ignored.

@1c8b82b6 @Alex Gleason @52aee7fd