Microsoft is very dominant in games because most PC games require Windows. If WebGL were to really take off/become a popular way of distributing/consuming PC games, which would be 10 or 100x more likely to happen if Windows supported it out of the box via Internet Explorer, you would have to expect to see lots of relatively inexpensive and even free 3D games that run in the browser, and take little or no time to install.
Even with Microsoft refusing to support it, now with Pointer Lock API coming very soon to a regular Firefox release (tomorrow??) and probably Chrome soon also, it will be possible to release a FPS or MMO on a website with native browser technology. Throw in the momentum and capabilities of Node.js, and I think that means choosing a web stack has big advantages as far as ease of development for a lot of multiplayer 3D games.
I also think that where JavaScript/JS-based languages like CoffeeScript are really going to shine and be popular is in scripting for multiplayer 3D environments online.
I think that mainly we are just waiting for Pointer Lock, maybe a tiny bit better collaboration between browser and driver developers, and some social momentum.
When WebGL takes off, Microsoft Windows sales will take a big hit because people will be able to play the popular games on Macs or even on Linux machines.
And Carmack is not precisely known as a MS cheerleader.
But Microsoft is inconsistent since it allows Silverlight content to run GPU shaders - proving that while there are risks, they are manageable, especially with Microsoft's deep security measures in recent Windows versions.
Graphics drivers are inherently not designed to be exposed like that to hostile content.
It's not the lack of WebGL that keeps studios developing primarily for Microsoft platforms; it's the ability to write low level, native code in high performance languages, the ability to have as few layers inbetween game and hardware as possible. Writing native, you have hardware - os - api - game; if you're creating a high caliber performance-critical title such as, say, unreal, quake, starcraft, or half-life, why on earth would you choose to use hardware - os - api - browser - browser api - game?
GLSL test tool http://www.iquilezles.org/apps/shadertoy/
http://www.khronos.org/webgl/wiki/Getting_Started
WebGL is a cross-platform, royalty-free API used to create 3D graphics in a Web browser. Based on OpenGL ES 2.0, WebGL uses the OpenGL shading language, GLSL, and offers the familiarity of the standard OpenGL API.
WebGL is a low-level API, so it's not for the faint of heart. OpenGL's shading language, GLSL, is itself an entire programming environment.
Show me a WebGL demo with the level of realtime visual fidelity and physics simulation from a game five years old - say, Crysis - and then I'll believe that WebGL is suitable for game development.
A lot of games these days run on mobile with limited graphics, or use lower-end game engines like Unity as opposed to AAA ones.
There is plenty of room for WebGL gaming, but you are right, it will not intersect with AAA gaming in the foreseeable future.
Otherwise, the web is becoming a more viable target for small and indie devs. But as another commentator pointed out, without a overhaul in how video driver developers approach their work, WebGL as a concept cannot be made secure. Either browser vendors will wake up to this fact and at least start disabling WebGL by default, or enterprising black-hatters will start taking advantage of WebGL exploits, forcing browser vendors' hands.
High performance graphics on the web is a tough pickle :\
Though there's no way I'd write our 2D platformer using HTML5 due to absent gamepad support, a laughable audio engine, abysmal load times, and dodgy multiplayer capabilities, my original counterpoint was that WebGL support has absolutely nothing to do with developers' gravitation towards windows.
You're not a conspiracy theorist, and I think you are 100% right here.
> When WebGL takes off, Microsoft Windows sales will take a big hit because people will be able to play the popular games on Macs or even on Linux machines.
I believe that when WebGL takes off, Microsoft will support it.
Say what you will of Microsoft, it is a rational player in the market. If everyone plays WebGL games, IE will not be the only browser - and Windows 8 tablets the only device - that cannot play that content. Microsoft will simply implement WebGL (it probably already has internally).
But you still have to wonder what this will do to their profitable desktop business, and hence their share value, and hence their shareholder confidence.
I suppose I'm really wondering if Microsoft can turn into an IBM.
Microsoft is known for their embrace, extend, extinguish strategy. I think given the chance, they would do the same to WebGL. But at this stage they don't see WebGL as a serious threat: if they do, expect to see WebX, or DirectWeb, or something like that. I think Microsoft is 10x more likely to implement their own 3D Javascript API than to implement WebGL in Internet Explorer.
They were back in the latter 1990s, when the desktop was the new platform and they owned it. Now, handhelds are the new growth platform and MSFT has not gained much of a foothold there; exact marketshare numbers don't matter as much as perception of dominance, and MSFT doesn't have that. They allowed Apple and Google to get too big, instead of being first and achieving lock-in via network effects.
Think back to IBM: They owned the IBM PC platform and forced everyone else to copy them or choose a different platform entirely. Then Compaq beat them to the punch with releasing an 80386-based PC, then the Microchannel bus failed to catch on, and pretty soon IBM was irrelevant to the PC world. (And that isn't even taking into account what MSFT did relative to all this.)
So, if MSFT makes an I-Can't-Believe-It's-Not-WebGL, they'll have to deal with the fact Apple and Google know about Embrace-Extend-Extinguish and that MSFT doesn't dominate handhelds. So their proprietary extension will be limited to their devices, which will mean all of the iOS and Android users would be locked out, which means developers would have to choose between targeting a majority of users or MSFT, which means MSFT would have screwed itself sideways with a rake.
I doubt MSFT will screw itself sideways with a rake. However, I also don't see how MSFT can continue its growth without a new platform to dominate.
That said, Microsoft didn't create a competitor to canvas and many other new web APIs (but I don't know how standards-compliant they are these days in terms of Javascript, Canvas, SVG, etc.).
WebGL would have to have a killer app on mobile for Microsoft's lack of mobile presence to hurt them. Currently all WebGL Demos I've seen have assumed a desktop-level of graphics performance, and no phones are "officially" capable of WebGL yet.
I just tried the three.js examples from my Galaxy Nexus (running 4.1) and couldn't get any of them working in either Chrome for Android or the default browser. That said, I know it's possible with some hacking and tweaking. From what I hear iOS has about equivalent support at this stage. That said, Apple and (to a lesser extent) Google could roll out this support pretty easily in an update, but I maintain my initial reservation; that phone hardware will not be performant enough to make WebGL a viable replacement or complement to native OpenGL development on those platforms.
Nope, because only 1% of computer users ever install their own OS, and less than that build their own, so they are buying prebuilt machines from distributors that put Windows on it. They see Linux and reject change, and try to stay close to the platform they have used for a decade, even if it is shoddy. And they would never fathom going through the process of installing an operating system.
It would start a trend towards Linux, if PC gamers could switch to barebones distros to optimize their rigs performance in games (yay for cruft like Aero desktop slowing down 3d performance), then Linux becomes "cool", and soon the communal nerd of every family is actively putting it on pcs to play games, and then the parents get used to it, etc.
But that is a gradual thing, and having the ability to play web games on Linux doesn't translate into a jump off the Microsoft bandwagon any more than the tens of millions of people who use their laptops only for Facebook and Twitter have jumped in the last 5 years.
Maybe not now but in future if 3D gaming is equally great on all platforms, who needs windows?
In fact I thought this was just part of the broader strategy of Internet Explorer. Read Bill Gates' 1995 Internet Tidal Wave letter. He's worried the Internet will become the new platform where people use apps and make Windows irrelevant. What did they do? The first browser wars left IE6 stagnating - meaning you had to make any serious apps for desktop, and that meant mainly Windows. Even though they're losing share now, they still won: 5+ years of extra Windows license sales. That's a lot of money, and even arguably bought them enough time to survive Vista.
Microsoft are more forwards-looking than they are given credit for, I think. Gates foresaw what is happening now, which is apps are moving to the web and making the OS irrelevant, as far back as 1995 - and took successful steps to stop it. Lack of WebGL support is exactly the same routine for the same reasons.
Apple has no preference for HTML5 as an alternative to native iOS. Native is simply faster, and better on iOS, and as long as Apple continues to have dedicated teams whose entire purpose is improving native iOS (and as long as they continue advancing the hardware), it's tough to believe why HTML5 will ever catch up.
If you believe native iOS encourages lock-in (As in, Apple doesnt make tons of money from apps, relative to hardware, but the apps make the hardware more compelling to consumers), then strategically, backing a technology that does not encourage lock-in, doesnt make that much sense.
It seems to me that most of the people who believe that HTML5 is the wave of the future (particularly in gaming), dont actually make games (or make money from games).
It will always be more profitable to make an awesome game in native, and monetize it on iOS first, than to make a less capable game in HTML5, and spread that around to every platform. Just my tuppence.
Modern browsers have hardware acceleration for Canvas2D now. In my experience, it's already way faster than Flash ever was.
Things like these are the reason IE keeps losing market share. Why limit yourself to the little functionality of IE? That's why Chrome is growing and keeps getting recommended to others.
If I were writing a game today, I'd do it on mobile first and work backwards to desktop from there, not the other way around. There are plenty of great tools for that - cocos2d, corona, etc..
That being said, in a future where supporting multiple platforms is a must, HTML5 might be great place to start, even for mobile, but it's still very early and immature at the moment. Great for demos and proof of concepts for cheap, I don't know that I'd bet the farm on it yet.
Regarding controls: with the dual analog sticks, did you then have arrow keys/mouse bound to the sticks for non-mobile browsers, and then touch for mobile browsers? How was that handled?
There's a certain degree to which you could do this "automagically" - i.e. generate on-screen buttons based on the keyboard keys that are used in the game. But since controls are so important, I'd rather decide for myself on case by case basis how they translate to mobile.
The touted advantage is that you can run games without going through the app store and therefore losing 30% of potential revenue to Apple.
I don't know much about WebGL etc, but I do know that JavaScript is used to direct the game.
So to that end, considering JavaScript cannot be compiled and then sent to the browser to render, anyone can view the source. Anyone can hack it up. How do you solve this?
www.google.com/search?q=javascript+deobfuscator
One of those is not like the others.
The quote in TFA was "four of the largest tech companies". There is at least a 2-3 orders of magnitude (100X-1000X) difference between one of those companies and the other three. The other three are rightfully called "three of the largest tech companies".
They all have browsers in the race, that's the only thing that's important for this...