We had our meetup at MIT this evening, and it was just two of us – me and Doug. Not ideal(*). Hopefully this is just because of terrible Boston weather, and next month we’ll be back up to a quorum. But Doug suggested it was a good reason to post and say hey! We have Boston IF meetups. Stuff happens.
(*Adri gets a pass because she was off demoing her IF game at Boston Indies.)
What happened? I demoed a Quixe hack that I just whipped up. I will write a blog post about it soon, which will appear on Gameshelf (and Planet-IF), but here’s the summary:
You know how the IFComp site can record game transcripts, so the authors can browse player sessions during voting? I wanted to add that as a built-in Quixe feature. (Currently it’s a hack on the Parchment framework.)
So I got that working pretty easily. But I had to decide what information to send. It’s not real clear what format the IFComp site accepts. (Yay that the site source code is on GitHub, but it’s not exactly documented.) I may adjust the format in various ways. But while I was doing this, I realized – hey, I could just send the entire IF I/O state. Window positions, text, styles, input state, everything. Quixe constructs a complete I/O update every turn, and it’s easy to just shove it down the pipe.
If the transcript server is getting complete I/O updates, why not mirror them? I glued a bunch of pre-existing parts together, and presto: a server where you can watch someone play a Glulx game live. You have no input control, mind you. It’s just mirroring the player’s display. But that’s pretty cool.
I do not have this running as a public service. I just demoed it on my laptop at the meeting. (“And that’s why you should come up our monthly meetup!”)
This could be extended into a ClubFloyd-style service which doesn’t go through a MUD, but is simply available on a web page. That would take more work, of course – this was just a demo.
github.com/erkyrath/remote-if-demo
github.com/erkyrath/glkote
(Not exactly documented yet. I will comment more before I do the blog post.)