Take the 2-minute tour ×
Game Development Stack Exchange is a question and answer site for professional and independent game developers. It's 100% free, no registration required.

I'm looking to understand and find the terminology for what causes - or allows - players to interfere with geometry in old games. Famously, ID's Quake3 gave birth to a whole community of people breaking the physics by jumping, sliding, getting stuck and launching themselves off points in geometry.

Some months ago (though I'd be darned if I can find it again!) I saw a conference held by Bungie's Vic DeLeon and a colleague in which Vic briefly discussed the issues he ran into while attempting to wrap 'collision' objects (please correct my terminology) around environment objects so that players could appear as though they were walking on organic surfaces, while not clipping through them or appear to be walking on air at certain points, due to complexities in the modeling.

My aim is to compose a case study essay for University in which I can tackle this issue in games, drawing on early exploits and how techniques have changed to address such exploits and to aid in the gameplay itself. I have 3 current day example of where exploits still exist, however specifically targeting ID Software clearly shows they've massively improved their techniques between Q3 and Q4.

So in summary, with your help please, I'd like to gain a slightly better understanding of this issue as a whole (its terminology mainly) so I can use terms and ask the right questions within the right contexts. In practical application, I know what it is, I know how to do it, but I don't have the benefit of level design knowledge yet and its technical widgety knick-knack terms =)

share|improve this question
    
Prevention is the cure?: gamasutra.com/view/feature/3015/… –  muntoo Jan 6 '11 at 8:21

3 Answers 3

I can think of a couple of potential reasons.

First is that the geometry in these games is rarely "airtight". While working on a 3d game project we talked with a PVS technology provider, who processed some of our levels through their system and showed that perfect PVS data is impossible due to the holes in the geometry. These holes are not visible; I'm talking about t-intersections and floating pointy inaccuracies etc.

Sometimes physics just manages to blow up because the players hit the geometry "just right"; geometry that, while visually perfect, isn't mathematically so.

The second reason that I can think of, to quote Tim Sweeney - making realistic game physics is difficult. Floating point calculations are surprisingly inaccurate. There's plenty of articles about this on the net (for instance, http://docs.sun.com/source/806-3568/ncg_goldberg.html is a pretty good one). Add to that the fact that we're talking about online games with all their interpolations, predictions and such, and you get a rather unstable system, which still somehow manages to work.

share|improve this answer

If I understand correctly what you are talking about, then its dealing with framerates and the short cuts taken to get physics, and collision in general, to run in a reasonable manner in video games.

Basically you would do the movement, collision and reaction calculations over the time step of each frame. What if the time step of the frame with the current forces were enough to push you Into an object.. A wall or narrow passage say, that you normally would not be able to enter? Well the system has to 'eject' you from the object.. Depending on how this ejection was done it could result in a very large force applied over a very small time that may Not get you all the way out of the object.. The force could build up over 2-3 frames and pretty much just send you flying.

I am not 100% sure this is the actual case as mentioned in Quake 3, but I know in learning to develop games this is the type of example they would use to explain why the strangest things happen some times when you do not take into consideration all the time within a time step.. most physics engines I have worked with will use some sort of a set time step to do its calculations (This includes the people that nVidia bought :)). If a frame rendered to fast, the physics do not get calculated that frame, if the next time step is over that set value then enough to make a complete step is taken, physics is calculated, and that bit of time is used as the new point to add each next frame's time to before the next step.

Hope this helps give you some ideas of what to look for.

share|improve this answer

Regarding Quake 3: I remember websites with quite in-depth analysis of strafe-jumping and their relation to current framerate, including some mathematical formulas behind it. Quick google search turned out this site: http://www.funender.com/quake/articles/strafing_theory.html looks preaty good, but I'm almost sure it's not the one I saw before.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.