@cattsmall@cattsmall
Making Native Browser
Games in the Modern Age
Web Unleashed Toronto 2015 – Catt Small
@cattsmall@cattsmall
● Product Designer, SoundCloud
● Game developer, Brooklyn Gamery
● Co-founder, Code Liberation
I’m Catt Small!
@cattsmall@cattsmall
● Why I like making games
● The state of making games for web
● Pros & cons of HTML5 game-making
● My favorite HTML5 game framework
● Tools for packaging HTML5 games as apps
Today we’ll talk about:
@cattsmall@cattsmall
Why I Like
Making Games
@cattsmall@cattsmall
I can make
ANYTHING?!
Whoa.
Creative freedom!
@cattsmall@cattsmall
Usefulness
Value for time spent
@cattsmall@cattsmall
Game making utilizes
similar abilities
to web development
@cattsmall@cattsmall
Use of skillset changes
drawing narrative sound
animation systems interaction
code
UI
@cattsmall@cattsmall
Reuse processes
Ideate
PrototypeTest
Learn
@cattsmall@cattsmall
The State of Making
Games for Web
@cattsmall@cattsmall
Before 2010,
Flash ruled the internet.
@cattsmall@cattsmall
All Flash everything
@cattsmall@cattsmall
Apple rejected Flash
@cattsmall@cattsmall
@cattsmall@cattsmall
The canvas element
Kirby, © Nintendo
@cattsmall@cattsmall
HTML5 + JS game engines
Construct 2 ImpactJS CreateJS GameMaker
@cattsmall@cattsmall
Here we are.
@cattsmall@cattsmall
Pros of Making
HTML5 Games
@cattsmall@cattsmall
Native to web
<canvas>
<canvas>
<canvas>
@cattsmall@cattsmall
0 0THE FREENITED STATES OF FREEMERICA
NAN NAN
0000000000
0 0THE FREENITED STATES OF FREEMERICA
NAN NAN
0000000000
0000000000
0 0
00
THE FREENITED STATES OF FREEMERICA
NAN NAN
0000000000
0000000000
0 0
00
THE FREENITED STATES OF FREEMERICA
NAN NAN
0000000000
0000000000
0 0
00
THE FREENITED STATES OF FREEMERICA
NAN NAN
0000000000
0000000000
Free (or affordable)
0 0
00
THE FREENITED STATES OF FREEMERICA
NAN NAN
0000000000
0000000000
0 0
00
THE FREENITED STATES OF FREEMERICA
NaN NaN
0000000000
0000000000
@cattsmall@cattsmall
Many engines to choose from
html5gameengine.com
@cattsmall@cattsmall
Supports collaboration
@cattsmall@cattsmall
Many export options
Desktop & mobile
browsers
Phone &
tablet
apps
ConsolesPC, Mac, &
Linux apps
@cattsmall@cattsmall
Cons of Making
HTML5 Games
@cattsmall@cattsmall
Too many engines
@cattsmall@cattsmall
Not native to all, hard to export
PhoneGap Intel XDK CocoonJS NW.js
@cattsmall@cattsmall
My favorite
game engine
@cattsmall@cattsmall
@cattsmall@cattsmall
For game devs, by game devs
© Photon Storm
@cattsmall@cattsmall
Easy to learn & use
phaser.io/examples
@cattsmall@cattsmall
Responsive
Droplet, © Photon Storm
@cattsmall@cattsmall
Touch & controller support
@cattsmall@cattsmall
Works with other plugins
www.pubnub.com/blog/motion-controlled-servos-with-leap-motion-raspberry-pi
@cattsmall@cattsmall
Setting up Phaser
@cattsmall@cattsmall
Turn on web server
Phaser requires a server to run properly.
@cattsmall@cattsmall
Create folder & HTML file
Set up a folder and create index.html in it.
Set up the basic HTML structure.
myfolder
index.html
@cattsmall@cattsmall
Download Phaser
Go to phaser.io. Download the most recent JS
file to your folder.
myfolder
index.html phaser.min.js
@cattsmall@cattsmall
Create a game file
Save a new file called game.js. Game code
will go here.
myfolder
index.html phaser.min.js game.js
@cattsmall@cattsmall
Include script files
Add <script> tags to your HTML file. Include
phaser.min.js, then game.js.
index.html
phaser.min.js
game.js
@cattsmall@cattsmall
Start making your game!
@cattsmall@cattsmall
Concepts of Phaser
@cattsmall@cattsmall
JavaScript
You’ll be right at home using Phaser since it
relies on variables, objects, and functions.
@cattsmall@cattsmall
Game
An object that contains properties related to
gameplay including window width, window
height, and graphic rendering settings.
var game = new Phaser.Game(...);
@cattsmall@cattsmall
Preloading
Phaser needs to know what files to prepare
before the game can be displayed. This phase
is called the preload() function.
function preload() {}
@cattsmall@cattsmall
Loading Images
Several types of images can be preloaded:
● “image” - static, no animation
● “spritesheet” - sprite with animation
● “tilemap” - environmental objects
@cattsmall@cattsmall
Creating the Game
The create() function lets you set up
variables, objects, and the game’s layout.
function create() {
myGame.score = 0;
}
@cattsmall@cattsmall
Updating the Game
Unlike preload and create, which only run
once each, the update() function is running
constantly until the game stops.
function update() {}
@cattsmall@cattsmall
Physics
Phaser has 3 types of physics.
● Arcade: Phaser.Physics.ARCADE
● Ninja: Phaser.Physics.NINJA
● P2: Phaser.Physics.P2JS
Arcade Ninja P2
@cattsmall@cattsmall
JavaScript Games
Beyond the Web
@cattsmall@cattsmall
Intel XDK
Packages HTML5 games & apps for Android,
iOS, Windows, OSX, and Linux.
@cattsmall@cattsmall
PhoneGap
Packages HTML5 games & apps for many
mobile operating systems.
@cattsmall@cattsmall
CocoonJS
Allows you to test and package HTML5 games
& apps for both Android and iOS.
@cattsmall@cattsmall
NW.js (node-webkit)
Packages HTML5 games & apps for Windows,
OSX, and Linux.
@cattsmall@cattsmall
Continuing on
the path
@cattsmall@cattsmall
Other notable game engines
● ImpactJS: impactjs.com
● MelonJS: melonjs.org
● Game Closure: gameclosure.com
● Construct 2: scirra.com
● Game Maker: yoyogames.com/studio
@cattsmall@cattsmall
Share your creations!
Twitter hashtags:
● #screenshotsaturday
● #gamedev
Websites:
● forums.tigsource.com
● makega.me
@cattsmall@cattsmall
Attend games events
@cattsmall@cattsmall
Recap!
@cattsmall@cattsmall
● Creative freedom
● Practicing skills you already know
● Learning skills you don’t know
● Familiar methodologies & processes
Making games
@cattsmall@cattsmall
+ Native to web
+ Free or affordable
+ Many engines to choose from
+ Supports collaboration & version control
+ Export options for various OSes exist
- Too many engines, varying quality
- Browser-native, not usually OS-native
HTML5 game dev + & -’s
@cattsmall@cattsmall
● Well-supported with good documentation
● Easy to learn & use
● Fluid, allows for responsive & fullscreen
● More inputs than keyboard & mouse
● Friendly with other plugins & frameworks
Phaser - why it’s good
@cattsmall@cattsmall
● Available at phaser.io
● Download & include it in your folder like
any other JavaScript framework
Resources:
● github.com/cattsmall/Phaser-game
● codeliberation.github.io/CLF-slides
Phaser - try it out!
@cattsmall@cattsmall
● Intel XDK for mobile & computer OSes
software.intel.com/en-us/intel-xdk
● PhoneGap for mobile OSes
phonegap.com
● CocoonJS for iOS & Android
ludei.com/cocoonjs
● NW.js for Windows, OSX, & Linux
nwjs.io
HTML5 to native
@cattsmall@cattsmall
Get out there & make games!
@cattsmall@cattsmall
Thanks! Questions?
Think of questions later?
Tweet @cattsmall
Email catt@cattsmall.com
Work with me: soundcloud.com/jobs

