Public/shared characters (puppets)

At some time, I wish to introduce shared / public characters or puppets. I felt this feature might need its own topic.

@Jagrabbit, you will notice that many of your pointers matches my thoughts!

Short description

A puppet is a character that can be controlled by more than one player. The purpose is to have characters that are created as a part of different settings/areas; a waitress at a café, a stripper in a club, a keeper at the lighthouse. Or a station master at the platform to welcome newcomers.

This would allow the entire world to become more alive, instead of being focused just on a few central places. You don’t have to go to the park to find someone to play with. Instead you can go to an area/setting you like, and maybe someone else will greet you there.

Creating a puppet

  • They are created by a separate command: create puppet Miranda Honeyweather
  • They are owned by the creating character (just like rooms).
  • The owner is know to the public (just like rooms)
  • They can have different levels of availability: free-for-all, on-request (also mods-only, and later group as well)
  • They occupy the same name-space as normal characters.

Registering and controlling

  • To control a puppet, you must first be in the same room to register it to your character: register puppet Miranda
  • If the puppet is on-request, a request will be sent to the owner, which can Accept or Reject it. (similar interface as request exit)
  • Owners and moderators can evict/unregister a character from a puppet.
  • A registered puppet will be listed in a separate section under the Character Select tab.
  • A puppet is awoken in the same way as a normal character
  • A puppet can not be awoken if:
    • Someone else is controlling them
    • The registered character is suspended
    • The player is locked-out (have too many currently suspended characters)

Playing with a puppet

  • A controlled puppet shows up in its own tab, like any other controlled character
  • Puppets can do common things like say, pose, whisper, message, describe, ooc, look, go, etc.
  • Puppets are clearly marked as puppets (maybe a different colored name in the In Room list).
  • Hovering chat log messages also tells what registered character is controlling the puppet.
  • Puppets cannot be edited, except by the owner.
  • Puppets cannot mail, register teleports, register other puppets, create rooms, etc.
  • Puppets either has a separate How to play text field with info to the puppeteer. Or maybe info in the About (cinfo) field. At least something that may provide guidelines on how to play the character.
  • The registered character controlling the puppet may or may not be awake at the same time

Room activity notifications

  • The Character Select icon in the Realm panel will display a grey counter showing how many registered puppets are asleep in rooms occupied by one or more awake characters
  • In the Character Select page, a registered puppet may be marked as “On watch”.
  • If an on-watch’ed puppet gets visitors, the counter will turn orange instead of grey, and a system notification may be triggered.

Regulation

  • A moderator may use suspend on a puppet which is the same as suspending the registered character.
  • Anyone may “ping” a controlled puppet. The controller must answer within a set time or lose control . (or some other similar function, to prevent puppets to be occupied by sleepers)
  • A rule against hogging a puppet is added, which may be punished by suspension.

Phew…

That is the gist of it.
The Regulation part may be the trickiest. But I think it is doable. And I think the puppet idea might bring a lot of value to the game. Maybe. Or maybe it can flop. Not sure!

/Accipiter

@maximus wrote about some thoughts here:

@Jagrabbit wrote a lot of thoughts here:

I’m of the opinion that anything can be tried once, and maybe twice to be sure. I like the train of thought you have about it sofar, and it could just as easily be a great feature as it could be a total trainwreck. Hoping for the former, but being prepared for the latter and not marrying the idea if it turns out to not be viable, as it were.

Like Max said - its worth trying once or twice to see if problems occur.

Looking to the future, I do still feel like puppet in areas should be opt-in/flagged puppets only in order to keep them on a leash and only where people want them present.

I’m anxious about the whole free-for-all permission level - but I’m naturally pretty skeptical/anxious about bad faith types. So long as the mess is easy enough to clean up, what’s the harm, right?

I do like the idea of at least parking my own puppet at the front of my cabin to see when visitors swing by.

It also brings up another point. Should puppets be locked to the room/area they are designated for?

Edit: And if puppets are not locked to areas - should areas/rooms be able to lock against being visited by puppets?

I have to say… I love the idea and I can’t wait to play with them. I already have ideas. Raeth eyegleam sticker

At first I thought to allow them to be completely free. But I agree; it should be possible to limit them. And this matches well with the Area concept I want to add later.

After your earlier comments, and a good nights sleep, I think you are perfectly correct; initially only on-request and mods-only (for Tom Greyback, the Station Master :slight_smile: )

Great! But, beware, this feature is well beyond other features like Character profiles, Tags, Follow command, Areas. But it is before LUA scripting

Also, initially, maybe only allowing builders / admins to create puppets.

(builder is another role, which has permission to edit rooms/create exits/etc. without requesting)

If someone wants a puppet in their area, they can request one from a builder through the forum.