HTML5 games are like Christian Rock bands
Mar 29, 2013
3 minute read

I mean, c’mon, let’s be honest - the few HTML5 games that don’t are the ones ported from other platforms. My hypothesis is that when developing for a platform, it kinda shapes you.

When you paid cash for the Unreal engine, you want your damn game to look pretty. When the engine you work with has been used to make Guns of Icarus, well you’ve got to work hard to walk in their footsteps.

In HTML5 (whatever it actually means), you’re so happy to get anything working at all that your ambition stays very limited. Obviously doesn’t apply to everyone but don’t tell me there isn’t a recognizable trend.

They have crazy beliefs

Usually happily disregarding stuff like type systems, cache locality, GC pauses, multithreading, texture compression, multichannel audio, nontrivial networked games, some of them claim that “performance and features are comparable to native!”. Et la marmotte, elle met le chocolat dans le papier d’alu.

For example, NaCl, which makes x86-ish machine code run in browsers, is a horrible Google invention that no one shall touch because it’s not JavaScript! It’s like catholics against protestants all over again.

They have crazy practices

Since nobody can agree on a bloody bytecode to make stuff run in browsers without either:

  • Having a plug-in (proprietary or open, doesn’t change the problem)
  • Compiling to JavaScript (eww, eww, eww, emscripten is a feat but still, eww)

Then we’re stuck! Awesome! Of course, some people are doing unspeakable things to JavaScript and calling it ‘asm.js’, when really it should be called ‘js with half of C’s types and weird syntax’.

But wait, there’s more! Did you know Chrome and Firefox use a compatibility layer that translates GLES2 calls to DirectX 9? Genius right? If only we had proper OpenGL drivers everywhere…

They’re mostly copycats

Honestly, apart from lone efforts like the Unreal/asm.js thingy, everybody in HTML5 land is targetting what was done in games, like, 10 years ago ? Except back then we couldn’t afford a dynamic VM and a memory-hogging DOM making a game run at 60FPS.

Same goes with open-source games in general - apart from a few exceptions, it’s clones, clones, clones (yeah, look who’s talking, I’m doing a fan remake - hopefully it doesn’t suck as much as, say, the only games you could find on Redhat/Mandrake back in 2002)

They’re closed-minded

Apparently everyone decided Flash sucked a few years ago, and even though Adobe shows some very interesting tech, it’s not for us because, it’s not JavaScript! And plug-ins are evil, remember?

So forget native, go full web, dude, it’s the future! Nevermind that it’s near impossible to monetize, that your game will run smoothly on only a few select combinations of browsers and platforms, it’s the future, dude/dudette! Do eeet!

Epilogue

This is a half-jokey rant. If you don’t recognize yourself in this description, good news: you’re in the good ones! I believe HTML5 + friends have a long way to go but are still promising. But for the time being I just won’t bother porting anything to it, because gamedev is already painful enough as it is.