Got Me By the Technicals
I’ve been working on a new game (called Let’s Play: Let’s Play: Ancient Greek Punishment: Art Edition Edition) over the last couple of days – it should be out tomorrow evening. I’ve returned to HTML5 so that it’s mobile-friendly and so on, but I’ve also been forced (by the nature of the game) to engage more heavily in various new technical details than I normally bother with. This is the price of the “new aesthetics” I’m trying to use so that I don’t just turn into Sierraman or Atariguy or something.
This particular game involves including video from the players webcam as part of the visuals, and this took me into a (for me) complex world of browser hell. See, things don’t “just work” in this world, there are a million exceptions for the things you want to do. Webcams work in Chrome, Firefox and Opera on desktop only, for instance. But then it didn’t even work in Firefox because there was a weird bug that meant you need to slightly delay the webcam stream or you get an error.
So without webcam available for all browsers (and especially not on mobile) I needed a fallback. So then you try to include video that approximates the kind of thing you’d see through a webcam (me, in this case). But of course different browsers support different video formats (in this case I used webm and mp4). And then different platforms (like phones) only support specific encodings of specific video formats. In fact I fought so long and unsuccessfully to get video in the mobile version that I ended up needing a third fallback, an animated set of photos of me blinking!
So when you try to do anything technical like this you suddenly end up catering to many different versions of the simple thing you’re trying to make. You have multiple codecs, multiple representation options, you need to switch between them sometimes (e.g. from video to webcam if the player enables their webcam, so they don’t see nothing before that). And on and on. I spent quite a lot of time learning and failing. But I ended up getting it to work.
At which point I marvel: wow, what a huge amount of work to do something so absurdly simple. What an annoying medium it is we work in with games for the web. And I ask: what influence does all this technical stuff (particularly the long bouts of fighting for a single inch of technological territory) have on the actual games we make? By which I don’t even mean the subtle and interesting rhetorical powers of the tools we use, but just literally the labyrinths of technical know-how required just to do one, atomic thing (like show a bloody moving picture on the screen).
So, was it worth it? Just how different are the animated image, canned video, and webcam versions of this game? Did I waste my time?
You be the judge, tomorrow probably.