Ask the Guru: Hipnotic func_movewall: comments from Jim Dosé |
While working on an example for Hipnotic rotating doors, i stumbled across what appeared to be a strange bug in the Hipnotic func_wall entity, which caused the pieces of the func_movewall section to become mis-aligned. This allowed you to walk over what would appear to be a 90 degree angle. I emailed Jim Dosé for an explanation. (In the example map below, i have removed the actual rotate_object entity, and made the func_movewall entities visible, for testing purposes). The following pictures are the movewalls in the open state (movewall1.jpg) which should show them at a 90 degree angle, but they are slightly offset, forming a stair effect. The second picture (movewall2.jpg) show what happens once the movewall's try to return to the original position. Not that when the map first starts, they are in a flat position. The example map is also available, by clicking on either picture. - autolycus |
|
|
Jim Dosé's Response: |
You hit upon one of my peaves about the rotation. :) I tried a lot of things to get rid of this, but never managed to fix it. There may still be some way to fix it, but we had to get the pack done and it wasn't a major issue. Basically, the reason this happens is due to the fact that you can't absolutely set the position of a bsp entity. If you do, it's possible for the player or a monster to get stuck in the entity. The way I got around this was to have the movewall's use velocity to move into position. While moving, every time the movewall thinks, it sets the velocity to move itself from its' current position to the position it should be. Unfortunately, there is no way to guarantee how much time Quake causes the movewall to think, so there's some error. It's also possible that there's some precision error, but I don't think that it's high enough to cause this much deviation. So, what do you do? Well, we had this problem on the start map. Activision and Id thought it was bad enough that we should either fix it or remove the door you see when you start. We didn't want to do that, so we made the movewall's furthest from the hinge slightly thicker. That way, when the player approaches it when it's closed, he can't walk up it because the upper movewalls block him. - Jim Dosé |
The Forge: The Official Worldcraft Editing Site - ©1997 |