Alright, getting things ready for an interactive fiction club! If folks are interested, I think we can start December off with a classic infocom game, Planetfall. I've got a discord up & running, which folks can join, here https://discord.gg/cf69sWjEE5
It's not mandatory, but if you are interested, you can also just join the discussion here on Mastadon with the hashtag #ifclub The club will rotate each month between a classic text adventure snd a more modern interactive fiction
#infocom #infocomodon
@nandalism @intficpics @sandestin
Can you branch off by replying for a second time to a previous response of the bot?
(I had a bot that allowed for that in the short time Wave was a thing and it IMO was much nicer than standard UNDO constructs.)
In fact I'd probably have to checkpoint every action since it could later be a branch point... at any time in the future.
That's way too much complexity for me, sorry.
You can save/restore tho (see /help).
The availability of undo depends on the actual game being played. I guess some of the newer ones have the feature but zork and planetfall don't?
This is intended for group play rather than having a separate game instance for each player.
It's more intended that people gather as a group to play a single game instance together.
@nandalism Huh, so you don't checkpoint at every post? That's surprising; I would expect it to be way easier to do so (otherwise the synchronisation of the current state of the game between what's published on fedi and the internal state is much harder).
> It's more intended that people gather as a group to play a single game instance together.
+1. Are you aware of Club Floyd? (They do that over a text MUD.)
Is the source for the bot available somewhere?
The source is not available for the moment. However, it is based heavily on Honk (for the activitypub part) and uses Dumb Frotz for the Z-machine part.
@nandalism Also, do you have any ideas on how to integrate the commentary track?
I must admit that how/when mastodon/honk decide to publish/show messages and where is a bit of a mystery to me. Though I am trying to learn more about it.
I really want to avoid spamming people who subscribe to sandestin but at the same time keep them up to date on the actions of other players.
I've tried various combinations of to/cc and /followers but want to avoid activitystreams#Public since that seems very noisy.
There should also be a way to communicate among players without hitting sandestin. I thought that would be possible by posting to the thread/conversation but now I'm no longer sure.
Do you have any suggestions?
@nandalism @robryk I don't know how honk works but mastodon has post visibility options like public, unlisted, friends only and mentioned users only. I think one of those last two would be appropriate for this bot.
That would work for non-public games only. There'd be no way to link anyone else to a post from such a game.
@robryk @nandalism If it @s everyone who posts to a game it would work in mentions-only, but then you'd have to be able to tell it when you're no longer interested. So probably friends only makes the most sense. Maybe a hashtag at the end with the current game so people can mute posts from games they aren't playing?
Mastodon has a feature of muting a thread (for some obscure reason only a thread that you've already participated in).
Note that @ing is a Mastodonism. It's only (mostly?) Mastodon that decides on whom to cc on a post nearly solely based on mentions in the post. It's perfectly fine to cc someone on an ActivityPub object they are not mentioned in at all.
Having a separate Actor (IOW user) for each game would probably solve most of the issues you think of.
How does the number of games in existence matter? You create one bot that accepts commands like "start game foo". When it receives such a command, it creates a new Actor that will be the account for that *instance* of the game (note: not the game, but the playthrough). Whoever commanded start of the game can now follow that Actor.
The initial command can happen over fedi, or maybe simply over https.