https://www.gravatar.com/avatar/7b17619235b45d93541af8e5f8d99159?s=240&d=mp

mcclain.sh

The Secret of the Twitch Chat API

Have you ever been in a Twitch chat of someone with thousands, tens of thousands, or even hundreds of thousands of chatters? The endless firehose of memes and emotes seem to come so fast that it’s almost impossible to read. Have you ever wondered what technology backs Twitch chat to support the volume and throughput of millions of concurrent chatters?

Spoilers: it’s IRC.

IRC? Really?

Yeah you know, IRC. Created in the late 80s and popularized in the 90s, I’d use it in the early 2000’s playing competitive Counter-Strike to post 5v5 | east | dust2 | cal-im | yours over and over to find people to practice against. Granted (but just as important), IRC is a protocol rather than a specific implementation, which leaves a lot of room for building efficiency. While Twitch’s servers are based on RFC1459, they only support a subset of IRC messages. In fact, to read and write chat message, we need just four commands:

Reimagining Adventure Games with Virtual Reality

It’s no secret that the King’s Quest series from Sierra Entertainment is by far my most treasured video game series, with King’s Quest VI holding the spot of my most favorite game ever. I’ve always had a soft spot for classic point-and-click adventure games, and certainly have noticed their absences in modern day gaming. I thought we might see them reemerge when the era of mobile gaming was just getting big, but there’s no real noticeable titles that have come from that. I couldn’t help question why that might be, and Ken Williams (Part of the husband-wife duo along with Roberta Williams, the creators of the King’s Quest series among other classics) makes a great point in a recent interview with Game Informer:

Virtual Reality - Oculus Rift and Google Cardboard

Yesterday, I took the day to sit down and really evaluate the Oculus Rift as a user and as a developer. Early in the week I also received my Google Cardboard and was pleasantly surprised at how well it worked, all things considered.

Using the Oculus Rift

Initial setup of the Rift was not too terrible involved. A couple USB cables, a sync cable between the camera and the Oculus Rift, power and I was up and running. Windows 8.1 actually also picked up the Rift, but I elected to pull down the latest runtime (at the time, 0.4.4-beta). Past that, I jumped right into a few things I had pre-downloaded such as the Oculus Tuscany Demo (video) in which you walk around a beautiful home and yard, the Welcome to Oculus (video) experience which details the paradigm shift that current VR tech can offer and A Chair in a Room (video) which offers an immersive horror/scare experience.

Unity3D - A Checkpoint

A little over a month ago, I had begun learning the Unity Game Engine. Five weeks in, I wanted to share some of the lessons I’ve learned in this short time and demonstrate that you can achieve some pretty awesome things in Unity in an extremely short amount of time. Additionally, I’ve also had to dive into some extremely amateur 3D modeling (which I’m less proud of).

First Stab at an FPS

This is the genre I usually default to. I generally play anything, but FPS seems to be my “default”. I figured I should start with something I was comfortable with, something I knew the mechanics of so I knew if something was “off”.

Hacking on Cloud Foundry's Gorouter

Late last week, a couple colleagues and myself discovered a small bug in Cloud Foundry’s gorouter in which a websocket upgrade was not completed if a comma-separated list of values in the Connection header was provided. A pull request was pieced together, submitted and is currently being looked at by Pivotal. However, I figured, why let the learning stop there?

There were several things that I was unfamiliar with: