Hello, I'm working on an MMO-y engine, with a large world and lots of players. I'm looking to upgrade my temporary collision algorithm to something more robust, and am getting lost in all of the different articles and options.
I need a solution that is as performant as possible (the more performant it is, the more players I can fit in a world). Here are my constraints:
- All of my bounding volumes are 3D AABBs
- Tunneling may not be a concern, if significant performance can be gained by ignoring it
- Need to support sliding (e.g. running diagonally into a wall)
- Need to support colliding with things that are also moving on the same frame
- No need to support any complex physics, just simple collision detection and resolution
What would a good approach be for my situation? I've seen minkowski differences mentioned many times, as well as all sorts of “test each face”-style algorithms. I've also seen different approaches for e.g. how many times to iterate.
For future people, here are some relevant references:
https://blog.hamaluik.ca/posts/simple-aabb-collision-using-minkowski-difference/
https://katyscode.wordpress.com/2013/01/18/2d-platform-games-collision-detection-for-dummies/