I'm working on a relatively generic 2D AABB collision detection system for a game engine, and I've re-written it more times than I'd like to admit, due to not calculating or recording specific details of each collision. Right now, this is what I'm collecting:
- Collision time as a fraction of an update cycle in the game loop.
- Location of the collision.
- ID of the colliding object.
Each object has a
Set that holds this data for each collision (I'm working with a component/entity system) so other systems can use the recorded data. The problem I just ran into was that I needed to know which side of the object the collision takes place on.
What other values or points of interest should I calculate or record, per collision? What do you look for in a standard collision detection system?