The very first games I coded were made in Axe, so I got used to doing pixel-level-perfect collision, because it was the best way for it. However, as I want to start developing games on larger scales, I need some help understanding how collision is done on engines that have objects moving at speeds faster than one pixel at a time.
For example, the attached video is a program of mine own, made in Python. It's a simple physics engine, but the block never has a speed bigger than one pixel, and I am using Fixed Point (x256) to get more precision.
I know, though, that on larger games objects need to move faster, but collision still works pretty well.
X = X + HORIZONTAL_ACCELERATION;
Y = Y + VERTICAL_ACCELERATION;
Basically, what I thought was. Instead of doing the code above, do:
While i < HORIZONTAL_ACCELERATION
Check_Collision();
X++
End
So, I thought I could add a bit of acceleration at a time, and check for collision all the time. However, I'm not sure if this is a very good idea, because I can't do X++. Sometimes, acceleration is negative.
I'm wondering if any of you has any idea of how collision is done on games, thanks!