Cleaning Up Instancing

Community, Project, and Forum Suggestions

Moderator: OpenUru.org Moderators

User avatar
Marten
Member
Posts: 180
Joined: Fri Dec 26, 2008 1:19 am

Re: Cleaning Up Instancing

Post by Marten »

I did say that belford's idea needs cleanup.

And I don't think players would be doing Yeesha magic; they'd be using tools that Yeesha had created into the books.

Anyway, I'm going to try to take a stick to belford's ideas and whip them into something a little better.
The music is reversible, but time is not.
Owehn
Member
Posts: 7
Joined: Sun Dec 14, 2008 1:47 am

Re: Cleaning Up Instancing

Post by Owehn »

I'm glad such thoughtful people are looking at these issues, balancing game mechanics with IC considerations.

My opinions on the linking rules for instancing seem not to be uncommon:
  • By default, linking books in an instanced Age go to identically instanced Ages.
  • Exceptions should be clearly and systematically marked.
As examples of the first rule in action, I think that linking books in a global Ae'gura (like back when there was only one) should lead to similarly global instances of the Ages they depict (such as a totally public Teledahn, or Kadish); neighborhoods should contain linking books which link to neighborhood-instanced garden Ages; and an Eder Kemo book in my private instance of Eder Gira should always lead to the my private instance of Eder Kemo, regardless of who is linking. This seems to be most intuitive for players - linking to and from Eder Delin and Eder Tsogal was like a breath of fresh air! - and has the bonus of making most sense from an in-universe standpoint. (In my head this maxim is called "functoriality", as in, "I reject your reality and substitute my _.")

