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

Web.br 2019

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

Andrzej 'End3r' Mazur

Andrzej Mazur

Logos

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

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

Audio

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

But...

Web vs Native

Publishers and platforms

Facebook Instant Games

Fragmented market, oversaturates quickly.

Packaging to native

Steam

Competing with native, playing by their rules.

Indies vs Studios

Small indies

Stack

Fast hyper-casual mobile experiences.

Big studios

Quake4

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

    Monetization

    Change of focus

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

    Theft

    1. Protecting the assets
    2. Being cloned

    Bright future

    Technology • Discoverability • Monetization

    Improving technology

    PWA

    Counter

    The death of PWAs

    ...wait, what?

    RWD

    Responsive Web Design

    WebXR: MoonRider

    Moon Rider

    WebAssembly: Fluids

    Fluids

    WebGPU: Cubes

    WebGPU

    Everything

    is a remix

    Hungry Fridge on mobile

    Hungry Fridge mobile

    Hungry Fridge with gamepad

    Hungry Fridge gamepad

    2D casual mobile game...

    ...offline PWA...

    ...in VR...

    ...with WebGPU...

    ...and WebAssembly...

    ...streaming from the cloud.

    Improving discoverability

    Revolutionzing monetization

    Enclave Games ❤️
    Web Monetization

    Tweet

    Cool, but how?

    Monetized website

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

    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

    Summary

    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