Boston IF meetup

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.)

That’s really cool. IFComp uses github.com/juhana/if-recorder or a derivative of it; you can see the database structure here.

I suggest that you also implement an opt-out feature like in the original plugin so that players have a way of not having their transcript saved if they don’t want to. The plugin checks for a query parameter in the URL but it could be something smarter too.

Oh, thanks. I found if-recorder.js but not the SQL document.

What’s the relationship between output and styles? (I think IFComp ignores the styles field, though.)

Yes, I’ve implemented the feedback=0 query parameter.

The plugin separates styles and content. The output field is plain text and styles tells what style it uses, so something like “normal bold normal” would get a total of three rows in the database.

Wow, hopefully the weather does get better. I know Chicago hasn’t had a meetup for a while. We should get back to it. We don’t really have the weather to lie back on.

It’s good to read what’s going on in other groups, and a monthly update on the board would be especially neat. I suppose I can check out pr-if.org more often, too.