Sharpee Goes Through Changes
Even though the platform has been stable for a couple of months, it has shown gaps as I work on stories and extended use cases.
One of those use cases was inspired by an intfiction.org thread which asked about multi-user play where two or more people could play a game together, including sharing the command line.
So I started working on a multi-user version of the browser client for Sharpee. I actually had it working, but it was flakey. Claude implemented the design (and I allowed for it) using Web Sockets. As a side note, this actually exposed a pretty bad gap with SAVE/RESTORE which had to get repaired.
Anyway, the web socket implementation was just not working as expected and I designed a true client-server version using my old fyrevm channel-io concepts. However, this wasn't a smooth transition from the existing text-service package and I made the decision to completely replace text-service with a new channel-service.
This was a major change to the platform and required reworking the event processor, sound, and how text is constructed for output. Initially the channel service was working, but there were still things dependent on the text-service, so I had to make two more passes to remove text-service entirely.
Then I had some ideas about my mystery story The Alderman about eavesdropping and that exposed more missing pieces from channel-service. That work is now complete and channel-service controls all client emissions.
I also made the decision to drop the current interpreter+game file design called Zifmia and will use that name for the new multi-user browser implementation. The interpreter will just be Sharpee Interpreter.
The channel-service works exactly like fyrevm's version including allowing authors the ability to create dynamic channels with their own defined content and content type (text, number, json).
Any Sharpee client can implement the full set of channels or ignore things like sound and images.
The opening turn in Dungeon shows its channel manifest:

And the channel output...

One thing that I'd ignored throughout the development of Sharpee were text-decorations. That is now also implemented so authors can use every text styling available in a browser (works in a terminal window too).


