TextSmith

or...

How to Run a Corridor Track in a Remote Conference
Maze of Twisty Little Passages (with Python)

Nicholas H.Tollervey

The Focus of this Talk:

  • How humans communicate via computers.
  • How software influences the nature of that communication.
  • Digital archaeology of old technical solutions.
  • Show and tell a fun (brain break) experiment in recreating these solutions with modern technology.

Remote Corridor Track..?

  • Interactions are digital transactions.
  • Transactions have metadata for analysis.
  • Transactions are dislocated (no sense of place).
  • Transactions are impersonal (shouting into the void).
  • Transactions are evaluated (likes, retweets, reactions).
  • Transactions are curated to capture attention (Click here, react, reply, share)

</rant> ✨ 💩 🐯 👍

Could there be a more...

natural way?

creative way?

simple way?

expressive way?

respectful way?

authentic way?

...to meet, make friends and interact online.

Less is more..?

Xyzzy

Mazes of twisty passages...

The original MUD 1

A Rape in Cyberspace

What would a MUD/MOO written in 2020 look like?

https://pyweek.org/

(Et voilà, "TextSmith" was born.)

An awful hack written in a week...

“The idea for this is unique, and I had some good fun messing around in a couple of the worlds.”

“This has great potential. The object attributes system is neat and the choice of font and markdown really invites creating a rich literary world.”

“Really cool entry, I like the idea of a multimedia MUD.”

“REALLY would have liked to see that "scheme-like scripting" bit mentioned in the help text. I think that would have pushed this over into "Extremely cool no matter what" territory and also would have inclined me to play with it way more.”

Mission: Finish TextSmith :-)

Research List

Steps for Parsing User Input:

  • Escape any HTML in the user input. ;-)
  • Handle special shortcuts (", !, :, @).
  • Check if first word is a built-in verb (get, drop, build etc).
  • Break sentence into: verb, direct-object, preposition, indirect-object.
  • Match verb to an attribute name of objects in the room: user, room, direct object, indirect object.
  • Place the attribute value in the necessary message queues. If the value is a string starting with #!, evaluate as a script.

stack treasure on table

  • verb
  • direct object
  • preposition
  • indirect-object

Script Evaluation (work in progress):

  • Scripts are evaluated in a context containing: user, room, exits, other users, things, this, direct_object, preposition, indirect object, raw user input.
  • Scripts must complete within a certain period of time.
  • Scripts may only update objects within the context.
  • Scripts execute with the privileges of the user who caused them to run.
  • Scripts may only emit messages to objects in the context.
  • If the script fails, users get a meaningful error message / stack trace.

TextSmith is 80% finished

Only the other 80% to go... ;-)

(The worlds built in TextSmith)

Nested textual systems...

In Conclusion

Find out about MUDs

Titans of Text ~ US based podcast.

The MUD Coders Guild ~ I'm not the only one.

(There's also a "Multi User Dungeon" server on Discord)

Questions... :-)

Please feel free to get in touch..!

Email: ntoll@ntoll.org Blog: ntoll.org