Monthly Archives: April 2013

SEECQUEL in restrospect

I just realized I never put up our promo video for SEECQUEL, my team from last semester, on this blog. Well, better late than never, I suppose. Here is, with a bit of a delay, a video about Nature Quest, an application that helps connect children with nature.

I did some backend programming work for that project and a LOT of writing. Even though I saw it coming, it was still a shock to find out how much writing it takes to get a few minutes’ worth of gameplay experience to have good dialog and good interaction.

A web server optimized for websockets

As part of my OCCO project, I made a web server that makes the use of websockets easy. I din’t make it from scratch, of course, I made it with Tornado. Tornado is a very lightweight, flexible and extensible web server written in Python. It makes the use of websockets trivial.

My whole code is on GitHub:

https://github.com/eje211/heidegger

This site is a mockup of a modification of the interface of Electronic Arts’ Origin game distribution system. My team added a panel that informs the player of their Bartle player type. My websocket feature allows me to change the player type in real time during presentations. This was really made to have a good reason to use websockets more than anything else. The Javascript part of websockets never changes. It’s the part that’s on the server that’s often problematic. In this case, I have a page with the player type chart and one or more pages with a remote controller to change it. The code to handle this is absolutely trivial:

I keep a list for each of the two types of websocket handlers and keep them updated as the sockets are connected and disconnect. And, as message come, I just pass them along to the relevant pages. That’s really all there is to it.

Tornado also requires me to deal with the delivery of files manually. That was new to me, coming from Apache, Lift and Zope. It was interesting and made me aware of many details.