PDA

View Full Version : Visual groupings


Seidl
09-25-2000, 11:01 AM
I've noticed that its a little strange to walk into a room filled with people (10 or more) and instantly see everyone who's inthe room. Maybe there should be more levels in the visual groupings?

I'm thinking that if you enter a room with 5 or fewer people, you see everyone's name. If you enter a room with 5-15 people, maybe you see everyone who should stand out, and the rest are lumped into "a crowd". If you examined the crowd you could still se everyone however.

You could then take this one stpe further and do things like large crowds (bigger groups and some chance of missing people even when examining the crowd). This would also extend to looking into a room from a distance. You could automatically move one level up the hierarchy. So if I looked down from the balcony into a room I might not be able to identify everyone in even a small group (5 people or so) without taking the time to examine the group.

Just some ideas to spark discussion of the tech. http://www.skotos.net/ubb/wink.gif

-=- Matt aka. Martel

Velvet
09-25-2000, 08:49 PM
This note is only vaguely related to Martel's, but it fits under the topic heading so I'm going to go ahead and post it here.

One thing that's come up in bug reports is the problem of how multiple seats look and work. This is the problem where you're in a room such as the Lecture Hall or Dining Room, which is described as having a whole lot of benches/chairs/etc, and it looks as though everyone who's sitting on a seat is sitting on the same one seat.

Currently, it works like this: you're in a room with a bunch of chairs, and you sit on a chair. A perfectly reasonable thing for you to do.

You see: "Velvet is sitting on a chair."

So far, so good. Then Zell comes in and, quite reasonably, sits on a chair.

You see: "Velvet and Zell are sitting on a chair."

Not so good!

This takes more than a little fix, actually; it's a pretty large problem that requires a lot of code to solve it well. Without the help of some very complex code, all the solutions are problematic. That code will eventually become a part of our server (hooray for Zell & Co.!) but meanwhile the only solutions available to me are hacky and unsatisfactory, like the one I've got there now.

Some alternatives:

1) One hack would be to make the chair detail itself look plural. This works to show:

"Velvet and Zell are sitting on chairs."

Fine, except that if it's only me sitting there, you see:

"Velvet is sitting on chairs."

Now I can't speak for everyone here, but I don't usually take up more than one chair at a time when I sit. So this would solve one annoying problem but create another.

2) Another hack would be for me to put a bunch of identical-looking chair details into the room code: chair 1, chair 2, chair 3, etc. This would give us the effect:

"Velvet is sitting in a chair. Zell is sitting in a chair."

Not bad... except that the interface with the player would be horribly obnoxious. The simple command "sit in chair" would get the response: "Which do you mean, a chair, a chair, a chair, a chair, a chair..." etc. Not to mention that you'd have to choose by using the awkward syntax of "sit in fifth chair" or whatever, which is just ugly once you get more than about four objects to choose from. Also, it's an inelegant waste of space to put all those identical details into the room object.

3) Another hack would be to give each chair its own distinct brief description, but that gets to look ridiculously convoluted and crowded if there are more than four places to sit.

"Velvet is sitting on the first table's left bench. Zell is sitting on the fifth table's right bench. Foo is sitting on the second table's right bench."

Ick! Nooo...