Of course, there must be exceptions (else people in private or public instances would never be able to leave them). So I think that exceptions to the above rule should be made as explicit as possible. Perhaps a Yeesha symbol for those books which lead to the private instance of the linker, and a DRC stamp for books which lead to globally-shared instances (like the old Ae'gura) from any instance of an Age, but I'm not particularly attached to those ideas.

I do have a significant extension of the above ideas in mind as well, one which subsumes the existing notions of neighborhood or private instance. I think that any party of players should be able to own an instance accessible to that party, so that every (instance of an) Age has an "instancing index" corresponding to a party of players. For example, my private Eder Gira has an instancing index of "Owehn", while my neighborhood has an index of "The DLF" and a globally-shared Ae'gura would have an index of "The Whole Population". However, if two other players (say, A and B) and I want to explore Teledahn together, we should be able to create a party called "The Mathmos" (or some more unique name) comprising the three of us, and an instance of Teledahn whose instancing index is "The Mathmos", so that we may explore it together without disrupting our own private instances or being disturbed by others. (The reason I want to associate an age instance to a party name, rather than a list of players, is that it allows the party to be manipulated without having to modify the owners list of each Age belonging to the party separately.)

I do agree with Belford that there should be different classes of permissions on instances, from "owner" through "manager" and "member" to "visitor", but I believe that these should not be a property of the Ages themselves, but rather of their instancing indexes, i.e. the parties that own them. Hence visitors for the party "The DLF" will have visitor status in any of the Ages with instancing index "The DLF". I think this works particularly well with the "functorial" linking rule I proposed above: a linking book would (by default, at least) connect two "identically instanced" Ages, and instancing corresponds to the party to which the Age belongs, so your permissions status in an Age is preserved as you link from one Age to another. I think the subject of permissions is rich and deserves its own topic, which may exist somewhere here already, but I do think that permissions and instancing should be just two sides of the same coin.

As for in-game implementations, there are a few ways these things could be incorporated. For example: As you are standing with the open linking book occupying most of the screen (ready to link through if you desire), two options appear: one over the Relto book at the bottom left of the screen, and one over the KI symbol next to it. Clicking on the Relto button adds a personal Age instance to your Relto, while clicking on the KI opens an interface allowing you to give an Age instance to any party for which you have appropriate permissions (e.g. parties of which you are a member), a link to which appears in the Nexus list of anyone with appropriately less powerful permissions (e.g. visitors to that party). (Either of these options may of course be absent or present for only exceptional linking books.) It may even be desirable to incorporate another of Belford's ideas as follows: as soon as a new instance is created (or, with the following in mind, selected) via either of those options, the linking book (still open in front of you) then would link you to that instance if you so chose (a link shift might be visually represented by brief Riven-esque static, or something similar). That would make several tasks much easier and less repetitive: Want to collect private links to all the museum pods? Just walk up to each one, add a personal link to your Relto, then back away - all without creating link-lag! How about planning a swimming party in Ahnonay? Form the instance ahead of time with a new party name, and then let the permissions to it spread virally to anyone who wants to come. What if you're more spontaneous? Create the new instance (or use an old one), then in the same breath, share that book with the people around you, and link through yourself. Want to collect a private link, but visit a globally-shared instance first? Hit the Relto-book option to add a private link in your Relto, then the KI option to select a link to the one party everyone belongs to: "The Whole Population". Ta-Da, you're in a public instance of the Age.

As far as IC considerations go, I just can't see any reasonable way of reconciling the existing disparity between Yeesha magic and D'ni tech like KIs and the Nexus. Instance-creating belongs in the Yeesha-magic domain, yet seems to be possible with Nexus-produced-neighborhood-instanced garden Ages. In the permissions scheme I outlined above, the gap gets even wider: either the KI or Nexus has to be capable of producing arbitrary instances of almost every Age, or the Relto book (or another talisman of Yeesha-magic) has to navigate player lists and permissions settings. The switch to explorer-written Ages might actually make things smoother, though: it is very plausible to use the KI to automate printing a new descriptive book for an Age and adding it to the Nexus, which (according to the linking rules handed down to us by RAWA) would link to its very own instance of the Age. In that case, the example in-game implementation of instancing I described above would be perfectly legitimate: the KI function would have a non-magical explanation, and the Relto function would be one it has already demonstrated: remotely adding new personal instances to Relto.

If you've made it past that wall of text, I salute you. Thanks for listening to my ramblings on what I'd like instancing to be!
Grogyan
Member
Posts: 64
Joined: Sat Dec 20, 2008 8:18 am

Re: Cleaning Up Instancing

Post by Grogyan »

T_S_Kimball wrote:
Grogyan wrote: Pop limit I hear you ask, the limit I believe was set at 200 with easily coping with 500, gone now are the days when walking across Takotah Plaza would be 1 foot per 5 to 15 minutes

This is one of the major factors I believe why the game didn't take off like it should, because of the interaction of players to actually mingle with other players in a random location, this is the stance with Second Life which is still going strong
Out of curiosity, where did that metric come from? My experience with past St Pats Parades tell me that figure doesn't work as well as you think.
My experience of the St pats parade that I joined in for the first time
http://www.youtube.com/watch?v=7IK86KYw ... annel_page

Pop 187 when I arrived and able to move around alright

200 when Ahnonay arrived
http://www.youtube.com/watch?v=AF6HOwkm ... re=channel

As you can see the problem is mostly rendering lag, the stutter you see is what happens when someone arrives in your instance, this may be able to be improved


I still believe that all books and all stones take you to a public instance by default, exceptions would be Relto that always take you to a private instance and the Nexus which has tabs for traveling to a private, shared or public instance of an Age

There are symbols for crying out loud that allows sharing, lets use them properly
To link yourself to a private instance from a Bahro stone, click on the symbol then on your avatar -> simple

I'd like all books that are in a public place to stay public, when on arrival only the immediate area can be explored, this works as a teaser
Clicking on the symbol inside the book "activates" the Ki meaning that the book is available to you in the Nexus

The above point has an extra advantage, by turning on and off that inside page, means that you can tease people for a little while before the major release of the Age.
I'm sure the D'ni had ink that reacted to the KI so that is an IC thing
BladeLakem
Member
Posts: 9
Joined: Sun Dec 14, 2008 2:35 am

Re: Cleaning Up Instancing

Post by BladeLakem »

I think we are still confusing the issues of 'ease of use' and 'IC continuity'.

I think that public and private as labels confuses things a little.
Let's define instances slightly differently - let's define them by their 'root'. That is, the place where one must be to get to that system of instances.
There are three types of 'root' instance - Nexus, Relto, Neighborhood.
1) All links to Nexus lead to a private Nexus (to prevent crowding more than anything else) - however all instances of Nexus are considered the same root.
2) All links to Relto are through the Relto book and lead to a unique root instance (and thus unique to the person).
3) All links to a neighborhood link to a root instance neighborhood that is unique to that 'hood group'.
4) All other links (of any type) lead to an instance of the same root as they originated in.
5) To get to instances of another root, you must pass through a root instance.
6) Except for Nexus links, all links take all players to the same instance.

