Skip to page content

[2020-09-09 Wed 12:47]

I’m going to start working on overhauling how messages get from the universe and other things, to a client thing, and finally sent to their interface.

First, an explanation: A user accesses their MUD through an interface. Right now the only interface is the MUDSocket, available thorugh telnet. An interface associates a user with an individual thing, which from the perspective of the MUD is the user.

Right now, the user has a mudsocket-output-buffer quality, which is monitored by the MUDsocket tick event, and if it contains any sort of text, that text is sent via the MUDSocket to that user’s interface: their telnet client.

I would like to overhaul this system now rather than later. My thought is that while text ultimately ends up in a mudsocket-output-buffer, it gets put there after going into a more general output-buffer.

I think I’d also like to, for my MUD, have it be so that users have buffers for five senses: optical-buffer, aural-buffer, taste-buffer, scent-buffer, kinestic-buffer - each of which will interpret what is added to them before adding it to the general output-buffer.

This’ll probably be the most robust featureset I’ve written for the MUD: it’ll mean switching from “look” to an observe command, and I wonder if I shouldn’t transition from look using a render procedure to calling a observed-by-thing procedure in whatever is being observed…

Geeze, so many different ways to do stuff, and the “right” way means so many small features instead of one big thing and it’s just… hard to keep it all straight!

So things I need:

  1. Write the output-buffer quality.
  2. Write a mudsocket-output-buffer - adding this quality should replace the set-output-buffer! procedure in a thing to directly set the mudsocket-output-buffer
  3. Optical-buffer, aural-buffer, taste-buffer, scent-buffer, kinestic-buffer qualities
  4. Procedure for building a MUDSocket client
  5. Procedure for building a… human? animal?