Skip to content

Modus-Logo-Long-BlackCreated with Sketch.

  • Services
  • Work
  • Blog
  • Resources

    OUR RESOURCES

    Innovation Podcast

    Explore transformative innovation with industry leaders.

    Guides & Playbooks

    Implement leading digital innovation with our strategic guides.

    Practical guide to building an effective AI strategy
  • Who we are

    Our story

    Learn about our values, vision, and commitment to client success.

    Open Source

    Discover how we contribute to and benefit from the global open source ecosystem.

    Careers

    Join our dynamic team and shape the future of digital transformation.

    How we built our unique culture
  • Let's talk
  • EN
  • FR

The State of HTML5 Gaming

Published on December 9, 2014
Last Updated on November 30, 2022
Application Development

Browser based Games

Not that long ago, the idea of playing video games in your browser seemed like fantasy. Oh sure, we’ve had simple DOM card/board games and some Flash based games for quite a while (Elf Bowling anyone?) but nothing good built solely on HTML, CSS and JavaScript. Why not? Well, for one major reason, immature technology.

Today, that technology is no longer holding us back. Advances in WebGL and JavaScript performance have given us the ability to create rich and performant games for desktop and mobile. If you’ve always wanted to make a game, there’s no better time than today.

The easiest way to jump into JavaScript game development is to start with an engine. We are going to take a quick look at a few different ones that are available today and also a couple that are on the horizon.

Start your engines

If you take a look at the sheer number of JavaScript game engines available (20+ actively maintained) you are bound to find one you like. On the other hand, it’s easy to be overwhelmed by all of the choices. Like any framework choice, you should consider features, price, easy of use, and support. The kind of game you’d like to write will also influence your decision.

As far as features go, here are some important ones you should consider when choosing.

  • Physics – Allows objects to react to collisions and forces like gravity
  • Sound – Music and sound effects
  • 2d / 3d / iso – Two dimensions, Three dimensions and Isometric
  • Graphics      – Canvas (slower but more support), WebGL (hardware accelerated)
  • Tooling – Level editors, graphics tools, etc.
  • Price – $$$

Lucky for us, there are a number of well maintained engines that are respected within the community. Let’s take a quick look at a few of our favorites.

Atari-Arcade

Atari – Arcade

CreateJS

CreateJS is actually a suite of JavaScript libraries for building games. It uses several modular frameworks, all of which can be used independently or swapped out for something different. There are regular framework updates and a few spritesheet (multiple images in one file) and graphics tools available but no level editor. Overall, CreateJS is easy to use, relatively lightweight and is backed by some big corporate sponsors like Adobe, Microsoft and Mozilla.

  • Physics None built in but you could add 3rd party physics like Box2D
  • Sound SoundJS Playback via HTML5, WebAudio and Flash
  • 2d / iso / 3d 2d
  • Graphics EaselJS and TweenJS via Canvas (WebGL is in beta)
  • Tooling Asset loader – PreloadJS
  • Price Free
  • Examples
    • IonDrift
    • Atari Arcade

PhobosLab – Xibalba

PhobosLab – Xibalba

Impact

ImpactJS is a full-fledged JavaScript game engine that targets both mobile and desktop browsers. Impact has all the basic necessities built in for creating a professional-looking HTML5 game. This is a powerful game engine that does many things right, however it’s often overlooked for its initial entry price and relatively slow release cycle.

  • Physics Built in Box2D Physics Engine
  • Sound Uses WebAudio (as of 1.24), fallback to HTML5 Audio
  • 2d / iso / 3d 2D is the default renderer and a 1st party 2.5D (Doom-style 3D) plugin
  • Graphics Canvas based renderer. 2.5D Plugin uses a WebGL renderer.
  • Tooling Weltmeister level editor, Ejecta iOS wrapper and built in debug tools
  • Price $99
  • Examples
    • Rvrsit – Othello / Reversi
    • Xibalba – 2.5D FPS Shooter
    • More at impactjs.com/games

Modus Create – Holiday Game

Modus Create – Holiday Game

Phaser

PhaserJS is a modern desktop and mobile JavaScript game framework. It uses bleeding edge web technologies and is rapidly evolving. It has all the basic necessities of a game framework as well as a rich plugin ecosystem (pathfinding, iso, particles and more). PhaserJS is the most well rounded package for building an HTML5 game due to its flexible architecture, performance and evolving maturity.

  • Physics Ships with Arcade Physics, Ninja Physics, and p2.js physics. Box2D support is coming via a premium plugin.
  • Sound Uses Web Audio with fallback to HTML5 Audio
  • 2d / iso / 3d 2D is the default and Isometric third-party plugin
  • Graphics WebGL and Canvas renderers (leverages pixi.js)
  • Tooling Third party game editors and boilerplates
  • Price Free
  • Examples
    • Modus Create Holiday Game
    • Phaser Games List

The Future of HTML5 Gaming is AAA Engines…

Up until recently, high end game engines ran in the browser by using plugins like the Unity Web Player. Last fall (2013), Google announced plans to discontinue native code execution within Chrome. Without this NPAPI support, these plugin wont work. Fortunately, Unity has added a WebGL deployment option to their engine. Unreal games can also be deployed to the web by using a transpiler called emscripten. What this means is the Untiy and Unreal engines will be running completely within your browser by using WebGL and JavaScript ! So, what is emscripten again?

Emscripten

Emscripten

Simply put Emscripten is a C/C++ to JavaScript compiler. Emscripten implements most of SDL in its API and most importantly converts OpenGL code to WebGL code. The asm.js output allows the code to run at near native speed. While this does not sound like anything HTML5 Gaming specific; Emscripten is actually the cornerstone for the future of HTML5 Gaming. Many of todays popular video games are built using C/C++ and render their graphics using OpenGL, thus it is possible to convert them to run in browsers without any plugins. The following two multi-platform game engines leverage emscripten for their HTML5 support:

MadFinger Games – DeadTrigger 2

MadFinger Games – DeadTrigger 2

Unity 5 for WebGL

Given Google’s plans to drop NPAPI support in Chrome, Unity is making a bold move by planning a WebGL deployment option for its Unity 5 game engine. Unity is currently one of the most popular game engines behind indie games today. This will obviously replace their current Web Player plugin with an HTML5/JavaScript solution. They report that in some cases, WebGL runs as fast as native code.

This solution uses emscripten to compile the Unity runtime into asm.js. They also use a combination of in-house technology and emscripten to compile your C# and UnityScripts into JavaScript.

This means that you can soon expect to see the power of the Unity engine running in your browser, and not by using a plugin but with HTML5, WebGL and JavaScript.

UE4 Epic Soul Demo

Unreal Engine 4

Unreal Engine is an extremely powerful game development platform for building games ranging from casual 2D puzzlers to AAA next-gen console FPS. Unreal Engine is behind many of today’s largest and most popular games such as the Gears of War series, Borderlands 2, Mass Effect 3, Infinity Blade and many more. Unreal Engine 4 also brings the power of exporting to HTML5 browsers by leveraging emscripten.

In Conclusion

The state of HTML5 gaming today is exciting. Within a short time, we’ve grown from small time card games to WebGL powered, hardware accelerated 3D graphics. There are a large number of free and low priced game engines that offer great features and active communities for novice and amature developers. For professional developers, major AAA title engines are now offering WebGL/JavaScript deployment options.

If you’ve always wanted to try your hand at writing a game, then there has never been a better time. So, get out there and create something amazing …and when you do, come back here and tell us all about it.

Posted in Application Development
Share this

Stan Bershadskiy

Stan Bershadskiy specializes in all things JavaScript with vast knowledge in Sencha frameworks. Recently, he has directed his focus towards React Native and has co-authored The React Native Cookbook. Stan is located in New York City and can be found presenting at conferences around the country. During his time with Modus Create, Stan filled the role of Architect.
Follow

Related Posts

  • Write your own Google Hangouts with HTML5 and WebRTC
    Write your own Google Hangouts with HTML5 and WebRTC

    Google Hangouts is an easy-to-use video chat service from Google. I happen to like it.…

  • Write your own Google Hangouts with HTML5 and WebRTC
    Write your own Google Hangouts with HTML5 and WebRTC

    Google Hangouts is an easy-to-use video chat service from Google. I happen to like it.…

Want more insights to fuel your innovation efforts?

Sign up to receive our monthly newsletter and exclusive content about digital transformation and product development.

What we do

Our services
AI and data
Product development
Design and UX
IT modernization
Platform and MLOps
Developer experience
Security

Our partners
Atlassian
AWS
GitHub
Other partners

Who we are

Our story
Careers
Open source

Our work

Our case studies

Our resources

Blog
Innovation podcast
Guides & playbooks

Connect with us

Get monthly insights on AI adoption

© 2025 Modus Create, LLC

Privacy PolicySitemap
Scroll To Top
  • Services
  • Work
  • Blog
  • Resources
    • Innovation Podcast
    • Guides & Playbooks
  • Who we are
    • Our story
    • Careers
  • Let’s talk
  • EN
  • FR