The web: the next game frontier?
PC, consoles, tablets, mobiles. But what if the next interesting move was the browser and the web as a gaming platform? The web can embrace all of these devices and can even support new types of devices we don’t even know yet. Thanks to the web, you can easily distribute your games to billions of potential users. It’s the biggest market ever. And as a game developer, you have a unique opportunity to be a pioneer on a fresh new market.
I know that you’re thinking of. We already had games using the Flash plug-in for years! I know also we have a couple a great 2D casual games using HTML5. But I’m talking about something better, bigger and more scalable: using the latest web standards to build a new generation of games touching more people than ever.
It’s been a time since I’m convinced that the next game frontier will be the web. With David Catuhe & Daniel Glazman, we even organized a conference on this topic: Next Game Frontier 2014. The goal of this conference was to prove that the browser is now strong enough to technically host AAA games. In the meantime, we’ve tried to prove it by launching in partnership with Ubisoft the Assassins Creed Pirates Race game: https://race.assassinscreedpirates.com using our Babylon.js WebGL engine.
This leverages a lot of questions/problems to solve. I’ll then share my thoughts on the technical points but will try also to talk about other aspects around new possible gameplay & business opportunities.
Powerful features to build your games in the browser
Let’s start by talking about the technical parts. The last announcements & support from the various browsers’ editors give us some interesting directions. WebGL is now supported on all platforms: Chrome, Firefox, Opera, IE11 and about to be activated by default in the next Safari update. You can even use WebGL on Android, on Firefox OS, on Windows tablets & phones as well as inside Windows 8.1 & Windows Phone 8.1 Store Apps . Soon, even the iOS 8.0 Safari browser & its webview will be able to display WebGL content. PC, tablets & mobiles will be able to execute WebGL code. To my point of view, this is the signal that something big is about to happen on the web.
I then think it’s about time that games studios seriously consider the web as an important gaming platform to target.
With David, we often say to some skeptical developers that WebGL can virtually offer the same graphical power & details of an Xbox 360 in the browser on a lot of desktop machines. Indeed, the GPU of the 360 (named Xenos) is even less powerful than the standard HD4000 Intel GPU most of us have today: Radeon X1800 vs Intel HD4000 And WebGL is more or less offering the same shader level proposed with DirectX 9 on Xbox 360.
Thanks to that, the Assassin’s Creed Pirates demo runs at 60 fps on my HD4000 integrated Intel GPU with beautiful graphics. This means that you can already start to build great games in the browser without any plug-ins with today’s supported features.
But it not all about WebGL. The future brings very interesting other features.
You love using your favorite gamepad to play your games? This is not a problem. The W3C Gamepad API is now supported by all major browsers (Chrome, Firefox, IE11 DevChannel & Opera). I’ve implemented its support in our gaming engine as demonstrated in this video: Babylon.JS supporting Xbox One gamepad and you can test it on our website by switching to the gamepad camera in the options. This demo is running at 60 fps full screen on my modest ultrabook. In full screen, who could think this is pure HTML5 running?
On the audio side, to offer a good experience, developers can rely on the W3C Web Audio API currently supported by some browsers (Chrome/Opera, Safari & Firefox) and in development for others like IE.
Here is a small list of interesting optimization talk/document to review:
- WebGL Optimizations for Mobile by Lorenzo Dal Col, Senior Software Engineer, ARM
Recent researches done by Mozilla have gone even further with very interesting initiatives like asm.js combined with EMScripten. The idea is to cross-compile C++ code to JS and generate a specific JS code (a subset of standard JS) that will be better optimized by the JS runtime. Thanks to that, they have been able to work closely with Epic to demonstrate a preview of the Unreal Engine 4 running in Firefox. Check out this awesome video:
Game developers & web developers = better together
I’m even more excited about something much better to come. Both communities have a lot to learn from each other’s.
Game developers will benefit from the web culture, web developers will benefit from the game developers who have built lots of tricks & patterns to address several platforms.
For instance, targeting billions users & various devices is not something technically easy. But games developers are used to build engines that adapt themselves to various configurations. They know how to build 3D assets for mobiles, consoles & desktops. They know how to build shaders for each platform. I know that this is not something easy to build a 3D game being able to run on a variety of CPUs & GPUs. But lot of gaming studios have been used to this complex exercise for years now. They can bring this experience to the web, share their expertise to web developers.
On the other side, the web community has built a lot of best practices, patterns & libraries to create web applications that scale across devices. Responsive web sites & mobile first approaches are now well-known and mastered. Web developers can share their knowledge on how to address all these potential devices using the magic of CSS.
Free & open source engines or paid solutions, you’ve got the choice
Another great benefit from the web: its incredible source of creativity and offering.
You want a free & open source 3D engine? You’ve got Babylon.js, Three.js, PlayCanvas, Turbulenz & lot more you’ll find yourself on the web. You can tweak the code, build your own set of tools on top of them. You want to build a 2D game? CreateJS, Phaser, MelonJS are some you should have a look to. Some of them even now have a WebGL renderer to get optimal performances. Also, I’ve been discussing a lot recently with various games studios, small Indies or bigger one. They tend to attach a lot of importance of having their own engine for a simple reason: they want to control the code source to be able to quickly fix a problem or to add specific features into it. Open-source engine are then very interesting for them. They can fork it and make whatever they want from it. It will save them some production time while they’ll keep the control of the engine.
But you rather like a packaged paid solution and its associated advantages? You can have a look to Unity 5 and its future WebGL export. There is even mixed interesting models like the one used by Minko.io, an open-source engine built using asm.js/EMScripten & C++ code but where you have to buy the tooling or services on top of it.
You’ll find a detailed list of current available frameworks here: HTML5 Game Engines and Frameworks It doesn’t probably contains all frameworks. But it gives you an idea of the choices you’ll have when switching to the web.
New gameplay, business model & source of revenue?
Enough of technical details. Let’s talk about gameplay & business models. Indeed, the success of a new platform or a new game doesn’t come principally from the technical parts but rather from the global experience, the gameplay and how you’ll monetize smartly all that without frustrating the gamer.
This is probably the most interested part but unfortunately, this is also the part I’m still thinking of. I would be very interested by your own vision on this topic if you’ve got one. On my side, I don’t really have a precise vision yet, but I can still share my first thoughts.
The gaming industry has evolved a lot during the last 10 years. Consoles have finally generated much more revenues than games on PC. We’ve also seen the rise of highly connected games on the consoles. The Xbox 360, PS3 & Wii consoles were really an impressive generation and has brought lot of new cool franchises & innovations.
But in the meantime, a new market has grown exponentially and has generated new kinds of games: the mobile. Games on mobile represents more than 60% of the global revenue of the mobile apps stores! And we could reasonably expect that soon, Smartphones & Tablets combined will generate more revenue than consoles globally. Some companies like King with a couple of games can even surpass Nintendo with its entire game portfolio: Candy Crush made more money than Nintendo last quarter. This new market have seen a phenomenal growth.
Gameplay on mobile is much simpler and is often mono-touch oriented: runner, puzzle games and so on. People playing those games are not always the same than on console. They are named “casual gamers” by the pro. They’re not playing as much as the “core or hard-core gamers” on PC & consoles nor they spend as much money but they’re probably much more today. Since I’m young, I know that games studios were dreaming of touching this mass market audience: women, kids, grand-parents, everybody! We’re finally there.
Each new platform seems also to have participated in growing the global revenue of the gaming market. Consoles have not killed the PC, mobiles have not killed the console. There is then some place for a bigger web games market which represents today a bit less than 10% of the global game revenues.
Table 1. Video Game Market Revenue, Worldwide, 2012-2015 (Millions of Dollars)
|Video Game Console||37,400||44,288||49,375||55,049|
|Handheld Video Games||17,756||18,064||15,079||12,399|
|Total Video Game Market||78,872||93,282||101,615||111,057|
Source: Gartner (October 2013)
Still, the mobile has really changed the way games are built and how they are marketed & monetized. This is the golden age of “apps stores”. Prices first dropped from 60€ on console to 5€ on iPhone via a premium model and even less. But now, most mobile games are implementing a free-to-play (f2p) or freemium approaches (even if there will always be some notable exceptions). Games studios are then forced to become some masters in Ads SDK & in-app purchases optimizations. They need to know the best timeframe to ask you when to buy a new feature. Complex algorithms have been built for that. They even have some big data processing for potential millions of Ads that will be served to the gamers. This has completely changed the landscape. Some old good studios I’ve been working with had a lot of problems to understand this new model driven by the mobile and the new customers attached to. However, a new generation of studios have perfectly understood how this new market works and had a huge success:
Moreover, this is not anymore a question of a unique platform. You hardly can afford to target a single mobile platform when you’re building a mobile game. The F2P model forces you to find solutions to scale. And the first step to scale is to target as much platforms as possible: iOS, Android, Windows Phone, you name it. That’s why also some technologies like Unity are so popular. Unity is handling most of the complexity to port your games on all platforms for you. You’re not forced to port your 3D engine & game logic to Objective-C, Java, C++ or C#. Unity creates an abstraction. You’re potentially losing a bit of performance compared to a very high optimized native solutions. But this is really not a problem compared to the productivity & speed of touching so many platforms at once.
But wait? Abstraction? Cross-platforms? Running everywhere? Screens scaling? The web and W3C standards have been made for that! One technical base to rule them all.
The today games developers’ dilemma, so much platforms to potentially target!
Source: Newzoo, Free PC Gaming Trend Report – Power to the People
Looking at this graph reminds me all innovations each new generation or platform has brought in term of new types of gameplay & experiences:
- Up to 4 multiplayer games with split screen on SNES like with Mario Kart
- Realtime 3D on PC that started with 3DFX, multiplayers using LAN (Doom)
- CD on PlayStation 1 & DVD on PS2
- Touch screen on Nintendo DS
- New types of controllers with the WiiMote on Wii & Kinect on Xbox 360
- Internet connections and MMORPG
- Xbox Live on Xbox 1
- Steam and digital distribution
- Sensors (accelerometers, GPS, etc.) & touch on mobile
- Social gaming with Facebook
Web technologies can embed most of these experiences and will surely bring new experiences.
Let’s recap what I’m trying to say
During the 2 last years, I’ve been closely working with some games studios helping them moving to our mobile platforms. I’ve seen people definitely knowing how to address this market and other, used to AAA games on console, being completely lost. I’ve got the feeling that those who better manage mobile are new players with a fresh new mind. Old players have probably underestimate the mobile market and took too much time to refactor their approach. Mobile has changed the way to think games in term of user’s interaction & payment. And I’m pretty convinced there’s a still a lot to do to imagine & create better games on mobile. One day, a little studio will take the risk to break established codes with a new game design and will succeed.
This is the same for the web as a gaming platform, there is so much to imagine & create. In the same way some have missed the mobile opportunity, some could miss the web opportunity.
On the technical side, I’ve got plenty of ideas. The same tablet device could act as the companion app, using 2D HTML5 Canvas or let you play to the full game itself using WebGL. It could be re-configurated based on the friends you’re playing with.
You could also start the game on a PC in the browser, continue on a mobile platform, whatever the OS, and finish it on your console at home. Web standards could break a lot of barriers. Even better, if you’re using stable standards, your games will potentially be playable in 20 years on any machine supporting those same standards. If the first web page ever is still working, why not web games? If Monkey Island would have been written in HTML5, I wouldn’t need an emulator to play it again today! ;-)
I’m also dreaming of cloud gaming using web standards. Some complex physics could be rendered in the cloud and the rest of the rendering being executed in the browser. Games could even be streamed from servers and partly hardware-accelerated using WebGL. You see, so much potential.
On the business side, we also need to figure out how to address the web in the best manner. Do we need to create a different business model than the mobile? I still really don’t know. I’m not a business guy. You’ll be probably better than I to imagine business opportunities.
But my first idea was to start using the web as a trial platform. I was thinking about the following model:
- Building a trial & free experience in the browser, like we’ve done with Assassin’s Creed Pirates. The player would be able to easily test the universe & some of the gameplay served to any machine or compatible device
- Using the very same code base & technologies, pushing the complete game on stores. You can indeed already simply copy/paste the web app into a Windows 8/Windows Phone project, into a Cordova application for Android/iOS or into a native Firefox OS application.
But let’s stop for now. I’ve tried to share with you what’s going on in my mind for several months now.
I would love to read your own feeling on this topic. Do you have on-going games projects targeting the web? Do you think that the web as a gaming platform is something realistic? As we are at the beginning, I’ve probably missed a lot of things or have a bad perception of others. That’s why, I’m ready to listen to your own thoughts.
But I’m sure that the web is waiting for your games. Don’t miss this new opportunity.