Archived

This topic is now archived and is closed to further replies.

Ferinorius

Pre-Rendered backgrounds and hidden geometry theory

Recommended Posts

Ok, what I have gathered from the experts at gamedev is that Pre-Rendered backgrounds, in the style of Final Fantasy and the Resident Evil series, are constructed of Bitmaps or other types of artwork, that is rendered before hand with software, Maya (Chrono Cross)or other 3D software. To Restrict Player Movement: This is done by a means of using hidden geometry and stuff like that. My question is how is this done? How is hidden geometry stored, declared, or any of those things? How can it be stored along with the file, is it stored along with the file? What kinds of things go into utilizing this means of collision detection? Everything else can fall into place, but can someone further explain how hidden geometry is created, and used. Any and all help would be nice. Neo-Toshi - The City That Never Sleeps Edited by - Ferinorius on January 12, 2002 2:15:53 PM

Share this post


Link to post
Share on other sites
It''s not that difficult as you think.
This is not a new invention, even Monkey island use this kind of gameplay.

Well, i don''t EXCACTLY know how they do it, but this how i would do:


Say you have a scene on a street. you got a road going from left to right, you got an ally going straight "into" the image, and a bit to the left there''s a car parked.

We want to control a person that can walk on the street and into the ally, but not into the building (That would look weird), nor the car.

First, we need some kind of koordinate system to base everything on. we take the X axis going from left to right, and Y going "into" the image.
Now you have a person that walks in the scene the right way.
If he goes "deeper" into the image he gets smaller, and so on.

Now, the only thing missing now is the collision detection.
We have the koordinates for the person. Now we create a "virtual" version of the scene, which is described top down, where we tell where the person can and can''t go.

For example:

OOOOOO^OOOOOOO
OOOOOO OOOOOOO
OOOOOO OOOOOOO
< ssss x >
< OOO >
< >
OOOOOOOOOOOOOO

where O''s are areas where the person can''t go, the "arrows" are triggers which says "change scene" or something, and x is the position of the person. The person is stanging on nothing, so he can stand there, but if goes a step up, the "virtual" scene says no.

That''s about it. Of course, there''s a lot of issues to take care of. for example. the person can''t walk on the car, but he can walk BEHIND the car. This means that the program must "feel" when the person is present behind the car (on the s''es,for example), and draw the car separately at that point.

Electron

"Your truth can be changed simply by the way you accept it."


Share this post


Link to post
Share on other sites
if i were to use this method of rendering, i''d probably use
a vector collision network..
its pretty simple in theory, i''ve used it for irregularly shaped
collision networks in direct draw, i''d assume it''d be
equally simple in any other API..
for this type of collision network, you''d essentially create a
tool that would display your image, or "map", and you''d just
click away drawing lines around what would be solid or unpassable
objects.
to test for collision, in your engine you''d simply test if the lines
of the vector network and the lines surrounding your character''s
impassable bits have intersected or not.
there are probably easier ways to do it (like hidden polygons, ect),
this is just the method i prefer since i''ve done it a few times.

-eldee
;another space monkey;

Share this post


Link to post
Share on other sites
Right, I am thinking along the lines of the hidden polygon thing, myself. Now, let''s take it a notch deeper .

How is such a "hidden geometry" and "hidden polygons" stored? In a simple array? In a lookup table?

I have never ever explored this kind of thing, so I dont know how to do it. I want bare bones now, how is this done? What kind of data is the hidden geometry?


Sorry if I sound tremendously STUPID, I''m just trying to learn.

Share this post


Link to post
Share on other sites
Sheesh.

All I am asking for is how do you do hidden geometry? Can someone point me to some tutorials or other helpful links to tell me about collision detection with hidden geometry?

Any help would be welcomed. Take care all!

Share this post


Link to post
Share on other sites
I''m not sure what kind of engine you''re thinking of, but could you just make them regular polygons that are completly transparent?

Share this post


Link to post
Share on other sites