This guy is clueless about what we really need for awesome HTML5 games. Operator overloading? Really?<p>What we really need:<p>Better WebGL support from graphics vendors: fewer driver bugs and better sandboxing.<p>WebGL in IE, or at least WebDirectX.<p>Full screen mode.<p>Mouse capture.<p>Polling input APIs, Gamepad and multitouch support.<p>Decent low latency audio APIs.<p>Web Sockets.<p>Better control over garbage collection.<p>A few good libraries and game engines for JavaScript; or, even better, Native Client support.
I don't think people use block/retro graphics because they think the browser can't handle it. I think they do it because they are indies and they're doing what they can to get their game out there.<p>While I think there are a lot of things on that list that need to happen before html5 games are taken seriously, there's a few missing:<p>Lockdown. There's no way to protect your assets from theft. I know DRM is the anti-Christ, but protecting your assets is not something the AAAs will be giving up. (I don't expect this will ever happen, though.)<p>Sound. My lord, why does sound suck so badly in browsers?<p>Controls. You can't capture the mouse and use it for FPSs, etc. Apparently there are gamepad libraries for JS, but I haven't tried them. Input in general is just pretty primitive.
My startup may be of interest: a HTML5 game editor for Windows (www.scirra.com) which solves some of these problems (easy to import artwork, animations, set collision masks, add physics, low GC overhead engine, etc). </shameless plug>
Physics engines work well on Javascript (and coffeescript and clojurescript): <a href="http://danielribeiro.github.com/ClojureCoffeeScriptGame/" rel="nofollow">http://danielribeiro.github.com/ClojureCoffeeScriptGame/</a>
Audio is the #1 missing peice right now. In the work I've been doing, everything else has solutions or workarounds, but there's no good answer to this one. Using a SWF to play sounds is a terrible kludge.
<p><pre><code> V3 = M1.multiply(V1).add(V2);
// and even worse
V4 = V1.add(M1.multiply(V2));
</code></pre>
...I don't code in JS often, but am I missing why you wouldn't just use this?:<p><pre><code> V3 = M1 * V1 + V2;
V4 = V1 + M1 * M2;</code></pre>
Can you make games like those showcased for Flash 11 on WebGL? I, for one, am looking forward to WebGL games replacing Flash games.<p>Since WebGL is based on OpenGL ES 2.0, can the code from iOS or Android games be mostly re-used for WebGL games?<p>What about making games directly in Native Client?
> Every browser should ask user, if he allows website to run WebGL content.<p>I doubt most users would understand the warning, most would probably just click through it. WebGL may have some security issues that need to be addressed, but just adding a warning seems like a cop-out.
> To be honest – CSS3 animations have terrible syntax<p>I think that this guy has never heard of the canvas element. Using CSS3 animations for making games is pure madness.
C++ style programming (something else than JavaScript) and WebDirectX... This doesn't sound like the portable, any-browser-on-any-platform experience that I want HTML5 to truly be. There's something else to take note of here: HTML5 wasn't conceived with gaming in mind - but thanks to slick work by slick hackers, we have a lot of this already, and there will be a lot more. The question is if another in-browser language that isn't JavaScript, and another 3D API that isn't WebGL, will aid this rather than fragment it.