The Web Games Development Landscape

The World Wide Web, it sometimes seems, was invented to play games. Indeed, it’s the logical successor to the computer, postal, and BBS games of the ’80s and ’90s. Maybe Tim Berners-Lee didn’t have game-playing on his mind when he devised http and html back then, but 20 years on the number of people playing games on Facebook tell where our heads are at now.

Piling on irony, it’s that same HTML, in it’s fifth invocation, that’s now driving Web game development. But what exactly are “Web Games?”

The Web took off in 1997, not long after Macromedia acquired FutureSplash Animator, renamed it Flash, and gave it away as a free browser plugin. Within five years it was the premier Web game technology media, and led to Adobe buying Macromedia at the end of 2005. However, under Adobe’s stewardship Flash’s scripting language spawned a proper programming language called Actionscript. This freed developers from the tyranny of Flash’s Stage and Timelines, which were really designer’s tools. For the rest of the decade Web Games and Flash were synonymous.

Flash games came in all shapes and sizes and across most genres. Now game-aggregation sites like King.com and Kongregate.com have hundreds of Flash games to play, mainly single-player but with quite a few multiplayer titles, too.

Flash wasn’t always the only game in town. At the end of the ’90s, Java Applets were popular and can still be seen out in the wild. JavaScript was also good for some cool effects, but the browser wars and differences between Internet Explorer and Netscape made it too tough a technology to develop for.

Flash still has issues. It’s single-threaded and a bit of a resource hog, but thousands of games on the Web are testimony to just how good a technology it is (even if half of them are Tower Defense or Mafia games). There were also a number of freemium strategy games built on HTML, server-side PHP and graphics. These include war games such as Travian and Inselkampf and the text RPG Torn. Graphics aside, these have a low barrier to entry and anyone with a LAMP (Linux, Apache, MySQL and PHP) hosting account can set one up.

With third-party installers like Softaculous providing instant installs onto hosting accounts, you can set up your own Shadown’s Rising or Black Nova Trader’s game in a minute or two without any coding or technical skill needed.

2005 and Google.

Google Maps appeared in 2005, and JavaScript came back as a popular programming language thanks to just one technology: Ajax. This lets websites update parts of pages without needing a full redraw. You could drag maps about and zoom in without needing Flash at all.

Also, 2005 was the year a little-known website called Facebook began picking up new users at an increasing rate. Two years later, it launched an application platform where games could be played by millions of users. Anyone could develop and run their own game on Facebook, as long as they ran it on their own servers and proxied it to be played on Facebook’s pages. Probably the most successful startup game company spurred by Facebook is Zynga, which launched in July 2007, now has over 200 million monthly users and revenue approaching the billion-dollar mark from advertising and in-game currency.

Zynga’s most popular games include FarmVille, CastleVille and CityVille. To keep you playing, they get you to involve your friends and build obligations. You don’t want to accept their gifts and labors in your game without returning the favors. They use Flash clients talking to a proprietary server and use private and public cloud technology (Citrix’s Cloud.com and Amazon EC2) to scale up, and for storage and backend processing.

Apple iPhone and HTML5

In 2007, the iPhone launched. A year later came the 3G model and the App Store. Web games were sidelined by iPhone Apps that could be played anytime, anywhere. Steve Jobs refused to support Flash on the iPhone/iPad, but that didn’t impact their game-playing capabilities and in fact began a move away from Browser plugins. Adobe fought back and developed technology to convert Flash games for the iPhone while pushing Flash Lite for the Android and other platforms. But by late 2011, Adobe admitted defeat and withdrew from the mobile Flash market.

HTML5 was published as a working draft in January 2008 and browser acceptance has been rapid. HTML5 added Canvas and JavaScript functions to allow pixel-perfect browser graphics and animation without needing Flash. With browser manufacturers competing to turbo-charge JavaScript, it’s now possible to create games that are nearly as good as Flash that can also be played on mobile devices.

This is a potential threat to Apple as it’s much less able to resist HTML5 than Flash. The highest performance games currently run natively in iOS on iPhones or in Flash on websites. JavaScript is nearly there, but once WebGL and hardware-powered OpenGL is widely available, HTML5 should be able to do anything.

What is WebGL?

Still one or two years ahead of full cross-browser deployment, WebGL is a graphics driver that adds 3D OpenGL support to JavaScript. Though it’s supported in FireFox version 4.0+, Chrome version 9+, and Safari 5.1 on Mac OS X Lion, it’s being held back by questions about its security.

There’s also the Chrome browser with Google Native Client support for native drivers, i.e., software in C/C++ that runs within the browser. While these are “Chrome-only” Web games, the speed advantage is a strong inducement to go there. Plus, plenty of games in C and C++ can be ported with Quake, Xaos and the Mame game emulator.

The Next Five Years

With over 500,000 apps in the App Store–of which the biggest category is games–the iOS remains a major platform. However, you have to wonder how long Apple can keep WebGL out of Safari. If Flash supported multi-core, it might still have a chance of competing with HTML5/WebGL, so the battle for the best browser game development technology isn’t quite settled. But with 34 of the top 100 websites already switched to HTML5, and HTML5 games now appearing in droves, the smart money has to be on HTML5.