Another slow start today. Nothing done in the morning. As well as the time passing crazy fast in the afternoon. So I’m disappointed in the amount of work I did today.
Previous attempts to fix the collision algorithm were based on some wrong ideas. That’s what I found out for myself today. It probably worked fine as long as rotation wasn’t taken into account. But the only problem left was that rotation was still not working great with the collision algorithm.
I was looking into how to fix this using the Separating Axis Theorem (SAT) or any other collision detection method. However I was thinking and looking at the wrong part of the problem. The Separating Axis Theorem has been proven to work in my code. What doesn’t work is the resolution of the collision. So what happens when there is a collision? That part needs work.
I struggled to figure out what to do when rotation came into the mix. And it has all to do with how do you resolve your collisions. The SAT will tell you if a collision has happened, but what happens after that? For linear movement it was somewhat easy. But once rotation came into play I had to seriously think about collision resolution. I clearly didn’t as I was just no aware.
Now that I am aware I have to come up with something. Luckily I found a paper describing three methods on how to handle collision. But I do want to try to come up with something myself. As the current algorithm I use is pretty robust. It tries to not let the collision happen instead of fixing any collision after the fact. Which I really like and should also handle fast moving objects better.
It’s just a question now of when am I going to work on this? I can’t afford to work another month sorely on this… My motivation will dive back to 0 if that happens. But this also needs to be fixed before I can do any movement testing.