[Feature] Slightly different sleep messages for puppets

Right now, puppets “fall asleep” and “wake up” exactly like normal characters do. This is fine, but it creates some slight oddities because of different social conventions around them.

Most players do not remain sleeping in high-traffic rooms – they either travel to a sleeping room before disconnecting, or are swept at some point. Miranda is an exception to this; she’s meant to stay in her café, and as we get more NPC puppets, we’re likely to have more locations with a puppet stationed there for roleplaying purposes.

I’ve noticed some weird dynamics as players try to reconcile Miranda “falling asleep” or “waking up” in the middle of her own café with the idea that it simply isn’t something the owner would do. Perhaps we could add the character trait that she’s overworked and prone to napping, but I think we’d end up needing to do for almost all puppets.

There is a simple no-effort solution, of course; we can just decide not to take the “sleep” message literally. But most of the game’s messages are well-crafted so that we can choose to just incorporate them into what’s happening. So here’s a somewhat higher-effort option that might be nice.

We could replace Miranda’s sleep/wake messages with something like:
“Miranda disappears into the back room.” / “Miranda emerges from the back room.”

If we did that, the messages would be easier to incorporate in the flow of the scene. Obviously building one-off messages for a single NPC is not a good plan, but it seems like allowing those fields to be customized for puppets – especially NPCs shared by multiple players – would help account for the difference in how they behave.

As a vocal fan of simpler default messages, I like this direction of thinking, and wonder if we can just go minimal: Print nothing! After all, a character takes control of a puppet as a prelude to further action. Let those actions do the speaking. And if they want to make an IC action before releasing the puppet, they may.

If we do want to bring attention to a puppet “waking up” in the transcript, we could just go utilitarian: [Halstrick now controls Miranda.] But, those kinds of messages seem kind of “OOC” for how Wolfery’s transcript works most of the time, so, eh, maybe not.

Anyway, in Miranda’s case specifically, I like to play as if she’s as always present but in the background during café scenes, just minding the shop. I don’t hesitate to insert her into my poses for one-off actions appropriate to her character if she’s not under anyone’s control.

I like the way you’re thinking about minimalism here, but I think it’s really important to the user experience that all connections and disconnections must appear in the transcript.

I actually think the need to include them is coming from a core design principle of the system: Because there’s an assumption that messages are private on Wolfery, not knowing whether someone else saw a message is an emotionally problematic experience. Since Acci has gone out of his way to make sure messages are private, even to mods and admins, I’m pretty confident that this is an important principle!

If Miranda comes online with no notification, and I suddenly notice she’s awake (maybe when she actually says something), I don’t know which other messages her controller saw. Even if I can work it out by carefully comparing timestamps on messages with timestamps in the sidebar, that’s not obvious, and doesn’t change the emotional feeling of “someone could quietly come and spy on me and I need to constantly watch the character list to know if they are.”

I agree here as well - we could do this, but I think you’re right that it doesn’t fit with the existing feel of Wolfery’s transcript. A lot of care went into making the transcript read as in-world activities; making the system itself immersive is another principle of the project, and it’s what sets Wolfery apart from roleplaying over systems like Discord or F-List, which provide a text-based system but don’t make any effort to help guide their users toward a consistent world or way of interacting.

This isn’t to say that my answer’s the only one, but those are the reasons I avoided the two approaches you brought up there!

1 Like

I like you exploring puppets! :smiley:

Puppets are still sort of an experiment that still needs tweaking to reach its full potential.
I like my puppet ideas, but I have no existing reference to any similar system, so I still don’t know exactly how players will end up using them.

The initial puppet idea can be found in this thread. Basically, I hope puppets can be used to make the world more alive when you are out exploring less populated areas.

But they need to be improved. And this suggestion is a nice improving tweak!

So, I will add this feature to my list of things to implement for puppets:

  • Custom awake/sleep messages (This idea!)
  • Command to “poke” a sleeping puppet, signaling to any registered puppeteer that someone wish to interact with it.
  • Option for puppeteers to put puppets on “watch”, to get signaled whenever someone enters the puppet’s area.
  • Improve registering system for puppets, to allow different modes such as “free-for-all”, “on-request”, or “on-invite”.
  • Puppet area limitation, to prevent puppets from straying away outside a designated area
  • Puppet default profile which it resets to on sleep.
  • Teleport home on sleep
  • Allow builders to turn other’s characters into puppets.

[Edit]
The “signalling” I talk about above will likely be an orange counter showing on the “Select characters” icon:

puppeteer_signal

Yeah, I would probably not wish such OOC info. Actually, from the start I thought about not revealing any information on who is controlling a puppet. But in the end, I realized we sort of needed to have at least some sort of identifier in order to properly report in case a puppeteer goes rogue.

But I will try to keep all the messages as IC as possible :slight_smile:

First of all (and to keep this response on topic), I really appreciate the thorough through-thinking here. It’s a great argument for making sure that all puppet activations must generate some sort of message.

I also wanna note that until this post, I just assumed that of course everything that all players typed is logged in plaintext somewhere. (And backed up across lord knows how many images.) This is because the last time I thought about MU* technology and policies (“Policies? What policies?”) was back in the 20th century.

I just took the trouble of logging out just so I could read the privacy policy, and I am super impressed (but, in retrospect, not surprised!) that Wolfery explicitly logs as little as possible server-side.

I kinda think that this is another selling point in Wolfery’s favor, over other systems!