Re: [Plib-devel] Re: KobayashiMaru & plib
Brought to you by:
sjbaker
From: Steve B. <sjb...@ai...> - 2000-08-13 07:05:47
|
Alexander Rawass wrote: > > of and if it does how much the kinetic energy changed etc. If after > > the first collision the object rotates and 0.00001 seconds later a > > second collision occurs that stops the rotation, will you catch it? > > Maybe not. But maybe this precision you talk about isn't needed in > an ACTION type game. Yep - it is. There is one place in Tux_AQFH where this happens. If you are swimming around in one of the pools in which the Killer Whale is swimming, and if you swim up to the side of the pool - so you are colliding with it - then the whale can come up behind you and knock you clean through the polygon - leaving you stuck *inside* solid rock. What happens is that the collision detection first tests you against the wall - decides that you hit and backs you off to where you *just* didn't hit it. That makes you hit the nose of the whale - and the collision detection notices that - and backs you off from *that*. Since it's already checked your intersection with the wall, it doesn't check it again. Even *that* situation can be managed - you just get bounced around between the whale and the wall until you eventually get shaken loose. But what *REALLY* screws you up is that the collision detection of the whale against the side of the pool is done AFTER the collision test of Tux against the same polygon, so the whale's nose can be (temporarily) embedded into the wall by a few tens of centimeters. When Tux bounces off of *THAT*, it pushes him far enough into the wall that he pops all the way through and doesn't touch the wall on the following frame. >From that point on, Tux is inside the solid rock - and *BAD THINGS HAPPEN*. You might think that's pretty rare - but when we took Tux_AQFH to my son's school "Family Math Night" - and the same level way played by about 200 kids over 3 hours - the bug pushed about 10 of them through the side of the pool...which forced me to shut down the game and restart it. So, these apparently subtle things can get blown up into major problems. I'm *told* (although I can't verify it) that the same bug occours in TuxKart if several other drivers 'rear-end' you into the crash barriers in the same frame. -- Steve Baker HomeEmail: <sjb...@ai...> WorkEmail: <sj...@li...> HomePage : http://web2.airmail.net/sjbaker1 Projects : http://plib.sourceforge.net http://tuxaqfh.sourceforge.net http://tuxkart.sourceforge.net http://prettypoly.sourceforge.net |