Nexus
7) All links to Neighborhoods link to the appropriate hood (as per rule 3)
8) All other links lead to common a 'Nexus instance'

Relto
9) All links lead to Relto instances that are unique to that root.

Neighborhood
10) All links lead to Neighborhood instances that are unique to that root.
So, if you are in Nexus, you go to Nexus instances. If you take a link in a Nexus instance, you end up in a Nexus instance. If you are in someone's Relto, you go to instance attached to their relto, etc.

From an IC perspective, this puts all Relto instancing in the category of Yeesha Magic, since instancing in general is Yeesha magic. The handwaving comes around neighborhood instances, since it crosses the line. You could posit Yeesha Magic on thos ebooks, or just say "um yeah, the D'ni had a lot of books to there...Really..." (Though I personally don't think that's any sloppier than just tossing Yeesha magic in.)

Now, inviting... one way to do it would be only to allow invites to roots. That is, you can invite people into hoods, or you can invite them into your Relto. From there one can make it to the more 'private' instances. Or you could allow inviting into Relto-rooted instances. Maybe the invite system for them could be moved into the Relto book itself (like a back page that works like the KI invite system).

---

Or lets think a bit more out of the box. If it's done through Nexus, it's D'ni and follows D'ni rules. All links in Nexus go to public instances. All links in public instances go to public instances.

Now, instancing in general, from an IC perspective, is Yeesha Magic. So let's declare that all instancing has to be done through Yeesha stuff. Instancing and D'ni Writing are on opposite sides of the fence completely. Private instances all go through Relto. All links in private instances go to private instances. Invite system for them is moved into Relto or the Relto book as well.

All links would lead to the same class of instance - public to public and private to private. The exceptions would be links to Nexus, and Relto Books.

Let's reconsider Neighborhoods
Option 1- Neighborhoods are separate instances of the Cavern as opposed to just generic, limitless places in the Cavern. That's why they all look the same - they are just instances of the same place. Take links to them out of the Nexus entirely. You can only get to them through Relto. Move the invite system into Relto or into the Relto Book. Links in neighborhoods go to hood-private instances, as they are just private instances.

Option 2- Leave the concept of neighborhoods as in the same instance of the Cavern and consider them to be public instances. All public instances link to public instances - including links in 'hoods. So all Eder Delin books in the hoods go to the same Eder Delin. All Er'cana books in the Watcher's Pub go to the same instance of Er'cana, etc. Private instancing of any sort is purely through Relto. The invite system in the KI only works for the neighborhoods themselves.

Option 3 - Like option 2, but we add something new. Each group can get a neighborhood (or ignore hoods as group-ownable entirely), and they can get their own Yeesha magic hub Age - call it Urto - the Gathering Place. Links in Urto are 'private instanced' to that Urto. Your Relto now has an extra book - your Urto book. This book has a page for each Urto you have membership in, plus an invite system as per the Relto invite system. Or maybe it houses the invite system for private and group instances both. So we have a Nexus system which is public and a main D'ni age which complies with the D'ni rules of writing, a group area and group instancing scheme that is consistent with Yeesha Magic through Urto, and a private instancing scheme through Relto.

Now, collecting links for Relto. Maybe just have a symbol on the left page, instead of a share symbol, which you click to add the link to Relto. It only appears on those books where that are collectible and they were placed there by Yeesha or Bahro. Or when you use a link, before you link, there is a long pause, your relto book flashes like it does when you touch a relto page.
realXCV
Member
Posts: 257
Joined: Sat Dec 13, 2008 2:07 am
Contact:

Re: Cleaning Up Instancing

Post by realXCV »

