
HSR, Occlusion, what to use?
Hi folks,
long time since I''ve posted on this forum... but hey, I just got back into coding 3D (kinda lost momentum in my switching from windows to linux...).
So, yesterday, I went to see a movie in our local mega-cinema complex (Underworld btw... good film, go and watch it
), where they have some PS2 boots for our entertainment whilest waiting for the picture to begin. There was this game, JAK 2, which I found rather nice... especially since it had a nice 3D engine going for it.
It''s an action-adventure type game, with a continuous world; seemless loading, and the likes...
Now, I would like to build an engine that does exactly this type of thing... think "Omikron: The Nomad Soul" on the PC... Big outdoor city-type areas, and indoor areas with some nice detail levels.
I Basically want to create a world in which the player can move (pretty much) freely, and create a mood to go along with it.
Now, I have two questions: what kind of culling/hidden surface removal algorithms should I use (octree? bsp? portal? something else? combination? ... ?), and are there any known game file formats available for this type of game, so I don''t have to start mucking around trying to make an editor of some sorts...
I''m assuming Q3 levels aren''t very suitable for large outdoors city areas?
Thnx in advance for your suggestions, and may the source be with you...
Danny

It''s not simply a point of culling this and that.
No matter what kind of algorithm you use, what''s really needed here is a way to do loading of other parts of level while running.
I guess this involves multithreading and some architectural designs in the code - it''s much more than just culling.
This has been developed on consoles more than on PCs because consoles are usually strict on memory.
In general, BSP is not well suited for large areas because it would begin pile up a lot of polygons and PVS by just splitting spaces.
Q3''s BSP is much better that Q2''s BSP at that I but I think I don''t think is strong enough to manage a lot of complexity.
No matter what kind of algorithm you use, what''s really needed here is a way to do loading of other parts of level while running.
I guess this involves multithreading and some architectural designs in the code - it''s much more than just culling.
This has been developed on consoles more than on PCs because consoles are usually strict on memory.
quote:
I''m assuming Q3 levels aren''t very suitable for large outdoors city areas?
In general, BSP is not well suited for large areas because it would begin pile up a lot of polygons and PVS by just splitting spaces.
Q3''s BSP is much better that Q2''s BSP at that I but I think I don''t think is strong enough to manage a lot of complexity.
Previously "Krohm"
Allright, I get what you are saying on the loading part... seems to me that''s something I can figure out on my own... the thing is, where will I find data in a suitable format to test and play with?
Owkay, I might consider using something like 3DSMAX and build a plugin of some sorts... (although I''ld like to stay away from commercial software, especially the € 3500.00 costing kind, especially when it doesn''t even run on my OS of choice
)
Would gtkradiant be suitable for this type of thing? Maybe cutting in before the compile to bsp, and using the .map format?
My biggest fear in this project is starting with the wrong concept for my data structures and needing a collosal rewrite along the way... I really wanne think this through befor I start coding
And then... test data... where to find test data...
Looking forward to hear some more ideas...
Danny
Owkay, I might consider using something like 3DSMAX and build a plugin of some sorts... (although I''ld like to stay away from commercial software, especially the € 3500.00 costing kind, especially when it doesn''t even run on my OS of choice

Would gtkradiant be suitable for this type of thing? Maybe cutting in before the compile to bsp, and using the .map format?
My biggest fear in this project is starting with the wrong concept for my data structures and needing a collosal rewrite along the way... I really wanne think this through befor I start coding

And then... test data... where to find test data...

Looking forward to hear some more ideas...
Danny
I''m in a similar situation. I''m looking at BSPs pretty favorably right now, but I have to decide between those and octrees. I''m aiming much less at large areas, however (I''ll use a continuous loading thread for those) but more at dynamism -- I want models that I can take apart, rearrange, collide, etc. When I finally make a more informed decision I''ll let you know, but those are definitely the frontrunners.
--oberon
--oberon
Not sure if Q3A level designers uses that feature but I know quake2 and quake3 has a special entity called "area portal".
The area portal forces a split in a BSP tree. This split is toggled by the state of the door which triggers the area portal.
So, by default, the door is opened and the split is enabled.
When the door is triggered split is disabled.
Back in Quake2, this was one of the biggest advantages you could get. There''s a map in Q3 (it has a strange name which I don''t remember, maybe dreadkrewz or something) which uses areaportals. It has some water and a Quad nearby. There''s a megahealth and RL in the same yard. The same level has BFG. Take a look at how it works if you can.
Now, how can you use this at your disposal? Seems like areaportals actually spawn a whole new BSP tree so, if you can mess up a little with them maybe you can split them in multiple files (do not do that with original Q3 maps you cannot). Once you have those multiple files, then you could try to use that as test data.
The area portal forces a split in a BSP tree. This split is toggled by the state of the door which triggers the area portal.
So, by default, the door is opened and the split is enabled.
When the door is triggered split is disabled.
Back in Quake2, this was one of the biggest advantages you could get. There''s a map in Q3 (it has a strange name which I don''t remember, maybe dreadkrewz or something) which uses areaportals. It has some water and a Quad nearby. There''s a megahealth and RL in the same yard. The same level has BFG. Take a look at how it works if you can.
Now, how can you use this at your disposal? Seems like areaportals actually spawn a whole new BSP tree so, if you can mess up a little with them maybe you can split them in multiple files (do not do that with original Q3 maps you cannot). Once you have those multiple files, then you could try to use that as test data.
Previously "Krohm"
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement
Recommended Tutorials
Advertisement