The past, present,
and the future of
HTML5 game development 2019

Andrzej Mazur@end3rEnclave Games
Webbr 2019 in São Paulo, Brazil, October 31st 2019

Andrzej 'End3r' Mazur

Andrzej Mazur


2011 vs 2019

2011: onGameStart, Warsaw

2019: Microsoft HQ, Redmond

2012: Is HTML5 ready for gaming?

Poor Canvas performance

Poor performance

Way worse than native.

Crappy (or missing) audio

No audio

Play/sync issues, too many formats.

(Not) working offline


Web Storage, AppCache, IndexedDB, Web SQL.

Drafts of Web APIs

Web APIs

Gamepad, Pointer Lock, Fullscreen, etc...

Development tools

Dev environment

Borrowed from front-end.

No monetization

No monetization

Go native or go home.

2019: It works!

Good news

Performance improved

Audio working correctly


Offline with PWA

Offline with Service Workers

Web APIs support

Can I Use Gamepad

Lots of new tools

Phaser Editor

Lots of new tools

PlayCanvas Editor

Thousands of great games

js13kGames 2019: Bounce Back, [Swagshot], xx142-b2.exe

Technology is sufficient


Web vs Native

Publishers and platforms

Facebook Instant Games

Fragmented market, oversaturates quickly.

Packaging to native


Competing with native, playing by their rules.

Indies vs Studios

Small indies


Fast hyper-casual mobile experiences.

Big studios


WebGPU, WebAssembly, hundreds of MBs of assets.

Community survey

What are your struggles and needs? What problems are you facing?

So many different answers...

  • Too many packagers and preprocessors
  • Dev tools focusing on game development
  • More tutorials, courses, materials
  • New platforms oversaturating extremely quick
  • Not enough support for indie devs
  • Native 2D and 3D math modules
  • SharedArrayBuffers for multi-threaded games
  • Discoverability and monetization
  • Discoverability


    Change of focus

    1. Licensing games
    2. Subscriptions
    3. Advert revenue share


    1. Protecting the assets
    2. Being cloned

    Bright future

    Technology • Discoverability • Monetization

    Improving technology



    The death of PWAs

    ...wait, what?


    Responsive Web Design

    WebXR: MoonRider

    Moon Rider

    WebAssembly: Fluids


    WebGPU: Cubes



    is a remix

    Hungry Fridge on mobile

    Hungry Fridge mobile

    Hungry Fridge with gamepad

    Hungry Fridge gamepad

    2D casual mobile game...

    ...offline PWA... VR...

    ...with WebGPU...

    ...and WebAssembly...

    ...streaming from the cloud.

    Improving discoverability

    Revolutionzing monetization

    Enclave Games ❤️
    Web Monetization


    Cool, but how?

    Monetized website

    							<!DOCTYPE HTML>
    							  <meta charset="utf-8">
    							  <title>Flood Escape</title>
    							  <meta name="monetization" content="your_payment_pointer">
    							  // ...

    Real-time money transfer

    Detecting active subscribers

    Checking the state

    							if(document.monetization && document.monetization.state === 'started') {
    							  // do something

    Listening for an event

    							function startEventHandler(event) {
    							  // do something
    							document.monetization.addEventListener('monetizationstart', startEventHandler);

    Extra content

    Levels, points, coins, weapons, bonuses, etc...

    No advertisements

    • Privacy issues
    • Spying on users
    • Selling data

    Go Web or go home.

    Full control

      "Classic" publisher Web Monetization
    Implementation: Complicated, changing code 1 line of HTML + 2 lines of JS
    Income: Waiting months for reports Instant, streamed in real time


    1. Technology is sufficient → can be improved
    2. Discoverability problems → indexing tools
    3. Monetization issues → Web Monetization API

    Go out and

    build the future

    of the Web!

    Ender Efka @end3r