Quake Live Web


The Quake Live service required me to wear many hats. The front-end was written in PHP, and pre-module JavaScript. Thankfully, both codebases were exceptionally clean for their time. The backend was written in Python with Twisted, and handled many of the operations that required persistence, like signing in players, billing, server browser, and stats processing. Player data was mostly stored on a Postgres server, while the larger more static stats data were stored on a Cassandra cluster. There was an XMPP server for chat and friends list, which was customized for Quake Live. On top of all of that, there was then all of the maintenance of the OS on the physical boxes, and even beyond that, the game itself, written in C.

As the team shrank, all of the web and backend development would eventually come down to me, which often meant figuring out a very diverse set of tech, and being able to diagnose a very wide surface area when problems on the site would crop up. Despite this, we were able to add new game modes, explore different business models to try and push people to subscribe. Some of my highlights of this phase of Quake Live include:

This iteration of the game is no longer available, but just before the release of the Steam version, I took screenshots of all the pages on the existing site for archival purposes. The screenshots below are these screenshots, minus some of the admin-only pages.