BladeLakem wrote:Now, instancing in general, from an IC perspective, is Yeesha Magic. So let's declare that all instancing has to be done through Yeesha stuff. Instancing and D'ni Writing are on opposite sides of the fence completely. Private instances all go through Relto. All links in private instances go to private instances. Invite system for them is moved into Relto or the Relto book as well.
Invite system itself is Yeesha Magic so if you don't want to keep it with d'ni technology (KI and Nexus) you have to put it in the Relto. However, if it's only through Relto, when one crashes in a visited age, then one must meet the age owner and redo all the Relto sharing process. With KI invites, the player can go back in the age by itself.
User avatar
Marten
Member
Posts: 180
Joined: Fri Dec 26, 2008 1:19 am

Re: Cleaning Up Instancing

Post by Marten »

*takes a deep breath*

As far as I see things, there isn't really a perfect solution where instancing can be made into something used only from Relto. It's important not to enforce such a design because elsewhere, some people are discussing how one might play through Uru without a Relto at all... and as I find that idea somewhat attractive, I'm disinclined to offer an instancing solution that would only be usable by part of the population in Uru. We can keep instancing as a form of Yeesha magic... but that means we're going to require that players take at least that as a gift from Yeesha.

As with other suggestions I've made, I'm not going to address population limit problems. My feeling is that to make instancing work elegantly and intuitively in Uru, we need to look at how the concept is applied in other games. The description of instancing dungeons at wikipedia is pretty clear on how it should work.

From that, I came up with the following proposal.

