Nested zones and interiors
by John Doppler Schiff · in Technical Issues · 06/02/2006 (3:23 am) · 10 replies
Hi guys,
In the project I'm working on is set in a space station. Picture an enormous hollowed-out donut (the hull) with a city crammed into every nook and cranny of available space within. There is no terrain block; everything in the game space is an interior (in theory).
I try to take pity on peoples' computers, so only one arc of the hull is in memory at any given time. I've placed portals across the hull at strategic locations, and portals across the doorways of the buildings.
However, I'm running into scenegraph traversal errors griping about the hull belonging to multiple zones. Can one place interiors with portals within another portaled interior, or is that a BSP no-no?
Can anyone suggest a better way to implement a massive interior like this?
Your help is greatly appreciated!
-- John
In the project I'm working on is set in a space station. Picture an enormous hollowed-out donut (the hull) with a city crammed into every nook and cranny of available space within. There is no terrain block; everything in the game space is an interior (in theory).
I try to take pity on peoples' computers, so only one arc of the hull is in memory at any given time. I've placed portals across the hull at strategic locations, and portals across the doorways of the buildings.
However, I'm running into scenegraph traversal errors griping about the hull belonging to multiple zones. Can one place interiors with portals within another portaled interior, or is that a BSP no-no?
Can anyone suggest a better way to implement a massive interior like this?
Your help is greatly appreciated!
-- John
#2
I've already taken a modular approach to constructing things within the hull, so that wouldn't be a problem at all. Everything divides neatly into discrete segments, and it's all been mapped out.
I'd like to keep the hull if possible, because it's a strong, unifying element to all the different parts of the station. No matter where you are, the monolithic grey hull is overhead or underfoot, and the cold vacuum of space beyond that. In the preliminary walkthroughs, it really lent an ominous mood to the game.
I've avoided DTS's because I was under the impression that large ones were brutal CPU hogs. It would be great to have a transparent dome overhead to show off some fancy whizbang space textures, though... Hmmm. Maybe I can extend the buildings to cover more hull space, and use modest-sized DTS's for the exposed segments.
Time to do some experimenting...
06/02/2006 (4:32 am)
Thanks for the input, Johan!I've already taken a modular approach to constructing things within the hull, so that wouldn't be a problem at all. Everything divides neatly into discrete segments, and it's all been mapped out.
I'd like to keep the hull if possible, because it's a strong, unifying element to all the different parts of the station. No matter where you are, the monolithic grey hull is overhead or underfoot, and the cold vacuum of space beyond that. In the preliminary walkthroughs, it really lent an ominous mood to the game.
I've avoided DTS's because I was under the impression that large ones were brutal CPU hogs. It would be great to have a transparent dome overhead to show off some fancy whizbang space textures, though... Hmmm. Maybe I can extend the buildings to cover more hull space, and use modest-sized DTS's for the exposed segments.
Time to do some experimenting...
#3
Didn't know about large DTS being CPU hogs. Can anyone confirm/deny and/or give a rationall explanation? :-)
06/02/2006 (8:27 am)
Sure. Let me know how it turns out :-)Didn't know about large DTS being CPU hogs. Can anyone confirm/deny and/or give a rationall explanation? :-)
#4
i know you want to avoid DTSs as large collision objects because they've got crappier collision than DIFs,
but it sounds like the player wouldn't actually be coming in contact with the space-station hull, so who knows.
experimenting sounds good here..
06/02/2006 (8:34 am)
Not i.i know you want to avoid DTSs as large collision objects because they've got crappier collision than DIFs,
but it sounds like the player wouldn't actually be coming in contact with the space-station hull, so who knows.
experimenting sounds good here..
#5
06/02/2006 (8:36 am)
I believe that one of the main problems with large DTS's is that they are unportalled. You can set the LOD, though. You will have to change the source to make sure that their visibility is not culled as you pass the midpoint of a huge shape.
#6
Isn't the problem with large DTS that they consume memory (might hog the CPU as well?)?
Making the same shape by combining ajacent smaller DST would, 1. resuse memory byt duplicating the same shape, 2. make use of LOD, what one single DTS wouldn't do (it would have the same LOD state, e.g. highest resolution).
Would it be possible to use Anthony Lovell's "Attachable SceneObjects in Hierarchical Coordinate Spaces"
www.garagegames.com/index.php?sec=mg&mod=resource&page=view&qid=9093 for
creating the hull? Would that be a good idea? For instance if the hull would move, the parts move in unison?
Are there performs problems related to use large compositions with ASOHCS?
06/02/2006 (12:35 pm)
David: As I understand John's design his hull DIF would be in one single zone anyway, so portals would't be used?Isn't the problem with large DTS that they consume memory (might hog the CPU as well?)?
Making the same shape by combining ajacent smaller DST would, 1. resuse memory byt duplicating the same shape, 2. make use of LOD, what one single DTS wouldn't do (it would have the same LOD state, e.g. highest resolution).
Would it be possible to use Anthony Lovell's "Attachable SceneObjects in Hierarchical Coordinate Spaces"
www.garagegames.com/index.php?sec=mg&mod=resource&page=view&qid=9093 for
creating the hull? Would that be a good idea? For instance if the hull would move, the parts move in unison?
Are there performs problems related to use large compositions with ASOHCS?
#7
I revamped the hull as reusable DTS segments with glassy, translucent panes. There are four simple planar collision meshes to keep wayward players from taking an unintended spacewalk.
With 12 of these monsters in view and no LOD implemented, there's a drop in frame rate, but it's quite manageable. And the space backdrop with nebulous clouds makes for gorgeous eye candy.
I had no problems with hull segments being prematurely culled, but apparently, Torque 1.4 introduced a new property on SceneObject, setGlobalBounds, that designates the object as having an infinitely large bounding box. I haven't experimented with it, but it should deal with the visibility problem on very large shapes without stepping in a steaming pile of source code.
I'm off to check out that ASOHCS resource. Thanks again, everyone!
EDIT: booched, typed DIF when I meant DTS.
06/03/2006 (4:44 am)
HAH! Worked like a charm! Thanks, guys!I revamped the hull as reusable DTS segments with glassy, translucent panes. There are four simple planar collision meshes to keep wayward players from taking an unintended spacewalk.
With 12 of these monsters in view and no LOD implemented, there's a drop in frame rate, but it's quite manageable. And the space backdrop with nebulous clouds makes for gorgeous eye candy.
I had no problems with hull segments being prematurely culled, but apparently, Torque 1.4 introduced a new property on SceneObject, setGlobalBounds, that designates the object as having an infinitely large bounding box. I haven't experimented with it, but it should deal with the visibility problem on very large shapes without stepping in a steaming pile of source code.
I'm off to check out that ASOHCS resource. Thanks again, everyone!
EDIT: booched, typed DIF when I meant DTS.
#9
Oh, here's a very quick and dirty screenshot of the new setup.
With the nebula and star cloud layers drifting past, you really get the sense of being on a ship cruising through space; much better than the underground shopping mall atmosphere it had previously.
Thanks again, guys! I appreciate the help!
-- JohnDopp
06/05/2006 (5:52 am)
Me too! =) I figure another 6 months to a year of development, and we'll be ready to roll.Oh, here's a very quick and dirty screenshot of the new setup.
With the nebula and star cloud layers drifting past, you really get the sense of being on a ship cruising through space; much better than the underground shopping mall atmosphere it had previously.
Thanks again, guys! I appreciate the help!
-- JohnDopp
#10
06/06/2006 (1:01 am)
What a teaser! :-) Thanks John. Can wait :-)
Torque Owner Johan Carlsson
Skip the hull? And just use modules that link together into a donut-like shape.
Or you just have to make "modules" that have a specific location in regard
to the hull shape (being a part of its form). But that would be less flexible,
because the location of a certain module type would be predetermined,
at least in side its arc section if you follow?
Could the hull be done as DTS:es?
(That would make it possible for parts of it to fall of and need a repair-by-spacewalk.
I guessing you will have spacewalks :-)