Page 1 of 2

Suggestions from a Maintainer...

PostPosted: Fri Feb 08, 2008 10:34 am
by andylegate
As many of you know, I've been busy creating my Training Ages for the Maintainers, and some personal stuff.

Well I thought it was about time to act like a Maintainer and give AP another spin.

I've already been here a while back and love it very much!

However, I do have a suggestion:

When you first link in, you're in the 400's area. There's a "You Are Here" sign, and a linking book.

Trying to think like a new explorer it suddenly hit me that, you may have people linking in and not have any idea how to navigate.

I would suggest hanging a sign here where you always first link in. But it by the You Are Here sign, and basically make it a Welcome sign. Explain to the new explorer that he / she are only in the one neighborhood, and that too travel to other hoods, they'll need to utilize the linking book. Once they get there, it will be kinda self explanitory. But A welcome sign of some sort would do some good.

Another note: Link in time. Takes me over 72 seconds to link into AP. I know it is due to the size of the thing, but it takes me back to the first version of Uru and how long it used to take to link to Gahreesen.

Is there any way to cut the link in time?

Re: Suggestions from a Maintainer...

PostPosted: Fri Feb 08, 2008 10:47 am
by Robert The Rebuilder
One way to reduce linking time would be to conditionally load portions of the city based on where you link in. D'Lanor described how to do this in his Page Swapping tutorial.

To accomplish this:

- The spawn points and the ground collision under each one need to be moved to a separate page.

- The city should be chopped into 4 separate pages, one for each district.

- All pages (except the spawn points/ground collision page) should have "hide: true" set in the AlcScript.

- Whenever the player links out (going to/from Prin Pahts), the script checks the player's location:

- If leaving the district, page out that district and its shells.
- Else If leaving the Hub, page out everything.
- Else, page out Prin Pahts.

- Whenever the player links in to a spawn point, the script checks the player's location:

- If in Prin Pahts, only page in the Prin Pahts page.
- Else if in the Hub, page in everything but Prin Pahts. (You can see everything from up there.)
- Else, page in the district and its shells.

[EDIT] Oh, crap! I forgot about walking in between districts. Well, we could seal them off from one another so that you must use Prin Pahts to get around. Also, when entering a district, the Hub should always be paged in, because it can be seen from everywhere.

[EDIT2] In case anyone brings it up, relevancy regions won't reduce load time - they only help rendering.

Re: Suggestions from a Maintainer...

PostPosted: Fri Feb 08, 2008 3:10 pm
by Nadnerb
Oh, crap! I forgot about walking in between districts. Well, we could seal them off from one another so that you must use Prin Pahts to get around.
That would be unacceptable. We must be able to walk/ride from district to district, otherwise, they might as well be different ages. The nexus is just for impatient people, who want to get somewhere specific fast.

Besides, you can always just set up a region to trigger the page in script when you walk through it, in fact, that's already possible using alcscript.

Re: Suggestions from a Maintainer...

PostPosted: Fri Feb 08, 2008 4:31 pm
by Aloys
Wow, I hadn't realized this tutorial could be used to this effect. (shame on me). Thanks for pointing that out Robert!
I'd love to use that at some point, but that won't be for the upcoming version, at least if I want to get it out before next christmas. :)
It's definitely on my list for the following update though.

Re: Suggestions from a Maintainer...

PostPosted: Fri Feb 08, 2008 4:46 pm
by Lontahv
Just have a script that has "sleep(5)" buffering a loop that checks your pos. And then have conditional objects.:)

Something like this(don't use this it might make uru explode; NOT PROVEN TO WORK--don't use as-is):
Code: Select all
from Plasma import *
from time import *

avatar = PtGetLocalAvatar()
pos = avatar.position()
draw = ptDraw
AgeName = PtGetAgeName()
objname1 = "<objectname1>"
objname2 = "<objectname2>"
obj1 = PtFindSceneobject(objname1, AgeName)
obj2 = PtFindSceneobject(objname2, AgeName)

def getPosAll():
    x = pos.getX()
    y = pos.getY()
    z = pos.getZ()

while 1:
    getPosAll()
    if x > 100:
        obj1.draw.disable()
    else:
        obj2.draw.disable()
    sleep(3) ##this is the number of seconds that it should wait before updating location
   

Re: Suggestions from a Maintainer...

PostPosted: Fri Feb 08, 2008 5:13 pm
by Lontahv
OK, I've done some experiments and

Code: Select all
draw = ptDraw
AgeName = PtGetAgeName()
objname1 = "<objectname1>"
obj1 = PtFindSceneobject(objname1, AgeName)
obj1.draw.disable()
obj1.draw.enable()


Is proven to work. :)

Re: Suggestions from a Maintainer...

PostPosted: Fri Feb 08, 2008 5:27 pm
by Nadnerb
uhm.. lontahv, this is not related to what they are talking about. D'lanor has written a section on paging in pages, which is different from enabling and disabling drawability. Also, as far as triggers are concerned, we have the ability to use regions to trigger the python scripts.

Re: Suggestions from a Maintainer...

PostPosted: Fri Feb 08, 2008 5:38 pm
by Paradox
The issue with walking between districts is that loading pages on the fly isn't handled on a separate thread. So the game will essentially freeze while it loads the next district.

We need to make sure that we never page out any pages, since those are already loaded into memory and might as well stay there.

There's also the issue that a district full of shells in the future might exceed the load times for the city empty as it is now :?

Re: Suggestions from a Maintainer...

PostPosted: Fri Feb 08, 2008 5:58 pm
by Chacal
Maybe have a lock between districts, with doors. When inside the lock, clicking on a door first displays "loading...", loads the district behind it, then opens the door.

Re: Suggestions from a Maintainer...

PostPosted: Fri Feb 08, 2008 7:36 pm
by Aloys
There are various solutions, but the current state of things is that:
Initial Loading time is on the verge of bearable (over 1:20 minute on my computer which far exceeds the system requirement of Uru)
Framerate in the Age is also bellow average
... and there aren't many shells yet.
Bottom line: something will need to be done about all this after v1, or that Age will run into severe problems. :(

Chacal wrote:Maybe have a lock between districts, with doors
Indeed, at some point there will be buffer zones at various points of the city including the passages between the district (map). They probably won't include actual doors, but shouldn essentially behave the same.