We can simplify instancing if every book in the whole game (except Nexus, Relto, and 'hoods) permits the player to link to one of two versions of an Age: The original Age, or the journey Age. A small bookmark, similar to Yeesha's bookmark cloth, will appear on every book interface allowing the player to link to the journey instance in lieu of the public one. It may be implied that this bookmark is overlaid onto the book by the avatar, that it is something the player carries - like Relto is carried.

The Original (Public) Age

The original Age is the real place, typically unmodified by Bahro or Yeesha, open for all explorers. No Bahro doors. No cloths. Puzzles in this Age are in whatever state the explorers have set them. Rewards are generally absent from these Ages; players will not be able to obtain relto pages, clothing, or puzzle rings. These Ages are places to hang out, explore, and have parties. Minkata in particular would be in whatever state for that Age is truly the present (likely the night version, I'd guess).

The Journey (Private) Age

The journey Age is the private instance controlled by the leader or organizer of a group of explorers who have banded together. If the explorer has not grouped with others, he or she represents a party of one, led by him or herself. The journey Age contains the Bahro doors, cloths, and rewards that represent progress in the game. Individual Age permission tabs in Relto are removed - not necessary. Per-Age Invitation system is only for Neighborhoods - no private links to personal Ages in Nexus. Book sharing is removed - not necessary. All of these items were clunky methods for managing one's privacy. In place of these, members of a group will have the ability through any book to link to the journey Age controlled by the group leader/organizer. If you don't want someone in one of your Ages... any Age... don't invite that person to your group. Invite trusted people because they will have access to all of your Ages.

If you are the leader and you have not collected a specific Age's book - say Ahnonay Cathedral - then players in your group will see a disabled "journey" bookmark in the Ahnonay Cathedral book while they remain a member of your group. The game interface will indicate, if the player attempts to use this disabled bookmark, that the party leader has not yet collected the link.

When a group is dissolved, and players are in another person's journey Age, then upon leaving that Age those players will not be able to return to that instance. Players will find that their journey bookmark, when not grouped, takes them to their own instance of the journey Age instead.

The journey bookmark will have a different appearance to indicate when the link will take the player to his or her own Age (either not in a group, or when that player is group leader) or to another player's Age.

The above system also ensures that while you are disconnected from the game, no players will be able to link into any of your Ages. If you left a party in-tact in one of your Ages, when you disconnect, the party leader will change, and as those players link elsewhere they'll have the option of going to a public Age or linking to the new leader's Age. If you reconnect, the new leader may reassign the leader roll back to you.

Nexus, Relto, Neighborhoods

Nexus always links to a private instance and there is never a journey link in that book.

Neighborhoods always link to their specific "public" instances. There is never a journey link in that book.

Relto's primary linking panel always takes the player to his or her private Relto. Panic linking will always use the player's private Relto. While in a group, a journey bookmark will appear that will permit the player to link to the group leader's Relto. When not in a group, no journey bookmark will be present.

Why this system is better

The key to this solution is that although it is less flexible in some ways, it adds flexibility in others, and it is incredibly SIMPLE.

It is easy to tell what a link will do when you click on it - the system is very consistent and provides intuitive visual cues.

It is easy to use - players can form expeditions and visit Ages with minimal fuss; long lines do not have to form for one player to share a book with many others. Just logged in and want to join a party in Minkata? Ask the party organizer to add you to the party group - pull your Minkata book out of the bookshelf - and link.

Traveling with a group between Ages, such as from Eder Gira to Eder Kemo? As long as everyone in your Gira is in your party, they'll go to your Kemo. If someone wishes to link to their own Kemo, they can; all they need to do is disband from your group.

Picking up the Kadish Tolesa book in the real, public Ae'gura? You can choose if you want to go to original Kadish Tolesa, or the journey instance. Picking up the Ae'gura balcony link in Kadish Tolesa? Same option - you can pick which of the two versions you want to visit.

The above approach takes instancing out of the KI and Nexus, moves it to the books (where it really belongs), and leaves it to be just a touch of magic (perhaps the bookmark that allows one to reach private instances is the reward for solving Cleft, rather than Relto). While doing this, the design moves closer to the way other MMOs have implemented instancing. This is the way things need to be if we want Uru to succeed.
The music is reversible, but time is not.
Baron
Member
Posts: 16
Joined: Tue Dec 30, 2008 3:43 am

Re: Cleaning Up Instancing

Post by Baron »

Well, Yeesha is part of the story, but maybe we can leave her out of this. (This is a storyline-oriented notion about instancing. Please forgive me if this thread was meant to mostly be about the technical solution.)

"Yeesha Magic" itself has never bothered me. I hate the aspects that have Bahro sounds attached, but I can easily buy that she's the greatest hacker of the Art in history. Someone had to be. She had gifted parents, and her capabilities (instancing, intra-Age linking, Age-revising and maybe linking to formerly-lost Ages) make sense as the result of judiciously ignoring the Guilds' old restrictions on what can be written.

The hard thing to rationalize is why she's still giving out party favors. Relto is bad enough. She clearly had a motive, back when Uru was first supposed to launch. But now... ?

So, please tell me how this sounds. We can expect that the DRC has been trying to reverse-engineer the Art. Actually, they have probably spent the past decade looking at a Guild Hall full of technique primers they've never shared with us.

And now they've seen what Yeesha came up with. What if we say that your Journey Age scheme (which I really like) is a hack that the DRC worked out? Maybe they found a way to deliberately engineer an imperfect link between a linking book and a descriptive book. Kind of like the incident in the first novel when SPOILER! (after Gehn has butchered a descriptive book) Atrus links to what he hopes will be a familiar Age and meets a woman who doesn't remember feeding him soup.

Does this make sense? Use the imperfect link, get a private instance. Use the original link, get the descriptive book's (public) instance. No Yeesha.
Owehn
Member
Posts: 7
Joined: Sun Dec 14, 2008 1:47 am

Re: Cleaning Up Instancing

Post by Owehn »

I'm a bit unclear on Marten's idea:
  • Is it the case that each person can only belong to one group at a time?
  • If someone belongs to a group, does that person have no access to his private Ages?
  • If the group's Ages are the private Ages of the leader, what happens to them when the leadership role changes?
Hopefully all of these questions make sense.
User avatar
Marten
Member
Posts: 180
Joined: Fri Dec 26, 2008 1:19 am

Re: Cleaning Up Instancing

Post by Marten »

Owehn wrote:I'm a bit unclear on Marten's idea:
  • Is it the case that each person can only belong to one group at a time?
  • If someone belongs to a group, does that person have no access to his private Ages?
  • If the group's Ages are the private Ages of the leader, what happens to them when the leadership role changes?
Hopefully all of these questions make sense.
Yes, they do make sense. I thought the 3rd one would be clear from my original description, but here is more detail.
  1. Each person can only belong to one group at a time. (A group is an ad-hoc gathering for exploration only; it is not the same as a neighborhood or a chat channel, although the group should have a group chat channel because they may not all be in the same Age. If members of a neighborhood wish to gather in the same Age aside from their neighborhood, they'll need to form a group - neighborhood instanced Ages do not exist under this proposal.)
  2. While partied with a group, unless you are the group leader, you do not have access to your own instances of the Ages. But if you leave the group, you'll then have access. Any person can leave a group at any time. Leaving a group does not cause a person to link out, but future linking into Ages will put that person into his or her own Ages; if you are exploring in a friend's Eder Gira, and leave the group, then use the Kemo book, you'd link to your own Kemo.
  3. When the leadership role changes, anyone in the party linking to other Ages will then link to the Ages owned by the current leader. The only point of a 'leader' role at all is to determine whose Ages are used when the group links. Let's say that 4 people want to band together and sequentially solve each other's Ahnonay. The group forms under an initial leader or organizer, and solves that person's Ahnonay. Then the leader hands control of the group to the second person. The group members can link back to their Reltos or Nexus, and right into the next Ahnonay and begin solving it. No new invitations need to be sent.
The music is reversible, but time is not.
Alahmnat
Member
Posts: 21
Joined: Tue Dec 16, 2008 1:52 am

Re: Cleaning Up Instancing

Post by Alahmnat »

Marten wrote:Each person can only belong to one group at a time. (A group is an ad-hoc gathering for exploration only; it is not the same as a neighborhood or a chat channel, although the group should have a group chat channel because they may not all be in the same Age. If members of a neighborhood wish to gather in the same Age aside from their neighborhood, they'll need to form a group - neighborhood instanced Ages do not exist under this proposal.)
I like this. I actually like this a lot, right down to groups getting their own chat channel. This would cut down on the amount of buddy chat spam that was often so irksome to players in Uru (and even more irksome to ResEngs ;)).
While partied with a group, unless you are the group leader, you do not have access to your own instances of the Ages. But if you leave the group, you'll then have access. Any person can leave a group at any time. Leaving a group does not cause a person to link out, but future linking into Ages will put that person into his or her own Ages; if you are exploring in a friend's Eder Gira, and leave the group, then use the Kemo book, you'd link to your own Kemo.
I like this a bit less, to be honest, because it does start combining two different actions (linking to your Age instance and linking to a group Age instance) onto one trigger, and it removes access to your personal instances entirely. While I'm somewhat hard-pressed to come up with a situation where going to a personal instance away from the group would be necessary (beyond Relto, perhaps), I don't think we should be removing access to a player's stuff at any time for any reason. While it does re-introduce some complexity, perhaps adding a Group bookmark on a Linking Book when you're part of a group (rather than replacing the personal bookmark) would work as well. This way you still have access to your Age, and you also have a unique control to assign to group exploration. The rest of the proposal works out just as you've described, with one possible exception:

While it's quick and convenient for management purposes to disband a party as soon as its creator leaves the game, I think it creates a few problems in terms of playability if the party leader crashes or needs to leave briefly for any reason. In such situations, the group is stuck, because they can no longer continue exploring the Age they were working on together until the leader returns and re-claims the leadership role in the group. For the sake of consistency and reliability in the event of an unexpected problem with the leader's connection to the game (and for the sake of simplicity so we don't have to somehow determine programatically who gets the leadership role in such situations), groups should persist until the leader either assigns someone else to be the leader manually, or until the leader disbands the group entirely. Players should be advised that a group will have access to their instances even when they're not online in some manner.

As for group management and setup and all that, I think this is one situation where we're going to have to bite the bullet and combine D'ni tech with Yeesha Magic. The KI is already the interface used to manage buddies, photos, and text notes, the latter two of which are sorted into Age folders. There's an understanding and an expectation that the KI be used to manage all aspects of buddy interaction and Age exploration, and for the sake of gameplay, I think it's important that we not try to over-complicate the UI for the sake of clean canon mechanics (this is a game, and canon is expected to bow to the requirements of good gameplay). While it doesn't really make sense from a canon perspective, it certainly makes sense from a player's perspective to manage an exploration group through the KI (since their buddies are already in the KI in the first place) and automagically get all of the benefits of cooperative exploration that Marten lays out, even if it does require using Yeesha Magic to visually and canonically execute.

(Neighborhood membership could certainly stand to not require Relto to work, but that's for another thread, I think ;)).
Post Reply

Return to “Suggestions”