(There is a separate but related problem with all of this, which is that there's nothing but good manners to stop a person from typing "sit in second chair" even though Zell is already sitting in the second chair. So then you'd see "Velvet is sitting in a chair. Zell and Rudeboy are sitting in a chair." This will probably get handled by the bulk system eventually, when that gets implemented: chairs will know their max capacity for how many people they can hold. Anyway, that's a whole 'nother issue, just one of the things I'm thinking about when trying to work out this seating problem. Meanwhile we'll just hope most people will choose not to stretch in-game reality by sitting on top of someone else  http://www.skotos.net/ubb/wink.gif

So, about the current situation: I could replace the hack I've got there now with one of the above hacks, but I'm not sure it would be a great improvement. What really needs to happen is that we get a complex code system that allows you to "sit on a chair" and the code automatically places you in your own chair. Zell could explain how this will work, but it's in the future so it's moot for now.

Anyway, just wanted to mention that we're aware of this problem, and it's a temporary, beta-stage one. It will eventually get fixed when the code allows us to do it really neatly.

Seidl
09-26-2000, 09:43 AM
Might there be some way of making a limited cloneable object? Add a new number word "new" so instead of sit on first chair I could do sit on new chair.

Each invocation of new would create a new chair object that would disapear when it was empty. The room would then need some master code to control the max and min number of these objects. So teh room might know that it shouldn't let the last 2 chais disapear as they empty, and shouldn't let me new a 13th chair.

Since there are already groupings for multiple things, then the room description could rapidly become "multiple people are sitting in chairs".

Might also give chairs , becnhes, etc the notion of capacity. Chairs 1, sofa's 3, etc. I would make the capacity as a comfortable, non-encroaching load, so maybe sofa at 2. Then, to put more things onto the object would require consent. Sitting in someone's lap on a chair or squeezing 4 people onto a couch. Of course, tehn you get into stacking issues where you have three people sitting on a couch and a 4th lying accross them, but thats pretty complex.

Just some random ideas.

-=- Matt

Velvet
09-26-2000, 11:37 AM
I think that it'll become unnecessary to clone actual chair objects once the room can keep track of how many chairs it's supposed to contain and how many people are sitting in them. At that point, you shouldn't need to figure out which awkward adjective to use for the chair at all; you should just be able to amble in and sit on "a chair" and the room would sort out whether there are chairs available, and how to place you on one. And how to show it: "Foo, Bar, and Martel are sitting on chairs" for example, or "Nineteen people are sitting on chairs."

What you say about the notion of capacity is dead-on, though. That's the "bulk system" I referred to above. As far as I'm aware, it's long been planned that objects in the game will all have a density, capacity, and such. A small closet will only hold X number of people. A sofa might only seat three. And so forth.

I like your idea of three people fitting onto a sofa without squishing, but the fourth requiring their consent! *laugh*

Seidl
09-26-2000, 11:55 AM
Originally posted by Velvet:
I think that it'll become unnecessary to clone actual chair objects once the room can keep track of how many chairs it's supposed to contain and how many people are sitting in them. At that point, you shouldn't need to figure out which awkward adjective to use for the chair at all; you should just be able to amble in and sit on "a chair" and the room would sort out whether there are chairs available, and how to place you on one. And how to show it: "Foo, Bar, and Martel are sitting on chairs" for example, or "Nineteen people are sitting on chairs."


I've never been involved with a mush or mud before, so I've got no clue what the backend code looks like. But i do write systems software for a living, so it was just an idea. I've done similiar things before with cloning objects and a min and max pool, so I knew it was an option. Not an elegant solution though.


What you say about the notion of capacity is dead-on, though. That's the "bulk system" I referred to above. As far as I'm aware, it's long been planned that objects in the game will all have a density, capacity, and such. A small closet will only hold X number of people. A sofa might only seat three. And so forth.

I like your idea of three people fitting onto a sofa without squishing, but the fourth requiring their consent! *laugh*

It makes sense. Also, it would be nice if people could indicate physical closeness somehow. Like if a married couple sits on the couch and gives each other consent, they visually look like their sitting closer together.

Martel, Foo, and Bar are sitting on a couch. Foo and Bar are sitting close to each other.

Or some such.

-=- Matt

Atama
10-23-2000, 08:36 PM
There actually might be situations in which one person sitting on another might be appropriate.

For example, it is common to find in fantasy stories tales of "jaunty men with bawdy wenches on their laps". Or how about one person giving another person a boost by holding their foot to aid in climbing, or standing on their back while they were on fours, or even giving someone a piggy back? (Or carrying an injured or unconcious person).

In those cases, it would be required to consent of course, and to take into account who is on who's lap (while amusing to have a stack of twenty people on a chair, it is not wholly realistic). Other reasons for "stacking characters" would be for, say, gymnastics displays at a faire, or an acting troupe.