Portal Mechanism For Ahra Pahts

A community Age for Uru.

Moderator: Aloys

Paradox
Posts: 1295
Joined: Fri Sep 28, 2007 6:48 pm
Location: Canada
Contact:

Re: Portal Mechanism For Ahra Pahts

Post 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 ;)
User avatar
Lontahv
Councilor of Artistic Direction
Posts: 1331
Joined: Wed Oct 03, 2007 2:09 pm

Re: Portal Mechanism For Ahra Pahts

Post 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
Currently getting some ink on my hands over at the Guild Of Ink-Makers (PyPRP2).
D'Lanor
Posts: 1980
Joined: Sat Sep 29, 2007 4:24 am

Re: Portal Mechanism For Ahra Pahts

Post 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
Last edited by D'Lanor on Tue Apr 15, 2008 7:21 am, edited 1 time in total.
"It is in self-limitation that a master first shows himself." - Goethe
User avatar
Robert The Rebuilder
Posts: 1383
Joined: Sat Sep 29, 2007 7:24 am
MOULa KI#: 1299
Location: Virginia, US

Re: Portal Mechanism For Ahra Pahts

Post 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.
Can we rebuild it? Yes, we can - here's how.

MOULagain KI# 1299

Myst Movie coming soon - spread the word!
User avatar
greendragoon
Posts: 280
Joined: Tue Oct 02, 2007 9:54 am
MOULa KI#: 3028557
Location: Stuck in Indiana because the cavern door is locked.
Contact:

Re: Portal Mechanism For Ahra Pahts

Post 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.
Robert "greendragoon" Starbuck
As Long as there is MORE,
I will explore.
And as long as my Relto shelf is unfilled,
I will build.
Jojon
Posts: 1116
Joined: Sun Sep 30, 2007 5:49 am

Re: Portal Mechanism For Ahra Pahts

Post 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
Nadnerb
Posts: 1057
Joined: Fri Sep 28, 2007 8:01 pm
MOULa KI#: 23247
Location: US (Eastern Time)
Contact:

Re: Portal Mechanism For Ahra Pahts

Post 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?
Image
Live KI: 34914 MOULa KI: 23247 Gehn KI: 11588 Available Ages: TunnelDemo3, BoxAge, Odema
Paradox
Posts: 1295
Joined: Fri Sep 28, 2007 6:48 pm
Location: Canada
Contact:

Re: Portal Mechanism For Ahra Pahts

Post 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.
User avatar
Lontahv
Councilor of Artistic Direction
Posts: 1331
Joined: Wed Oct 03, 2007 2:09 pm

Re: Portal Mechanism For Ahra Pahts

Post 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
Last edited by Lontahv on Tue Apr 15, 2008 3:46 pm, edited 1 time in total.
Currently getting some ink on my hands over at the Guild Of Ink-Makers (PyPRP2).
Paradox
Posts: 1295
Joined: Fri Sep 28, 2007 6:48 pm
Location: Canada
Contact:

Re: Portal Mechanism For Ahra Pahts

Post 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.
Locked

Return to “Ahra Pahts”