by Graf Zahl » Sat Sep 09, 2006 2:52 am
Ugh...
Another messy result of the shitty movement clipping that is close to unfixable. Doom's movement code contains 2 serious design flaws that again work perfectly well together to create an uncontrollable situation. (Flaw one is to separate horizontal from vertical movement, flaw 2 is to make the basic movement check 2-dimensional.)
The bug is caused by the stepping on things check being done in the vertical movement code so when it is detected that the move is illegal it should reset the already performed horizontal movement as well. But thanks to the bad design that is not as easy as it sounds.
BTW, with the old incorrect code this didn't work properly as well because the player didn't even step on the bridge things and therefore couldn't get stuck.
The only recommendation I can give is not to stack bridges so tightly that you can get stuck just by walking on them. Always allow enough vertical space at each position that the player has enough room to stand free.
Ugh...
Another messy result of the shitty movement clipping that is close to unfixable. Doom's movement code contains 2 serious design flaws that again work perfectly well together to create an uncontrollable situation. (Flaw one is to separate horizontal from vertical movement, flaw 2 is to make the basic movement check 2-dimensional.)
The bug is caused by the stepping on things check being done in the vertical movement code so when it is detected that the move is illegal it should reset the already performed horizontal movement as well. But thanks to the bad design that is not as easy as it sounds.
BTW, with the old incorrect code this didn't work properly as well because the player didn't even step on the bridge things and therefore couldn't get stuck.
The only recommendation I can give is not to stack bridges so tightly that you can get stuck just by walking on them. Always allow enough vertical space at each position that the player has enough room to stand free.