Page 4 of 10

Re: Portal Mechanism For Ahra Pahts

PostPosted: Mon Apr 14, 2008 8:54 pm
by Paradox
Hiding can be accomplished with RelevanceRegions very easily.

Aloys had mentioned that he already knew where he was planning to put regions, so i just have to convince him to try exporting with the new plugin ;)

Re: Portal Mechanism For Ahra Pahts

PostPosted: Mon Apr 14, 2008 10:20 pm
by Lontahv
*keep ranting on about how ClusterGroups would save the day*

I think we should have some kind of paging out--just something very flexible, because I don't know about you guys but pretty soon I won't be able to run AhraPahts because I only have 512MB of ram (if it won't fit into that, i'm sunk). When people add more content--unless we make harsh rules about numbers of faces/shell--it's going to grow to a horrible size. I think the trick would be to have the shells be illusions, let me explain.

You have district, then it has python controlled object vis. So, you go to the end of a district and then it warps you to the next one(there are only two of these districts) and sets the apropriate vis things (ie. make visible the wall at the end of the street, make visible the super-fountain) then page-in only the fan-content. This will lead to a quick warp and only a minimal loading time for the fan stuff.

Using this idea you could make an endless maze, the only things that would have to be decided would be your rotation and your entry-point. :)

Welcome to the quantum world, AhraPahts. ;)


~Lontahv

Re: Portal Mechanism For Ahra Pahts

PostPosted: Tue Apr 15, 2008 4:06 am
by D'Lanor
Robert, you are still going with the paging? Just so you know here is another problem I found with that.

Do the current shells have any Python code that executes at OnServerInitComplete? That function will never be called if the corresponding prp is not initially loaded. You will have to move your code to OnFirstUpdate. You cannot use __init__ to call SDL variables because at that point they are not yet available which will cause an error.


Edit: corrected typo

Re: Portal Mechanism For Ahra Pahts

PostPosted: Tue Apr 15, 2008 5:23 am
by Robert The Rebuilder
Nadnerb: excellent idea! As you pointed out, we wouldn't need any extra geometry to accomplish that scheme (and quite frankly, the imposters were a pain). Since Aloys is decomposing the city into subdistricts (that's where I got the diagram from), I decided to adapt your scheme for that resolution - see Figure 1 below.

Figure 1 Show Spoiler


This shows a person (represented by the dot) walking through the subdistricts. As they enter a new subdistrict, it pages in/out the appropriate subdistricts.

Paradox: perhaps the relevancy regions could be used to hide the recently paged-in subdistricts until they are visible through the intra-subdistrict doorways?

Lontahv: we definitely could use ClusterGroups for the pedestals and linking books. With regards to your warping idea: we would require imposters to represent the adjacent districts (which are actually located farther away), and tunnels to make the imposters look somewhat convincing.

D'Lanor: we're still doing the paging in order to have Ahra Pahts run on machines like Lontahv's. You're right: we will need to move code to OnFirstUpdate() instead of OnServerInitComplete(). But I figure that's a small inconvenience compared to not being able to run Ahra Pahts at all.

Re: Portal Mechanism For Ahra Pahts

PostPosted: Tue Apr 15, 2008 8:18 am
by greendragoon
Your may still need imposter for the view at the top of the central tower. A view by the way that I would love to see kept. You could make a rule that anyone who designs a shell high enough to be seen from there, has to submit a uber-low res version. Something like 100 polys or something like that.

Re: Portal Mechanism For Ahra Pahts

PostPosted: Tue Apr 15, 2008 10:20 am
by Jojon
Ah yes!

Paging in sub-districts (or "cells") adjacent to the one you are in, with low-detail versions showing for of paged out ones and cluster groups for Frequently Used Objects. Sounds excellent - we may manage to reimplement Oblivion in Plasma yet. :9

Re: Portal Mechanism For Ahra Pahts

PostPosted: Tue Apr 15, 2008 1:39 pm
by Nadnerb
As I said, Pahts has built in visibility blocks, there should be no need to burden content creators with impostor versions of their shells. The hub should not need an impostor at all, it should just stay permanently paged in, as it will be visible from anywhere in the city, and it shouldn't be so detailed that it will cause any issues.

Also, about the "view from the central tower" that could be problematic, and it may be a good idea to either a) not make impossible to climb the tower, or b) page the entire age in, but only make it accessible via a link from the nexus area, so the load time is covered by the link. (which, incidentally, fits the current hub design)

Also, if relevanceRegions are used, then we can safely forget about paging districts out, as a) the page in system saves the initial age load time and b) the page out is not necessary to save framerate, because the formerly paged in regions will be rendered invisible by the relevance regions.

Also, how is Aloys breaking up the districts like that without messing with the shell locations? Won't new thick walls require people to move their shell data?

Re: Portal Mechanism For Ahra Pahts

PostPosted: Tue Apr 15, 2008 3:25 pm
by Paradox
ClusterGroups really can't be of any help here. The only uses that we have as examples are for small brushes and plants, and none of those examples ever have collision.

Again, I think that Paging Out is a really bad idea, since it makes everything slower overall due to reloading PRPs that could already have resided in memory.

Re: Portal Mechanism For Ahra Pahts

PostPosted: Tue Apr 15, 2008 3:38 pm
by Lontahv
I think the things like street should be made to have almost no load on the engine(I don't know how yet)--the actual user content can be loaded all the time(or at least never be paged out). The problem now is that an "empty" city is hard on a computer. :P Imagine it full. <.<

Uh and Paradox that's not true about all ClusterGroups being non-colliders. Those brown cylinder stone things in Minkata are cluster-groups. Cluster-groups contain size info so, I'm thinking that there's only one or two "master" ones of those. Dustin's CC Minkata had no Cluster-classes so, those things were missing (along with the collision).

Colliders are also not that much to load into mem (no textures simple geometry) so, if there really CAN be no collision with Clusters, no big deal, just have them for visuals.

~Lontahv

Re: Portal Mechanism For Ahra Pahts

PostPosted: Tue Apr 15, 2008 3:44 pm
by Paradox
The reason that the empty city is so hard on the engine is because it's rendering everything, whether you see it or not (PyPRP doesn't generate any Binary Space Trees, and nobody has used VisRegions or RelevanceRegions).

RelevanceRegions are very easy, you just create one, and *woosh* suddenly half the city isn't rendered anymore. It's much faster and much easier than trying to deal with objects that we don't understand.