Writing:Best Practices

Use proper curly quotes in text. Seltani’s body font (Sorts Mill Goudy) makes straight quotes look curly, and then they look unbalanced.

Hyperlinks for travel should clearly indicate the direction and usually the destination:

"(Planned feature: hyperlinks for inspecting, travel, and other action should have three different colors.)"

Remember that a player can link out at any time, from anywhere. But they can only link into locations you have created in-portals for. Don’t design a world that breaks if the player quits halfway and starts from the beginning.

Situational locations
(Or, the problem of a friend walking in on next Tuesday)

In the examples above, we’ve treated locations as places in a physical world -- rooms where you could stand and talk to other players.

In theory, a “location” could be any kind of situation describable in text. Twine games frequently exploit this to create surreal choice-based narratives. Allow me to quote from an early Twine work, Mastaba Snoopy by gods17:

This is text and it contains a hyperlink, but it’s not much like a room description.

More restrained examples might be “locations” that are pages in a journal, or days in a journey down a river. I do this in a subtle way in Leafspin; when you climb into a leaf, that’s a new location. Every position in the air is of course also a location, even though it makes no sense to imagine “standing” there or waiting any length of time.

So, if Leafspin does it, it must be okay, right? Sort of.

Here’s the problem. When several players inhabit a location, it grounds the physicality. No matter what the text says, you’re now a bunch of people standing around having a conversation. Time becomes real time, because you’re chatting with real people. Space is as far as you can comfortably see and speak.

Imagine this text:

I trust that demonstrates the problem.

So why does Leafspin work? Simple: Leafspin is a  world, which means it is designed for solo exploration. You can only inhabit your own personal instance of Leafspin; you can never meet another player there. The problem never arises!

Therefore, this rule: if you plan to make situational locations, set the world’s instancing model to . You are then free to play around with space and time however you like.

So, for example, the various pamphlets on the Seltani info table are not separate locations, because the Seltani District is a  world. The table is a physical location. Several players could stand there, reading different pamphlets -- or the same pamphlet -- and simultaneously chatting with each other. This is why Seltani’s UI is designed with separate locale and focus panes.

Am I going to enforce this rule? No. How you construct your world is up to you. However, I have built Seltani (and my Ages) to offer a degree of realism -- a world that players can become immersed in. Allowing players to co-exist in a non-physical situation breaks the sense of immersion.