SlideShare uma empresa Scribd logo
1 de 27
Baixar para ler offline
HTML 5 Game

Process & Optimization


Jason Arena, Keith McCullough, Matt Leffler
Every time I discuss HTML 5 with
developers I hear the same thing…
!
It’s not ready for Primetime.
A Few Games
SpongeBob Gone Missing

(Platformer)
!
Power Rangers
(Character animation)
!
Bloomix Battle


Dora Magic Land
!
Back Story
Where we’ve been



Why the transition to HTML 5?
Our clients

• All browsers and devices
• Served into Webviews for Apps

• Easy to update with new content
For Workinman
!
!
HTML5 Environments
Engines we’ve Considered;
PlayN
Construct2

CreateJS
HAXE 

• NME (Now OpenFL)
• Flambé


A Few HTML 5 Engines
(for a good laugh)
Why Flambé
• Easy transition from Flash
• Animation support
• Good performance


Also allows for lots of builds
• HTML 5
• iOS
• Android
• Flash (for IE 8 Desktops)
• Researching Steam
WM Environments
Animation

Flump
Takes a Flash animation and creates a
tweened animation with an atlas file
!
Spriter

A stand-alone animation tool
• Bones
• State blending
!
Design

• Flash
• Photoshop
• Illustrator
!
WM Environments
Think First
There is no way for us to make graphics
for every device. 

Screen Resolutions/Ratios
• Design a modular UI (if possible)
• Scale graphics to screen size
• Bleed the rest for ratio. (Safe Area)
• Oversize art
• Responsive: Brain Crush Example
!
It’s easy to set up good keyboard input
first, but don’t forget touch!
!
Designing for both touch & keyboards
• We focus on making the game work

with touch first and then add keyboard
!
Avoid soft buttons if possible

• Especially for action games
• For some reason producers love them
Think First
No Silver Bullet
• A lot of small savings add up

• Static image compression
• Strategic use of animation tools
!
Manage the loading experience

• Show art fast!

• Keep them Clicking!
Optimization
Load time Optimizations
Break down the loading process
1. Load Splash graphic
2. Load loader graphic
3. Load UI and game play graphics
4. Load level art on demand (5MB)
!
~ We try to keep initial loads under 1MB

but sometimes it’s a judgment call.
Tips & Tricks
In extreme cases:

• Load less content on specific devices
• Load smaller animations or backgrounds
• Create device specific asset bundles
!
!
Tips & Tricks
Loader Folder
Compress static assets as much as possible
PNGs Optimization

• Posterization
• Dirty Transparency
• TinyPNG.org
• 8 Bit dithered PNG for hard edge assets
• Use 80% sized graphics. Scale them up



Use compressed JPGs as Backgrounds
!
Tips & Tricks
Compress Animations



Flump
Use for main characters
• Great for detailed Flash animations
• Typically smaller download
• Bigger memory footprint
– Show Power Rangers Characters
!
Tips & Tricks
Flump Atlas File Json FIle
Compress Animations



PNG Sequences
Best for Enemies, Power Ups, & Particles
• Lower animation Framerate
• Typically larger download
• Smaller memory footprint
!
!
Tips & Tricks
Use tweens for animation
• Lowest memory and download
• Best for small items animating
• Simple rotation
• Scaling
!
Example:

SB Gone Missing background characters
!
Tips & Tricks
General Performance: Pooling

Huge performance hit when instantiating or
disposing elements. 

Example:
• Create all particles before gameplay
• Store them in the pool array
• Only add to render list when needed
Tips & Tricks
Device Performance
• Branch to handle device exceptions
• Game may look a little different
!
Show Korra Example

Test on every device!
Tips & Tricks
Audio – different versions Mp3, OGG
!
Multi channel audio issues
• WebAudio support in iOS
• Android only supports <audio> tags
• 3rd party wrappers
!
!
Tips & Tricks
Wrappers
Ludei: Cocoon JS
• Improved Audio support
• Improved performance?
• Better memory management Vs
Webview
• Consistent cross platform environment
A lil’ Something
WM JS Embed Script

• A JS library to embed games into HTML
• Handles Scaling
• APIs for game communication
• Inform Events:
• Game to HTML
• HTML to Game
!
https://github.com/workinKeith/JSEmbed
Thank You!
Email with any questions
jason@workinman.com

