Two days ago I went to the Google Developer Day Buenos Aires 2011. This is a conference that has been performed once per year on several cities throughout the planet.

Now, if you happen to live in North America, Europe or Japan, well, you are probably used to these kind of events but here in Argentina, it’s not a common occurrence. So of course I couldn’t be more excited and had to go.

Long story short, these talks got me thinking, HTML 5 and games are two words that have been used extensively for several months now, but where are exactly the big games? Everything seems to point to a direction where the line between traditional games and web games is getting blurred, but when?

Read on if you are interested in my thoughts on this event and the status of web games.

Google Developer Day Summary

UCA, Buenos Aires

The event took place on the last 19th and 20th of September, 2011. It was two days full of talks related mostly to Google technologies but also to sharing expertise on current web trends.

The location of choice was the Argentine Catholic University (UCA), which is on one of the nicest parts of Buenos Aires, a place called Puerto Madero.

To my surprise, the place was full of local developers. While Google has been around South America in the past, going on several occasions to  São Paulo, Brazil, this is the first time they came here and I think it’s because of the metrics that Google got from Chrome usage and studies on the amount of companies and professionals willing to tackle technological challenges.

The talks

Most of the talks were given by Google engineers and centered around Android development, YouTube API’s, Chrome Web Store, bleeding edge HTML 5, Chrome tricks and tips, you name it.

There was of course, a lot of focus into Google’s own cloud computing platform called AppEngine and several services around that.

A couple of cool things that are recent, have to do with the possibility to use the prediction API with a lot of potentially interesting uses. Using the same NoSQL engine, BigQuery and Google Storage for managing files on the cloud.

Last but not least, HTML 5. If you are reading this, chances are you already know everything about it so I won’t bore you with the details. But allow me to ask the following question:

Where is that big HTML 5 explosion? What are we waiting for?

Current state of HTML 5

Boy, these recent few months have been exciting. From a standard that could possibly, maybe, be the future of the interactive web to a technology that’s here to decapitate Flash and take standalone applications by storm?

Don’t get me wrong, I’m not trying to sound fanboy-ish, I’m a firmly believer of using the right tool for the job but one cannot help wonder about all the possibilities. Sure, this applies mostly to certain types of games, I don’t think we will ever see a Crysis 3 game on HTML 5 … or will we?

Okay then, let’s do a quick recap of the situation.

Many, many experiments:

Chrome experiments leads the pack and a plethora of other sites which are stress testing anything browser developers can throw at them.

There are already many simple games in HTML 5 that take advantage of current features and some of them have nothing to envy other games at all!

Platforms, frameworks and IDE’s:

Many frameworks are currently under development. Some of them are complete RAD applications for games, some are modules that you can put together.

IDE’s? Well, the good thing is that a lot of editors for web applications. It’s simply taking your pick and possibly using a plug-in or getting the latest version.

Browser support:

Now this is a tricky one. Previously we had well, a few browsers battling out until we had the “Dark ages of Internet Explorer”. Fortunately those times are over and now we have several developers at Opera, Google, Mozilla and others trying to push for open standards. The result is obvious, everyone benefits.

There are still a few sketchy implementations but it’s moving rapidly and in no time we will be enjoying most of the HTML 5 standard specs. I’d bet on that.

Cloud computing:

Yeah, the invisible beast. The Big Brother making sure all little HTML 5 children are taking care of on the server side. Really, while virtualization has been around for decades, the “cloud” is an integral part of this entire movement.

The hardware layer is going completely away and leaving behind a logical abstraction that it’s empowering us to do things that were not practical before.

Next step

A small detail that usually slips. Games in HTML 5 are not simply games written in, well, HTML 5. The concept is more encompassing than that. The other guy at the other side of the table, you know, the one doing all kind of tricks called “Javascript” is just as important. It’s the combination of high performing Javascript, cutting edge HTML 5 and lest we not forget CSS, that will break the ice. Naturally, you also need robust server-side technologies but that’s a subject that goes beyond the scope of this article, so let’s leave that for another post.

If we have all these technologies are our disposal, why there isn’t more games then? I think that we are half-way there, I’m sure it’s not because of the lack of trying. Like many times before, developers imagination is bound to the realities of the current hardware.

According to my observations, there are a few specific points that need to mature a bit more:

Audio latency:

On one of the Google talks, I was able to see some results of work being done towards drastically reducing latency on the browser while reproducing a sound. Really a requirement for most for games that have a lot of audio components (an epic battle for a multiplayer game? A space shooter?).

Hopefully this will be the norm soon enough.

Performance:

Well, this has mostly to do with HTML 5 rendering capabilities, right now it can render pages really fast, and browsers are recurring to all kind of tricks. Yes, nothing beats native code of course, but the hardware keeps on improving and nowadays some games don’t need that much horsepower as the most intensive FPS ones do.

On the Javascript side, the engines are being worked hard. Even Intel unveiled a technology for Parallel Javascript  in order to take advantage of multi-core CPUs.

Browser support:

While Chrome (And Safari by extension), Firefox, Opera are leading the pack, not all of them support all features and there are some quirks. Although luckily this is progressing blindingly fast.

There are a couple of features that are really important when it comes to multiplayer games, caching and other uses. We just need to wait until decisive features like Offline storage and websockets are more mature. Sure, you can get away without them (we did fine until now) but if we are talking about next-gen, then we need all the weapons we can muster.

WebGL:

This needs no introduction. There are several tests already with WebGL, it doesn’t seem to be there yet, but it shows promise. While not a requirement for some games, it definitely is one of the crown jewels that needs to be there for HTML 5/Js/CSS to become a contestant.

Misc:

Well, there are a few other tidbits. Maybe some parts are not directly associated to game development, like microphone and webcam support but they could be. Why not? We have Microsoft Kinect and Playstation Move already, Augmented Reality is becoming more common, tablets, cellphones and netbooks usually have a camera and mic built-in. This certainly opens a lot of gameplay possibilities to the browser.

Some interesting stuff

Here are some interesting links:

- HTML5 Rocks

- HTML5 readiness

- Chrome Experiments

- Parallel Javascript

Conclusion

The way I see it, it’s just a matter of time. Whether you are creating web games or playing them, the panorama will drastically change.

Is this going to happen in 5 months? Next year? 5 years? Who knows, but if we are ready, it’s going to be one helluva fun ride.

And if we are not, well, better hurry up or suddenly we’ll be outside, looking in.