Guest Article by Andrzej Mazur
I was asked to write a brief overview of web-based gaming for the JS Kongress conference where I’m part of the program committee and will run a workshop about building HTML5 games with Phaser. I thought it would be a great idea and the opportunity to revise show building HTML5 games have changed and evolved over the last few years from my perspective.
Evolution of technology
I remember preparing slides for the talk almost four years ago about whether HTML5 is ready for building games or not, and there were important issues to consider: poor performance, no solid monetization methods, offline issues, crappy audio, a poor comparison to native. A lot has improved since then, but the core advantages of HTML5 are still the same:
- You can build once and deploy everywhere, HTML5 game needs only a decent browser to run – doesn’t matter the operating system or device. It can be a Windows PC, Mac OS X laptop, Android tablet or Firefox OS smartphone. It could even be a fridge as long as it can run a browser.
- You can play the game right away simply by visiting a URL. No installs, no plugins, just instant gaming right in the browser.
The technology is ready. Web games are usually rendered on Canvas, and the performance was greatly improved over the years. All the browser vendors were working hard to deliver fast rendering engines. Building cutting-edge games was one of the forces pushing web forward.
Now WebGL comes into play and offers even better performance thanks to the hardware accelerated graphics. It’s an interesting change from “you can experiment with it, but don’t expect much” and the games like Browser Quest or HexGL to “it’s ready for commercial projects” and “everything is possible” with titles like Heroes of Paragon and others in the Open Web Games test suite.
By simply comparing my first game Captain Rogers: Asteroid Belt of Sirius built for tiny smartphones with the new version, Captain Rogers: Battle at Andromeda optimized for huge TVs you can see the difference three years can make. I wonder how web-based gaming will look like in the next three and more.
Tools and libraries
There are plenty of frameworks and engines to choose from: for coders who want to make 2D games there’s free and open sourced Phaser or paid ImpactJS, for those more into designing a game you can use Construct 2 or Game Maker, and for 3D there’s PlayCanvas or Babylon.js. Of course, there are many more interesting options – those are just some of the most popular ones. Even the big players in the gaming industry are slowly acknowledging HTML5 is the future – Unity and Unreal offer the ability to export games for the web with asm.js, which opens a whole lot of new possibilities.
Aside the engines, there are also many interesting editors, plugins, and other tools that can help you make a game and speed up the development process.
You can also package the game and publish it to the native stores like AppStore or Google Play using tools such as CocoonJS or Intel XDK. Again – one code base can be reused to make builds for a wide variety of platforms and marketplaces.
The community is growing strong. You can always get help with your issue on the HTML5 Gamedevs forums, the amount of tutorials and articles being created is simply insane. Countless competitions force you to finish your creation within a strict constraint of time. Weekly newsletters keep you updated with the latest news from the front lines of game development. If something’s missing in the gamedev ecosystem there’s a huge chance someone will eventually create it.
The technology is mature enough for big, commercial projects. Canvas is already extremely fast, WebGL support is quickly improving. Big, professional game engines like Unreal and Unity are already able to export projects to WebGL using asm.js. Progressive Web Apps is a perfect approach for games. Web Assembly is something to look for. WebVR will be the next big thing.
growing strong. It’s the best time to dive in and make some games, the niche is expanding and you still can take part in the fun. All you have to do is act!
We’ve offer a few talks and a workshop about (HTML5) Game Development. Take a look at the full schedule and join us before it’s to late!