Sign in to follow this  
Barius

"Forbidden Zones" in 3D Games

Recommended Posts

This is something I've encountered in several 3d games (most recently Okami): There are objects (houses, rocks, etc.) which look like you should be able to jump (and stand) on them, but when you try, you either bump against an invisible wall or slide off really fast. I haven't seen anything like that in 2d games. I could think of two reasons why someone would put those in a game: - The game designer not wanting the player to go where he didn't intend him to go. But most of those objects are not near the edge of a map or would allow access to game areas too early in the game. - Insurance against bugs: the collision detection might have subtle glitches, and the programmers don't want the player being stuck in a wall or something. So they lock all "dubious" objects. These are just speculations as I'm not familiar with 3d physics/collision detection. Does someone else know why these zones are used?

Share this post


Link to post
Share on other sites
Your speculations are indeed correct.

Quote:
- The game designer not wanting the player to go where he didn't intend him to go. But most of those objects are not near the edge of a map or would allow access to game areas too early in the game.


1. Many games have linear progression - some do use temporary obstacles to force you down a certain path. The less obvious it is, the better the sense of immersion the player feels in the game world.

2. Even if the object itself isn't at the edge of the map, if climbing up it allows the player to see past/over the edge of the world, a lot of games will stop you from doing that. Other games use strategies where the camera is restricted for certain areas/levels.

Share this post


Link to post
Share on other sites
The more vertices you have in a collision object, the more expensive the collision test. So you wrap complex objects in simple cubes or spheres or capsules.

Also, every building that you want to have detailed collision needs to have an artist model that collision. if you just want a simple shape you can easily write a little app to generate it thus saving millions of dollars.

To some extent, though, that's a design failing. Generally you want all jump-onable objects to share similar graphical or size properties and make that consistent. So everything that looks like you should be able to jump on, you can.

2D games generally just use pixel collision which is already pretty cheap. There's not the extra step of modeling a collision volume or doing expensive 3D math.

-me

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Quote:
Original post by Barius
These are just speculations as I'm not familiar with 3d physics/collision detection. Does someone else know why these zones are used?


They're used because the designers wanted you to:
Quote:
Original post by Barius
bump against an invisible wall or slide off really fast.

Share this post


Link to post
Share on other sites
I'm just guessing, but one problem with different heights is AI path finding. It's sometimes hard to make a good pathfinding routine that deals with variations of height. Making platforms off limits would eliminate that problem, so it's possible it was done to make it easier for your enemies to navigate.

An example would be Thief: The Dark Project, where jumping on a table would confuse the AI. If there was no table to jump on, the AI would have been pretty good for 1998.

Share this post


Link to post
Share on other sites
Quote:
Original post by Binomine
I'm just guessing, but one problem with different heights is AI path finding. It's sometimes hard to make a good pathfinding routine that deals with variations of height. Making platforms off limits would eliminate that problem, so it's possible it was done to make it easier for your enemies to navigate.

An example would be Thief: The Dark Project, where jumping on a table would confuse the AI. If there was no table to jump on, the AI would have been pretty good for 1998.


Nah, with a proper designer-placed node-graph different heights shouldn't be that much of a problem. I don't think it's a reason to restrict movements on objects like tables. Though it depends on the game, yeah.
I think placing such invisible walls has more to do with either lazy or time-pressed level-designers*, or design decisions (think of race games or games where freedom of movement is less important). Collision hulls are often simpler than the visual hulls, but that usually results in just minor differences for most geometry.

*I'd place an object on such locations that clearly looks like it's impassable. Most guys I hung around with when I was still creating levels for Half-Life preferred that approach, because invisible walls aren't good for immersion... :)

EDIT: There's another reason to restrict a players movement, and that's performance. You may want to restrict the player from moving to a point where too much is visible, dropping the framerate. I haven't seen this coming up a lot, but I found it an interesting reason nonetheless.

Share this post


Link to post
Share on other sites
Some 3D games use pushers at edges of a wall, so you don't stop because your shoulder hit a wall that was sticking out, which you intended to pass. I think Quake 1 did that, but I'm not sure.

The effect you describe could also often be seen in Battlefield 1942 ;)
I think it's just not properly done, that's all.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this