More Related Content

PDF
Making Native Browser Games in the Modern Age
PDF
The Ultimate Getting Started with Angular Workshop - Devoxx France 2017
PDF
What's New in JHipsterLand - Devoxx US 2017
PDF
Building Cloud Native Progressive Web Apps with Angular and Spring Boot - Dev...
PDF
Building a Car Sales website with Form2Content
PPTX
Best Practices in SharePoint Development - Just Freakin Work! Overcoming Hurd...
PDF
Cloud Native PWAs (progressive web apps with Spring Boot and Angular) - DevNe...
PPTX
Html5 game development
Making Native Browser Games in the Modern Age
The Ultimate Getting Started with Angular Workshop - Devoxx France 2017
What's New in JHipsterLand - Devoxx US 2017
Building Cloud Native Progressive Web Apps with Angular and Spring Boot - Dev...
Building a Car Sales website with Form2Content
Best Practices in SharePoint Development - Just Freakin Work! Overcoming Hurd...
Cloud Native PWAs (progressive web apps with Spring Boot and Angular) - DevNe...
Html5 game development

Viewers also liked (12)

PPT
Marketing 360 - 2011
ODP
HTML5 Mobile Game Development Workshop - Module 2 - HTML5 Developer Conferenc...
PDF
Flappy Bird Game Dev by Phaser Framework
PDF
La ecuación de Batman
PPT
Phaser Workshop Internet World 2014
ODP
HTML5 Game Development frameworks overview
PPTX
Lasertron lt 12 vs zone nexus fec
ODP
HTML5 Mobile Game Development - Brisbane Game Technology Meetup 2015
PPTX
Phaser presentation
PPTX
Introduction to HTML5 game development (with Phaser)
PPTX
Multi-platform Compatibility of HTML5 by developing simple HTML5 based game(M...
PPTX
Making HTML5 Games with Phaser
Marketing 360 - 2011
HTML5 Mobile Game Development Workshop - Module 2 - HTML5 Developer Conferenc...
Flappy Bird Game Dev by Phaser Framework
La ecuación de Batman
Phaser Workshop Internet World 2014
HTML5 Game Development frameworks overview
Lasertron lt 12 vs zone nexus fec
HTML5 Mobile Game Development - Brisbane Game Technology Meetup 2015
Phaser presentation
Introduction to HTML5 game development (with Phaser)
Multi-platform Compatibility of HTML5 by developing simple HTML5 based game(M...
Making HTML5 Games with Phaser
Ad

Similar to Making Native Browser Games in The Modern Age (20)

PDF
HTML5 & JavaScript Games
PDF
HTML5 Games for Web & Mobile
PPTX
A Holistic Approach to HTML5 Game Design & Development
KEY
Seattle javascript game development - Overview
PDF
One codebase, multiple platforms; Using HTML5/js for game dev
PPTX
Presentation3
PPTX
Introduction to Phaser.js
PDF
GDD 2011 - How to build kick ass video games for the cloud
PDF
W3C HTML5 KIG-The complete guide to building html5 games
PPT
iBasket: The story of an HTML5 game
PDF
HTML5 Games Status and issues
PPTX
Teacher Training Workshop - Game Development with Phaser
PPT
Gaming with Open Source Frameworks
PDF
Introduce phaser
PPTX
Building a game in a day
PPT
Delta Engine Multiplatform Development Presentation 2011-05
PDF
Front-End Developers Can Makes Games, Too!
KEY
Corona SDK For Fun and Profit
PPT
Construct2 games tech2
PPTX
Multi-platform Compatibility of HTML5 by developing simple HTML5 based game(M...
HTML5 & JavaScript Games
HTML5 Games for Web & Mobile
A Holistic Approach to HTML5 Game Design & Development
Seattle javascript game development - Overview
One codebase, multiple platforms; Using HTML5/js for game dev
Presentation3
Introduction to Phaser.js
GDD 2011 - How to build kick ass video games for the cloud
W3C HTML5 KIG-The complete guide to building html5 games
iBasket: The story of an HTML5 game
HTML5 Games Status and issues
Teacher Training Workshop - Game Development with Phaser
Gaming with Open Source Frameworks
Introduce phaser
Building a game in a day
Delta Engine Multiplatform Development Presentation 2011-05
Front-End Developers Can Makes Games, Too!
Corona SDK For Fun and Profit
Construct2 games tech2
Multi-platform Compatibility of HTML5 by developing simple HTML5 based game(M...
Ad

More from Catt Small (17)

PDF
Pixel up! - Ship it Sooner
PDF
BrooklynJS: Feelings and Frameworks
PPTX
Write/Speak/Code 2018 – The Full Story: Presenting Complete Ideas
PDF
FusionConf 2018 - We're all designers
PDF
More than bleeps and bloops: UX lessons from game design
PDF
Create Upstate - Ship it sooner: how to get more done in less time
PDF
AIGA Design Conference 2016 - Bootstrapping Communities
PPTX
Designing Socially Impactful Digital Experiences
PDF
!!Con - The Creative Programmer
PDF
FITC 2016 - Just Make Stuff!
PDF
FOWD NYC 2015 – Beyond gamification: more important lessons we can learn from...
PDF
From Maker to Businessperson: Lessons Learned from Becoming a Creative Entrep...
PDF
RVA #GGJ15 Keynote Talk - From Consumer to Creator: Making Games
PDF
We're all Designers: Encouraging Collaboration in Design Without Forming a Co...
PDF
Hooray for UX!
PDF
ConveyUX 2014 – Beyond Gamification: Lessons from Game Design for Engaging Users
PDF
Fun and Usable: Making Better, More Intuitive Games
Pixel up! - Ship it Sooner
BrooklynJS: Feelings and Frameworks
Write/Speak/Code 2018 – The Full Story: Presenting Complete Ideas
FusionConf 2018 - We're all designers
More than bleeps and bloops: UX lessons from game design
Create Upstate - Ship it sooner: how to get more done in less time
AIGA Design Conference 2016 - Bootstrapping Communities
Designing Socially Impactful Digital Experiences
!!Con - The Creative Programmer
FITC 2016 - Just Make Stuff!
FOWD NYC 2015 – Beyond gamification: more important lessons we can learn from...
From Maker to Businessperson: Lessons Learned from Becoming a Creative Entrep...
RVA #GGJ15 Keynote Talk - From Consumer to Creator: Making Games
We're all Designers: Encouraging Collaboration in Design Without Forming a Co...
Hooray for UX!
ConveyUX 2014 – Beyond Gamification: Lessons from Game Design for Engaging Users
Fun and Usable: Making Better, More Intuitive Games

Recently uploaded (20)

PDF
Assigned Numbers - 2025 - Bluetooth® Document
PPTX
Modernising the Digital Integration Hub
PDF
Getting Started with Data Integration: FME Form 101
PDF
Developing a website for English-speaking practice to English as a foreign la...
PDF
Hindi spoken digit analysis for native and non-native speakers
PDF
NewMind AI Weekly Chronicles – August ’25 Week III
PDF
Enhancing emotion recognition model for a student engagement use case through...
DOCX
search engine optimization ppt fir known well about this
PPTX
The various Industrial Revolutions .pptx
PDF
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
PPTX
Final SEM Unit 1 for mit wpu at pune .pptx
PDF
Getting started with AI Agents and Multi-Agent Systems
PDF
A review of recent deep learning applications in wood surface defect identifi...
PPTX
observCloud-Native Containerability and monitoring.pptx
PDF
Univ-Connecticut-ChatGPT-Presentaion.pdf
PDF
Architecture types and enterprise applications.pdf
PDF
A novel scalable deep ensemble learning framework for big data classification...
PDF
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
PDF
Taming the Chaos: How to Turn Unstructured Data into Decisions
PDF
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
Assigned Numbers - 2025 - Bluetooth® Document
Modernising the Digital Integration Hub
Getting Started with Data Integration: FME Form 101
Developing a website for English-speaking practice to English as a foreign la...
Hindi spoken digit analysis for native and non-native speakers
NewMind AI Weekly Chronicles – August ’25 Week III
Enhancing emotion recognition model for a student engagement use case through...
search engine optimization ppt fir known well about this
The various Industrial Revolutions .pptx
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
Final SEM Unit 1 for mit wpu at pune .pptx
Getting started with AI Agents and Multi-Agent Systems
A review of recent deep learning applications in wood surface defect identifi...
observCloud-Native Containerability and monitoring.pptx
Univ-Connecticut-ChatGPT-Presentaion.pdf
Architecture types and enterprise applications.pdf
A novel scalable deep ensemble learning framework for big data classification...
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
Taming the Chaos: How to Turn Unstructured Data into Decisions
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf

Making Native Browser Games in The Modern Age