Mais conteúdo relacionado

Destaque

Swaggy Layouts With Flexbox
Swaggy Layouts With FlexboxSwaggy Layouts With Flexbox
Swaggy Layouts With FlexboxFITC
 
Your UX is not my UX
Your UX is not my UXYour UX is not my UX
Your UX is not my UXFITC
 
The Browser Is Dead, Long Live The Web!
The Browser Is Dead, Long Live The Web!The Browser Is Dead, Long Live The Web!
The Browser Is Dead, Long Live The Web!FITC
 
How long does it take to write a name?
How long does it take to write a name?How long does it take to write a name?
How long does it take to write a name?Caroline McGregor, CSM
 
Customizing Your Process
Customizing Your ProcessCustomizing Your Process
Customizing Your ProcessFITC
 
Defying Definition: The Path to Eschewing Traditional Design Genres with Davi...
Defying Definition: The Path to Eschewing Traditional Design Genres with Davi...Defying Definition: The Path to Eschewing Traditional Design Genres with Davi...
Defying Definition: The Path to Eschewing Traditional Design Genres with Davi...FITC
 
Reinvent Your Creative Process with Collaborative Hackathons
Reinvent Your Creative Process with Collaborative HackathonsReinvent Your Creative Process with Collaborative Hackathons
Reinvent Your Creative Process with Collaborative HackathonsFITC
 
Making Work For Humans, Not Consumers
Making Work For Humans, Not ConsumersMaking Work For Humans, Not Consumers
Making Work For Humans, Not ConsumersFITC
 
A New Era for Animators
A New Era for AnimatorsA New Era for Animators
A New Era for AnimatorsFITC
 
Making Native Browser Games in the Modern Age
 Making Native Browser Games in the Modern Age Making Native Browser Games in the Modern Age
Making Native Browser Games in the Modern AgeFITC
 
(Re)aligning The Way 400,000 People Think
(Re)aligning The Way 400,000 People Think(Re)aligning The Way 400,000 People Think
(Re)aligning The Way 400,000 People ThinkFITC
 
UX Lessons from the USSR: The Trouble with Manifestos with Erik von Stackelberg
 UX Lessons from the USSR: The Trouble with Manifestos with Erik von Stackelberg UX Lessons from the USSR: The Trouble with Manifestos with Erik von Stackelberg
UX Lessons from the USSR: The Trouble with Manifestos with Erik von StackelbergFITC
 
Rapid Interactive Prototyping – How Designers can Embrace the Need for Speed
Rapid Interactive Prototyping – How Designers can Embrace the Need for SpeedRapid Interactive Prototyping – How Designers can Embrace the Need for Speed
Rapid Interactive Prototyping – How Designers can Embrace the Need for SpeedFITC
 
How We Used To, How We Will
How We Used To, How We WillHow We Used To, How We Will
How We Used To, How We WillFITC
 
Just Make Stuff!
Just Make Stuff!Just Make Stuff!
Just Make Stuff!FITC
 
DOM Features You Didn’t Know Existed
DOM Features You Didn’t Know ExistedDOM Features You Didn’t Know Existed
DOM Features You Didn’t Know ExistedFITC
 

Destaque (16)

Swaggy Layouts With Flexbox
Swaggy Layouts With FlexboxSwaggy Layouts With Flexbox
Swaggy Layouts With Flexbox
 
Your UX is not my UX
Your UX is not my UXYour UX is not my UX
Your UX is not my UX
 
The Browser Is Dead, Long Live The Web!
The Browser Is Dead, Long Live The Web!The Browser Is Dead, Long Live The Web!
The Browser Is Dead, Long Live The Web!
 
How long does it take to write a name?
How long does it take to write a name?How long does it take to write a name?
How long does it take to write a name?
 
Customizing Your Process
Customizing Your ProcessCustomizing Your Process
Customizing Your Process
 
Defying Definition: The Path to Eschewing Traditional Design Genres with Davi...
Defying Definition: The Path to Eschewing Traditional Design Genres with Davi...Defying Definition: The Path to Eschewing Traditional Design Genres with Davi...
Defying Definition: The Path to Eschewing Traditional Design Genres with Davi...
 
Reinvent Your Creative Process with Collaborative Hackathons
Reinvent Your Creative Process with Collaborative HackathonsReinvent Your Creative Process with Collaborative Hackathons
Reinvent Your Creative Process with Collaborative Hackathons
 
Making Work For Humans, Not Consumers
Making Work For Humans, Not ConsumersMaking Work For Humans, Not Consumers
Making Work For Humans, Not Consumers
 
A New Era for Animators
A New Era for AnimatorsA New Era for Animators
A New Era for Animators
 
Making Native Browser Games in the Modern Age
 Making Native Browser Games in the Modern Age Making Native Browser Games in the Modern Age
Making Native Browser Games in the Modern Age
 
(Re)aligning The Way 400,000 People Think
(Re)aligning The Way 400,000 People Think(Re)aligning The Way 400,000 People Think
(Re)aligning The Way 400,000 People Think
 
UX Lessons from the USSR: The Trouble with Manifestos with Erik von Stackelberg
 UX Lessons from the USSR: The Trouble with Manifestos with Erik von Stackelberg UX Lessons from the USSR: The Trouble with Manifestos with Erik von Stackelberg
UX Lessons from the USSR: The Trouble with Manifestos with Erik von Stackelberg
 
Rapid Interactive Prototyping – How Designers can Embrace the Need for Speed
Rapid Interactive Prototyping – How Designers can Embrace the Need for SpeedRapid Interactive Prototyping – How Designers can Embrace the Need for Speed
Rapid Interactive Prototyping – How Designers can Embrace the Need for Speed
 
How We Used To, How We Will
How We Used To, How We WillHow We Used To, How We Will
How We Used To, How We Will
 
Just Make Stuff!
Just Make Stuff!Just Make Stuff!
Just Make Stuff!
 
DOM Features You Didn’t Know Existed
DOM Features You Didn’t Know ExistedDOM Features You Didn’t Know Existed
DOM Features You Didn’t Know Existed
 

Mais de FITC

Cut it up
Cut it upCut it up
Cut it upFITC
 
Designing for Digital Health
Designing for Digital HealthDesigning for Digital Health
Designing for Digital HealthFITC
 
Profiling JavaScript Performance
Profiling JavaScript PerformanceProfiling JavaScript Performance
Profiling JavaScript PerformanceFITC
 
Surviving Your Tech Stack
Surviving Your Tech StackSurviving Your Tech Stack
Surviving Your Tech StackFITC
 
How to Pitch Your First AR Project
How to Pitch Your First AR ProjectHow to Pitch Your First AR Project
How to Pitch Your First AR ProjectFITC
 
Start by Understanding the Problem, Not by Delivering the Answer
Start by Understanding the Problem, Not by Delivering the AnswerStart by Understanding the Problem, Not by Delivering the Answer
Start by Understanding the Problem, Not by Delivering the AnswerFITC
 
Cocaine to Carrots: The Art of Telling Someone Else’s Story
Cocaine to Carrots: The Art of Telling Someone Else’s StoryCocaine to Carrots: The Art of Telling Someone Else’s Story
Cocaine to Carrots: The Art of Telling Someone Else’s StoryFITC
 
Everyday Innovation
Everyday InnovationEveryday Innovation
Everyday InnovationFITC
 
HyperLight Websites
HyperLight WebsitesHyperLight Websites
HyperLight WebsitesFITC
 
Everything is Terrifying
Everything is TerrifyingEverything is Terrifying
Everything is TerrifyingFITC
 
Post-Earth Visions: Designing for Space and the Future Human
Post-Earth Visions: Designing for Space and the Future HumanPost-Earth Visions: Designing for Space and the Future Human
Post-Earth Visions: Designing for Space and the Future HumanFITC
 
The Rise of the Creative Social Influencer (and How to Become One)
The Rise of the Creative Social Influencer (and How to Become One)The Rise of the Creative Social Influencer (and How to Become One)
The Rise of the Creative Social Influencer (and How to Become One)FITC
 
East of the Rockies: Developing an AR Game
East of the Rockies: Developing an AR GameEast of the Rockies: Developing an AR Game
East of the Rockies: Developing an AR GameFITC
 
Creating a Proactive Healthcare System
Creating a Proactive Healthcare SystemCreating a Proactive Healthcare System
Creating a Proactive Healthcare SystemFITC
 
World Transformation: The Secret Agenda of Product Design
World Transformation: The Secret Agenda of Product DesignWorld Transformation: The Secret Agenda of Product Design
World Transformation: The Secret Agenda of Product DesignFITC
 
The Power of Now
The Power of NowThe Power of Now
The Power of NowFITC
 
High Performance PWAs
High Performance PWAsHigh Performance PWAs
High Performance PWAsFITC
 
Rise of the JAMstack
Rise of the JAMstackRise of the JAMstack
Rise of the JAMstackFITC
 
From Closed to Open: A Journey of Self Discovery
From Closed to Open: A Journey of Self DiscoveryFrom Closed to Open: A Journey of Self Discovery
From Closed to Open: A Journey of Self DiscoveryFITC
 
Projects Ain’t Nobody Got Time For
Projects Ain’t Nobody Got Time ForProjects Ain’t Nobody Got Time For
Projects Ain’t Nobody Got Time ForFITC
 

Mais de FITC (20)

Cut it up
Cut it upCut it up
Cut it up
 
Designing for Digital Health
Designing for Digital HealthDesigning for Digital Health
Designing for Digital Health
 
Profiling JavaScript Performance
Profiling JavaScript PerformanceProfiling JavaScript Performance
Profiling JavaScript Performance
 
Surviving Your Tech Stack
Surviving Your Tech StackSurviving Your Tech Stack
Surviving Your Tech Stack
 
How to Pitch Your First AR Project
How to Pitch Your First AR ProjectHow to Pitch Your First AR Project
How to Pitch Your First AR Project
 
Start by Understanding the Problem, Not by Delivering the Answer
Start by Understanding the Problem, Not by Delivering the AnswerStart by Understanding the Problem, Not by Delivering the Answer
Start by Understanding the Problem, Not by Delivering the Answer
 
Cocaine to Carrots: The Art of Telling Someone Else’s Story
Cocaine to Carrots: The Art of Telling Someone Else’s StoryCocaine to Carrots: The Art of Telling Someone Else’s Story
Cocaine to Carrots: The Art of Telling Someone Else’s Story
 
Everyday Innovation
Everyday InnovationEveryday Innovation
Everyday Innovation
 
HyperLight Websites
HyperLight WebsitesHyperLight Websites
HyperLight Websites
 
Everything is Terrifying
Everything is TerrifyingEverything is Terrifying
Everything is Terrifying
 
Post-Earth Visions: Designing for Space and the Future Human
Post-Earth Visions: Designing for Space and the Future HumanPost-Earth Visions: Designing for Space and the Future Human
Post-Earth Visions: Designing for Space and the Future Human
 
The Rise of the Creative Social Influencer (and How to Become One)
The Rise of the Creative Social Influencer (and How to Become One)The Rise of the Creative Social Influencer (and How to Become One)
The Rise of the Creative Social Influencer (and How to Become One)
 
East of the Rockies: Developing an AR Game
East of the Rockies: Developing an AR GameEast of the Rockies: Developing an AR Game
East of the Rockies: Developing an AR Game
 
Creating a Proactive Healthcare System
Creating a Proactive Healthcare SystemCreating a Proactive Healthcare System
Creating a Proactive Healthcare System
 
World Transformation: The Secret Agenda of Product Design
World Transformation: The Secret Agenda of Product DesignWorld Transformation: The Secret Agenda of Product Design
World Transformation: The Secret Agenda of Product Design
 
The Power of Now
The Power of NowThe Power of Now
The Power of Now
 
High Performance PWAs
High Performance PWAsHigh Performance PWAs
High Performance PWAs
 
Rise of the JAMstack
Rise of the JAMstackRise of the JAMstack
Rise of the JAMstack
 
From Closed to Open: A Journey of Self Discovery
From Closed to Open: A Journey of Self DiscoveryFrom Closed to Open: A Journey of Self Discovery
From Closed to Open: A Journey of Self Discovery
 
Projects Ain’t Nobody Got Time For
Projects Ain’t Nobody Got Time ForProjects Ain’t Nobody Got Time For
Projects Ain’t Nobody Got Time For
 

Último

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024SynarionITSolutions
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 

Último (20)

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 

Browser Based Game Performance: I’m Over My Old Flame

  • 1. HTML 5 Game
 Process & Optimization 
 Jason Arena, Keith McCullough, Matt Leffler
  • 2. Every time I discuss HTML 5 with developers I hear the same thing… !
  • 3. It’s not ready for Primetime.
  • 4. A Few Games SpongeBob Gone Missing
 (Platformer) ! Power Rangers (Character animation) ! Bloomix Battle 
 Dora Magic Land !
  • 5. Back Story Where we’ve been
 
 Why the transition to HTML 5? Our clients
 • All browsers and devices • Served into Webviews for Apps
 • Easy to update with new content For Workinman ! !
  • 6. HTML5 Environments Engines we’ve Considered; PlayN Construct2
 CreateJS HAXE 
 • NME (Now OpenFL) • Flambé 
 A Few HTML 5 Engines (for a good laugh)
  • 7. Why Flambé • Easy transition from Flash • Animation support • Good performance 
 Also allows for lots of builds • HTML 5 • iOS • Android • Flash (for IE 8 Desktops) • Researching Steam
  • 8.
  • 9. WM Environments Animation
 Flump Takes a Flash animation and creates a tweened animation with an atlas file ! Spriter
 A stand-alone animation tool • Bones • State blending !
  • 10. Design
 • Flash • Photoshop • Illustrator ! WM Environments
  • 11. Think First There is no way for us to make graphics for every device. 
 Screen Resolutions/Ratios • Design a modular UI (if possible) • Scale graphics to screen size • Bleed the rest for ratio. (Safe Area) • Oversize art • Responsive: Brain Crush Example !
  • 12. It’s easy to set up good keyboard input first, but don’t forget touch! ! Designing for both touch & keyboards • We focus on making the game work
 with touch first and then add keyboard ! Avoid soft buttons if possible
 • Especially for action games • For some reason producers love them Think First
  • 13. No Silver Bullet • A lot of small savings add up
 • Static image compression • Strategic use of animation tools ! Manage the loading experience
 • Show art fast!
 • Keep them Clicking! Optimization
  • 14. Load time Optimizations Break down the loading process 1. Load Splash graphic 2. Load loader graphic 3. Load UI and game play graphics 4. Load level art on demand (5MB) ! ~ We try to keep initial loads under 1MB
 but sometimes it’s a judgment call. Tips & Tricks
  • 15. In extreme cases:
 • Load less content on specific devices • Load smaller animations or backgrounds • Create device specific asset bundles ! ! Tips & Tricks
  • 17. Compress static assets as much as possible PNGs Optimization
 • Posterization • Dirty Transparency • TinyPNG.org • 8 Bit dithered PNG for hard edge assets • Use 80% sized graphics. Scale them up
 
 Use compressed JPGs as Backgrounds ! Tips & Tricks
  • 18. Compress Animations
 
 Flump Use for main characters • Great for detailed Flash animations • Typically smaller download • Bigger memory footprint – Show Power Rangers Characters ! Tips & Tricks
  • 19. Flump Atlas File Json FIle
  • 20. Compress Animations
 
 PNG Sequences Best for Enemies, Power Ups, & Particles • Lower animation Framerate • Typically larger download • Smaller memory footprint ! ! Tips & Tricks
  • 21. Use tweens for animation • Lowest memory and download • Best for small items animating • Simple rotation • Scaling ! Example:
 SB Gone Missing background characters ! Tips & Tricks
  • 22. General Performance: Pooling
 Huge performance hit when instantiating or disposing elements. 
 Example: • Create all particles before gameplay • Store them in the pool array • Only add to render list when needed Tips & Tricks
  • 23. Device Performance • Branch to handle device exceptions • Game may look a little different ! Show Korra Example
 Test on every device! Tips & Tricks
  • 24. Audio – different versions Mp3, OGG ! Multi channel audio issues • WebAudio support in iOS • Android only supports <audio> tags • 3rd party wrappers ! ! Tips & Tricks
  • 25. Wrappers Ludei: Cocoon JS • Improved Audio support • Improved performance? • Better memory management Vs Webview • Consistent cross platform environment
  • 26. A lil’ Something WM JS Embed Script
 • A JS library to embed games into HTML • Handles Scaling • APIs for game communication • Inform Events: • Game to HTML • HTML to Game ! https://github.com/workinKeith/JSEmbed
  • 27. Thank You! Email with any questions jason@workinman.com