Streams are great! Streams of SpyParty are super-extra-great! With this handy new SpyParty Streams Notifier you can get brief and timely announcements about SpyParty streams as they go live!

Stream Notifications

There are three ways to get this awesome SpyParty stream information into your brain. The first is this page, obviously. You can see the list of Current Live Streams below, Recent Streams below that, and both are refreshed automatically for your convenience by tireless robots every 5 minutes.

The second way is to sign up for email notifications. I try very hard to only send out streams as they go live and even then not too often, so it shouldn’t be too much traffic for your inbox. I’m going to be constantly modifying the notification algorithm in response to feedback, so feel free to leave comments on this post if you have problems, or send them to the list owner address you’ll get when you sign up.

I’ve temporarily disabled the email notifier during a server move, so check out the twitter notifier instead.

Finally, you can also follow the SpyParty Streams Notifier on twitter. The same algorithm sends the mails and posts the tweets, but the emails obviously contain more detailed information because they’re not limited to 140 characters.

Why?

As I’ve written about elsewhere, I just discovered game streaming relatively recently, and I’ve been blown away by how awesome it is, and it’s especially great for indie games! I love watching people stream SpyParty! It’s not only entertaining and fun to chat with others watching the stream, but until I get spectation and replays implemented in the game itself, it’s also the only way to get a real feel for other styles of play, which is incredibly important at the high levels of play. Sometimes it’s even better than spectation and replays because often the streamers describe what they’re thinking as they play! Beta testers have noticed a distinct increase in the base skill level of newbies who have joined after watching streams…in fact, you can basically play Sniper while watching a stream, which is a great way to practice. Incidentally, we’re still trying to figure out the “stream game” in chat for watching the Spy side; it’s not clear what it should be, but maybe you’ll watch some streams and find the right design yourself!

Twitch.tv, the main game streaming website, has all the usual social network features, like the ability to follow people, get notified when they stream, and whatnot, but it’s missing a couple important features, namely:

The ability to be notified based on the game name, not just who you follow. I want to see people streaming SpyParty, no matter whether I’ve heard of them and follow them, or if they’re just some random new person in the beta. I also don’t want to be notified whenever anybody I follow starts up some random game I don’t care about. The ability to tell twitch.tv not to send out a notification because I’m just testing some stuff and don’t want to bother people.

Luckily, twitch.tv supports a pretty rich API, so I was able to fix both of these problems, and provide a centralized place for SpyParty fans to sign up for stream notifications. Plus, I can eventually customize this with SpyParty-specific features, like highlighting games where both sides are streaming simultaneously, which are a lot of fun and extra-educational, making a link to one of the cool sites that will show the two streams side-by-side, or transparently extending the Notifier to cover some of the other streaming services like livestream.com. Post your feature requests in the comments!

Current Live Streams

This section lists the streams that are currently live, and it’s updated automatically every 5 minutes. Currently, most people stream at night, US time. The times listed here are the start times of the stream in the US Central time, which is UTC-5 or 6 depending on the time of year.

Loading current streams…

Recent Streams

This section lists recent streams that are no longer live, with links to the video-on-demand of the stream. It’s also updated automatically every 5 minutes. The times listed here are the end times of the stream, in US Central time.

Loading recent streams…

How To Stream SpyParty and Get On This Page

If you’ve joined the Early-Access Beta, tytalus wrote an awesome tutorial for streaming to twitch.tv, and he posted it in the private beta tester Discussions forum, so check that out first, it’s stickied at the top. That will get you set up and streaming quickly. He recommends using ffsplit which is free and open-source. Some folks in the beta are experimenting with OBS, which is also open-source and seems promising; it appears to be slightly faster than both ffsplit and xsplit (which is commercial software with a subscription model). Speed is really important because streaming is performance-intensive, and it turns out frame rate in SpyParty really matters for hitting green Action Tests. Anyway, since tytalus did such a great job with his tutorial, I’m not going to talk about how to set up streaming, and I’m just going to talk about how to set up your stream so it gets picked up by the SpyParty Streams Notifier and lands your stream on this page.

Since the Notifier only supports twitch.tv right now, this will assume you’ve got a twitch.tv account and have successfully streamed something.

The first and most important thing is to make sure your game is set to SpyParty on twitch.tv. You can click on the little edit box with the controller in it right below the broadcast title box in your twitch.tv dashboard:

The Notifier scripts ask twitch.tv for all streams playing SpyParty every so often, so if your game name isn’t set correctly, your stream won’t get picked up, even if you’re actually streaming the game! Contrariwise, this means if you are streaming LoL and your game name is set to SpyParty, the notifier will still pick up your stream, which is bad because people signed up here wanting SpyParty streams in their inbox, not some other game. An occasional mistake is understandable, but if I get complaints about someone regularly streaming with the game name set to SpyParty but not actually streaming SpyParty, I’ll blacklist the twitch.tv account and *poof*, no more notifications for you regardless of what you’re streaming. So, please practice good stream hygiene and keep your game name updated to what you’re actually playing.

It’s also important to set your broadcast title to something descriptive. As I mentioned above, unlike normal twitch.tv notifications, the Notifier will allow you to tell it you’re doing a test stream, so you don’t send a notification and annoy people looking for real gameplay. To do a test stream you don’t want picked up by the Notifier, just make sure your broadcast title contains the text #test, and if it does, the Notifier pretends your stream doesn’t exist.

It’s important to understand how this works, though. If you forget and start up with a regular title (without #test in it), and the Notifier picks you up, it will announce that stream. If you then set the title to #test, it will think you stopped streaming. If you then set it to a normal title within the cooldown time, the Notifier will not announce your stream, even though that’s probably your real stream that you want people to watch.

Which brings us to the cooldown time itself, which is how I prevent the Notifier from spamming people if somebody turns their stream on and off a lot. Currently, it will only announce a new stream once every two hours for a given streamer. If you stream, stop, and stream again within that period, the first will be announced, but the second stream won’t be announced when it starts up, although it will show up in the Current Streams section of announcements. Once the cooldown expires, if the second stream is still going, then it’ll get announced if it hasn’t already been sent out as a current stream with somebody else’s new stream announcement. Please don’t abuse this and turn on and off your stream every cooldown period just to get a new announcement. If it feels like this is not working, I’ll implement a longer cooldown period, or something even more conservative. I want people to discover your SpyParty streams, but I really don’t want to annoy them.

The last piece of the puzzle is there’s a startup delay before a notification is sent out. Your stream needs to be running stably for 5 minutes before the Notifier will announce it. By “stably”, I specifically mean the twitch.tv updated_at property in the stream has to be at least 5 minutes old, which in non-technical terms means you started up the stream and haven’t changed the title or game name for 5 minutes.

Finally, if this whole streams notification contraption works out well, I’ll open-source all the code so other indie games can use it! I think it’s going to be really useful for games that don’t have quite the streaming community of League of Legends or Starcraft II yet, so people need help finding streamers for the game, and streamers need help finding audiences. I don’t think this scales, though, so if SpyParty becomes super popular, I’ll probably have to change the scripts to batch up streams, or look for new streamers it wants to promote, or something. Let’s file that under “nice problems to have” and deal with it if it comes up!

Until then, I’ll see you in stream chat!