Chasing Pixels - Finding Gems - Home
Play serious games in your browser
Jon Peddie
FEB 02, 2016 13:11 PM
A+ A A-

Play serious games in your browser

No plug-ins, no installing anything, just go to the site

by Jon Peddie

Three developments have taken place recently that makes it possible to play serious 3D games in a browser: on your PC, smartphone, or tablet, and one day your TV as well.

OpenGL ES 2.0 was released in March 2007.

WebGL 1.0 was introduced in March 2011.

HTML5 was finalized in October 2014.

HTML5 is a large, amorphous blob – of which WebGL is one piece. The HTML5 spec was formally finalized in October 2014 – but it was actually shipping and evolving since 2008. The timing of WebGL, that uses OpenGL ES 2.0, illustrates interesting ecosystem dynamics – underlying native API capabilities have to become pervasively available before WebGL and HTML5 can integrate them – Browsers have to run everywhere!

The development of serious Browser-based games

Before WebGL, HTML games were only 2D-only using JavaScript to drive sprite and Flash-like graphics, amusing, time killers, but not serious, not challenging, or scary – or 3D.

With the introduction of WebGL 1.0 JavaScript was enabled to deliver high frame rate, fully interactive 3D gaming and many other 3D applications, now things started to get interesting. The best thing about WebGL browser based games is platform independence and can run on iOS, Android, Windows or any other platform that has a WebGL-capable browser; that means PCs, tablets, smart phones, game consoles, and some handheld devices.

WebGL 1.0 uses an underlying OpenGL ES 2.0 which was finalized in March 2007, so many native tools and libraries were already in place.  To make 3D games using JavaScript, HTML5 and WebGL technology in the browser a reality, the industry needs JavaScript 3D game engines, a very hot industry topic now. There are over a dozen HTML5 JavaScript 3D game engines available and probably more will appear as this new vehicle for entertainment gets better known.

However the really important key underlying point is not only can you run the same app across all those platforms – you can do it (generally speaking) with ZERO source changes. (There are some games that use touch on a tablet and might need to use different controls (mouse click Space) on PC. WebGL is the only way to run a 3D app on Windows, Mac, and Android, etc., with no source changes. The first and only time this has ever been possible – in the known universe! And as Apple fragments the native API landscape with Metal – this portability becomes even more valuable.

However, there is some confusion in the industry. For example, Unity, a leading game engine developer, uses the term "WebGL" to describe their exporting games using the entire web games technology stack - which includes WebGL1 (the graphics API), WebAudio, asm.js, and a whole series of other APIs. It's technically a misnomer, since WebGL is just one piece of a whole platform. The, key point is to be aware that there is some confusion when people talk about "WebGL", since it can refer to both a web graphic API and Unity's export to web terminology.

The following diagram shows the web game platform stack and the key technologies that, when combined together, equal the new “1.0” web games stack that is coming into focus in 2016.

The browser gaming platform stack

More recently, the web development community is getting a new open standard that will do a better job at being a compiler target than JavaScript called WebAssembly.  According to its stated goals, WebAssembly aims to “Define a portable, size- and load-time-efficient binary format to serve as a compilation target which can be compiled to execute at native speed by taking advantage of common hardware capabilities…”.  Browsers will understand the binary format, which means one will be able to compile binary bundles that compress smaller than the text JavaScript in use today. Smaller payloads mean faster delivery. Furthermore, WebAssembly should run faster too!

And if you think that’s good, just wait. WebGL 2.0 coming very soon, will expand the 3D functionality available to Web developers - enabling console-class 3D graphics in the browser. WebGL 2.0 is due for release in 2016. WebGL 2.0 uses an underlying OpenGL ES 3.0 which was finalized in August 2012.

Combined with more robust game engines and middleware tools, the opportunities for game developers and subsequently end users are going to take off. The ironic thing about this is that Sun Microsystem (the inventors of Java) had this vision in 1990s; it’s just taken this long to get all the parts in place such as worldwide high-bandwidth Internet, HTML5, super-fast GPUs, and cheap memory.

And like the man at the circus says, And it’s just gonna get better. 

[%= name %]
[%= createDate %]
[%= comment %]
Share this:
Please login to enter a comment: