SlideShare une entreprise Scribd logo
1  sur  32
1
Pham Tung
Javascript and HTML5 Game
Overview of Canvas
Game Programming
Libraries & Tools
Demo
Resources & References
- Let’s Get Start
3
HTML5
Web Socket Drag & Drop
Web Storage History
Web Worker Offline App
Web Database /
Indexed DB
Geolocation
Canvas Video / Audio
 Easy to develop
 Fast deployment
 Easy to debug
 Open source
 Free tools
 Wide support:
◦ Web browers
◦ Mobile devices
◦ Social networking application
• Javascript codeLogic
• <canvas>Graphics
• Onkeydown, onmousedown, …Input
• <audio>Sound / Music
• Ajax, WebSocketMultiplayer
• Images, Video, File APIGame Assets
- A Quick Tour of Using Canvas from
Javascript
8
 2D drawing platform within the browser
 Uses nothing more than JavaScript and HTML
– no plugins
 Extensible through a JavaScript API
 Created by Apple for dashboard widgets
 Now openly developed as a W3C spec
Data visualisation
Animated graphics
Web applications
Games
 <canvas height='600' width='800'></canvas>
 Uses the standard screen-based coordinate
system
 Everything is drawn onto the 2D rendering
context (ctx)
 var canvas =
document.getElementById("canvas");
 var ctx = canvas.getContext("2d");
 ctx.fillStyle = 'rgb(255, 0, 0)';
 ctx.strokeStyle = 'rgba(0, 255, 0, 0.5)';
Method Action
fillRect(x, y, w, h) Draws a rectangle using the
current fill style
strokeRect(x, y, w, h) Draws the outline of a rectangle
using the current stroke style
clearRect(x, y, w, h) Clears all pixels within the given
rectangle
 Text
 Shadows & blurring
 Lines, shapes, image
 Gradients
 Saving state of drawing context
 Transformations
 Composites
 Pixel Manipulation
 http://www.html5canvastutorials.com/
 OOP programming allows much to be
achieved through canvas
 It’ s flexible and powerful
◦ Animation engines
◦ Pseudo 3D graphics
 Reading pixel values opens a lot of doors
 Integration with other HTML5 elements is a
killer feature
 HTML5 Canvas
◦ More open than Flash
◦ Smaller result.
◦ Javascript is built into browsers
◦ Works on most of platforms
◦ No need to compile.
 Adobe Flash
◦ Great authoring tool, easy to go from idea to working
product
◦ Better sound support - many JavaScript libraries
use SoundManager2, which falls back on Flash and tends
to lag
◦ Do not work good in all platforms, for example Linux.
- Get to the Core of the Problem
17
var FPS = 60;
setInterval(gameTick,1000/FPS)
function gameTick()
{
processInput();
updateGame();
draw();
}
don’t always need a game loop
 Euclid
◦ Rotation (known angle)
◦ Rotation (unknown angle)
◦ Rotation (triangle overlay)
◦ Rotation + particles
 Newton
◦ Position
◦ Velocity
◦ Acceleration
◦ Collisions
 Optimizing game loop, skipping draw.
 Use requestAnimationFrame instead of
setInterval / setTimeout.
 Frame buffering, multiple canvases.
 Avoid unnecessary canvas state change.
 Dirty rectangle: redraw only those areas that
have changed.
 Use DOM Elements whenever possible.
– Make everything simple
21
Box2DJs
• A port of Box2D Physics Engine to JavaScript.
SoundManager2
• Using HTML5 and Flash, provides reliable cross-
platform audio under a single JavaScript API.
CanvasScript3
• A Javascript sprite library for HTML5 Canvas similar to
FLASH/ActionScript3
Node.js
• Built on Chrome's JavaScript runtime for easily building
fast, scalable network applications.
 1. HTML5 Game Engine
◦ High Performance
◦ Fully Documented
◦ 2d Physics
◦ Intuitive Interface
◦ Offline Support
 http://www.scirra.com/html5-game-engine
 2. Impact Js
◦ Play Everywhere
◦ Flexible Level Editor for Anything 2D
◦ Publish game into the AppStore with almost native
performance
◦ Powerful Debug Tools
 http://impactjs.com/
 3. Isogenic Engine
◦ Advanced Realtime Networking
◦ Facebook Integration
◦ High Performance Canvas
◦ Physics system built-in utilising Box2d
 http://www.isogenicengine.com/
- A Two Week Game from Scratch
26
 All the usual gameplay, collect coins and
finish the levels.
 No need to download any plugins to play.
 Online version and source code are available
on http://vietgamedev.net/apps/23/mario/
- For further research
29
 Learning HTML5
◦ List of HTML5 Presentation Resources – Earlier post with
many links for this session
◦ HTML5: Edition for Web Authors – Focused subset of the
specification for web devs
◦ HTML5 on the Internet Explorer Learning Site – Videos,
tutorials, articles
◦ HTML5 Demos from Giorgio Sardo – HTML5, CSS, JS, etc.
◦ HTML5 Doctor – HTML5 articles, Element Index, and
resources

Implementing HTML5
◦ CanIUse.com – Details support by browser for HTML5,
CSS3, and other technologies
◦ Modernizr – HTML5 & CSS3 feature detection made easy
◦ HTML5 Cross Browser Polyfills – Helpful for implementing
features while supporting a range of browsers
 HTML5 Specification
 http://developers.whatwg.org/
 Dive into HTML5
 http://diveintohtml5.info/
 Physics for Lazy Game Developers
◦ http://labs.skookum.com/demos/barcampclt_physics/
 Developing Your First HTML5 Game
◦ http://www.script-tutorials.com/html5-game-
development-lesson-1
 HTML5 Canvas Tutorial
 http://www.html5canvastutorials.com/
 HTML5 Game Development Resources
 http://blogs.msdn.com/b/cbowen/archive/2011/12/15/ht
ml5-game-development-resources-from-the-game-
camps.aspx
http://vietgamedev.net
http://yinyangit.wordpress.com
32

Contenu connexe

Tendances

オープンソースのドローン用フライトコントローラ「Dronecode」の概要( #OSC15tk)
オープンソースのドローン用フライトコントローラ「Dronecode」の概要( #OSC15tk)オープンソースのドローン用フライトコントローラ「Dronecode」の概要( #OSC15tk)
オープンソースのドローン用フライトコントローラ「Dronecode」の概要( #OSC15tk)
博宣 今村
 

Tendances (20)

Yahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtc
Yahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtcYahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtc
Yahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtc
 
5分でわかるWebRTCの仕組み - html5minutes vol.01
5分でわかるWebRTCの仕組み - html5minutes vol.015分でわかるWebRTCの仕組み - html5minutes vol.01
5分でわかるWebRTCの仕組み - html5minutes vol.01
 
LakeTahoe
LakeTahoeLakeTahoe
LakeTahoe
 
SpringBootTest入門
SpringBootTest入門SpringBootTest入門
SpringBootTest入門
 
Azure PlayFab トレーニング資料
Azure PlayFab トレーニング資料Azure PlayFab トレーニング資料
Azure PlayFab トレーニング資料
 
PPT Full version: 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう
PPT Full version: 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみようPPT Full version: 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう
PPT Full version: 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう
 
Express js
Express jsExpress js
Express js
 
Node js 入門
Node js 入門Node js 入門
Node js 入門
 
Azureを頑張る理由と頑張り方(Cloud Skills Challenge 2022 winter 発表資料)
Azureを頑張る理由と頑張り方(Cloud Skills Challenge 2022 winter 発表資料)Azureを頑張る理由と頑張り方(Cloud Skills Challenge 2022 winter 発表資料)
Azureを頑張る理由と頑張り方(Cloud Skills Challenge 2022 winter 発表資料)
 
河野ゼミ研究紹介20211020
河野ゼミ研究紹介20211020河野ゼミ研究紹介20211020
河野ゼミ研究紹介20211020
 
React js
React jsReact js
React js
 
OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)
OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)
OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)
 
Apache Spark + Arrow
Apache Spark + ArrowApache Spark + Arrow
Apache Spark + Arrow
 
オープンソースのドローン用フライトコントローラ「Dronecode」の概要( #OSC15tk)
オープンソースのドローン用フライトコントローラ「Dronecode」の概要( #OSC15tk)オープンソースのドローン用フライトコントローラ「Dronecode」の概要( #OSC15tk)
オープンソースのドローン用フライトコントローラ「Dronecode」の概要( #OSC15tk)
 
実践 NestJS
実践 NestJS実践 NestJS
実践 NestJS
 
怖くないSpring Bootのオートコンフィグレーション
怖くないSpring Bootのオートコンフィグレーション怖くないSpring Bootのオートコンフィグレーション
怖くないSpring Bootのオートコンフィグレーション
 
Data Engineering Meetup #1 持続可能なデータ基盤のためのデータの多様性に対する取り組み
Data Engineering Meetup #1 持続可能なデータ基盤のためのデータの多様性に対する取り組みData Engineering Meetup #1 持続可能なデータ基盤のためのデータの多様性に対する取り組み
Data Engineering Meetup #1 持続可能なデータ基盤のためのデータの多様性に対する取り組み
 
Fess/Elasticsearchを使った業務で使える?全文検索への道
Fess/Elasticsearchを使った業務で使える?全文検索への道Fess/Elasticsearchを使った業務で使える?全文検索への道
Fess/Elasticsearchを使った業務で使える?全文検索への道
 
Three.js basics
Three.js basicsThree.js basics
Three.js basics
 
AR / VR / MRの世界に、置けるUI、置けないUI、置くべきUI
AR / VR / MRの世界に、置けるUI、置けないUI、置くべきUIAR / VR / MRの世界に、置けるUI、置けないUI、置くべきUI
AR / VR / MRの世界に、置けるUI、置けないUI、置くべきUI
 

Similaire à Html5 Game Development with Canvas

SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13
Fred Sauer
 
Ie9 dev overview (300) beta
Ie9 dev overview (300) betaIe9 dev overview (300) beta
Ie9 dev overview (300) beta
Kirk Yamamoto
 

Similaire à Html5 Game Development with Canvas (20)

Html5 (games)
Html5 (games)Html5 (games)
Html5 (games)
 
Programming Language Final PPT
Programming Language Final PPTProgramming Language Final PPT
Programming Language Final PPT
 
Introduction to HTML5 & CSS3
Introduction to HTML5 & CSS3Introduction to HTML5 & CSS3
Introduction to HTML5 & CSS3
 
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13
 
Building Kick Ass Video Games for the Cloud
Building Kick Ass Video Games for the CloudBuilding Kick Ass Video Games for the Cloud
Building Kick Ass Video Games for the Cloud
 
Introduction to html5 game programming with impact js
Introduction to html5 game programming with impact jsIntroduction to html5 game programming with impact js
Introduction to html5 game programming with impact js
 
Improving Game Performance in the Browser
Improving Game Performance in the BrowserImproving Game Performance in the Browser
Improving Game Performance in the Browser
 
Full stack development in Go
Full stack development in GoFull stack development in Go
Full stack development in Go
 
Introduction to html5 game programming with ImpactJs
Introduction to html5 game programming with ImpactJsIntroduction to html5 game programming with ImpactJs
Introduction to html5 game programming with ImpactJs
 
Rapid and Reliable Developing with HTML5 & GWT
Rapid and Reliable Developing with HTML5 & GWTRapid and Reliable Developing with HTML5 & GWT
Rapid and Reliable Developing with HTML5 & GWT
 
AAA 3D GRAPHICS ON THE WEB WITH REACTJS + BABYLONJS + UNITY3D by Denis Radin ...
AAA 3D GRAPHICS ON THE WEB WITH REACTJS + BABYLONJS + UNITY3D by Denis Radin ...AAA 3D GRAPHICS ON THE WEB WITH REACTJS + BABYLONJS + UNITY3D by Denis Radin ...
AAA 3D GRAPHICS ON THE WEB WITH REACTJS + BABYLONJS + UNITY3D by Denis Radin ...
 
JS Fest 2019. Денис Радин. AAA 3D графика в Web с ReactJS, BabylonJS и Unity3D
JS Fest 2019. Денис Радин. AAA 3D графика в Web с ReactJS, BabylonJS и Unity3DJS Fest 2019. Денис Радин. AAA 3D графика в Web с ReactJS, BabylonJS и Unity3D
JS Fest 2019. Денис Радин. AAA 3D графика в Web с ReactJS, BabylonJS и Unity3D
 
W3C HTML5 KIG-The complete guide to building html5 games
W3C HTML5 KIG-The complete guide to building html5 gamesW3C HTML5 KIG-The complete guide to building html5 games
W3C HTML5 KIG-The complete guide to building html5 games
 
Nodejs and WebSockets
Nodejs and WebSocketsNodejs and WebSockets
Nodejs and WebSockets
 
HTML5DevConf 2013 (October): WebGL is a game changer!
HTML5DevConf 2013 (October): WebGL is a game changer!HTML5DevConf 2013 (October): WebGL is a game changer!
HTML5DevConf 2013 (October): WebGL is a game changer!
 
Node azure
Node azureNode azure
Node azure
 
Ie9 dev overview (300) beta
Ie9 dev overview (300) betaIe9 dev overview (300) beta
Ie9 dev overview (300) beta
 
An Introduction To Android
An Introduction To AndroidAn Introduction To Android
An Introduction To Android
 
Capstone Project Final Presentation
Capstone Project Final PresentationCapstone Project Final Presentation
Capstone Project Final Presentation
 
GWT Introduction and Overview - SV Code Camp 09
GWT Introduction and Overview - SV Code Camp 09GWT Introduction and Overview - SV Code Camp 09
GWT Introduction and Overview - SV Code Camp 09
 

Dernier

Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
ZurliaSoop
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
QucHHunhnh
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
ciinovamais
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
kauryashika82
 

Dernier (20)

How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
Magic bus Group work1and 2 (Team 3).pptx
Magic bus Group work1and 2 (Team 3).pptxMagic bus Group work1and 2 (Team 3).pptx
Magic bus Group work1and 2 (Team 3).pptx
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptx
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)
 
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxSKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
 
PROCESS RECORDING FORMAT.docx
PROCESS      RECORDING        FORMAT.docxPROCESS      RECORDING        FORMAT.docx
PROCESS RECORDING FORMAT.docx
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 

Html5 Game Development with Canvas

  • 2. Javascript and HTML5 Game Overview of Canvas Game Programming Libraries & Tools Demo Resources & References
  • 3. - Let’s Get Start 3
  • 4. HTML5 Web Socket Drag & Drop Web Storage History Web Worker Offline App Web Database / Indexed DB Geolocation Canvas Video / Audio
  • 5.  Easy to develop  Fast deployment  Easy to debug  Open source  Free tools  Wide support: ◦ Web browers ◦ Mobile devices ◦ Social networking application
  • 6.
  • 7. • Javascript codeLogic • <canvas>Graphics • Onkeydown, onmousedown, …Input • <audio>Sound / Music • Ajax, WebSocketMultiplayer • Images, Video, File APIGame Assets
  • 8. - A Quick Tour of Using Canvas from Javascript 8
  • 9.  2D drawing platform within the browser  Uses nothing more than JavaScript and HTML – no plugins  Extensible through a JavaScript API  Created by Apple for dashboard widgets  Now openly developed as a W3C spec
  • 11.  <canvas height='600' width='800'></canvas>  Uses the standard screen-based coordinate system
  • 12.  Everything is drawn onto the 2D rendering context (ctx)
  • 13.  var canvas = document.getElementById("canvas");  var ctx = canvas.getContext("2d");  ctx.fillStyle = 'rgb(255, 0, 0)';  ctx.strokeStyle = 'rgba(0, 255, 0, 0.5)'; Method Action fillRect(x, y, w, h) Draws a rectangle using the current fill style strokeRect(x, y, w, h) Draws the outline of a rectangle using the current stroke style clearRect(x, y, w, h) Clears all pixels within the given rectangle
  • 14.  Text  Shadows & blurring  Lines, shapes, image  Gradients  Saving state of drawing context  Transformations  Composites  Pixel Manipulation  http://www.html5canvastutorials.com/
  • 15.  OOP programming allows much to be achieved through canvas  It’ s flexible and powerful ◦ Animation engines ◦ Pseudo 3D graphics  Reading pixel values opens a lot of doors  Integration with other HTML5 elements is a killer feature
  • 16.  HTML5 Canvas ◦ More open than Flash ◦ Smaller result. ◦ Javascript is built into browsers ◦ Works on most of platforms ◦ No need to compile.  Adobe Flash ◦ Great authoring tool, easy to go from idea to working product ◦ Better sound support - many JavaScript libraries use SoundManager2, which falls back on Flash and tends to lag ◦ Do not work good in all platforms, for example Linux.
  • 17. - Get to the Core of the Problem 17
  • 18. var FPS = 60; setInterval(gameTick,1000/FPS) function gameTick() { processInput(); updateGame(); draw(); } don’t always need a game loop
  • 19.  Euclid ◦ Rotation (known angle) ◦ Rotation (unknown angle) ◦ Rotation (triangle overlay) ◦ Rotation + particles  Newton ◦ Position ◦ Velocity ◦ Acceleration ◦ Collisions
  • 20.  Optimizing game loop, skipping draw.  Use requestAnimationFrame instead of setInterval / setTimeout.  Frame buffering, multiple canvases.  Avoid unnecessary canvas state change.  Dirty rectangle: redraw only those areas that have changed.  Use DOM Elements whenever possible.
  • 21. – Make everything simple 21
  • 22. Box2DJs • A port of Box2D Physics Engine to JavaScript. SoundManager2 • Using HTML5 and Flash, provides reliable cross- platform audio under a single JavaScript API. CanvasScript3 • A Javascript sprite library for HTML5 Canvas similar to FLASH/ActionScript3 Node.js • Built on Chrome's JavaScript runtime for easily building fast, scalable network applications.
  • 23.  1. HTML5 Game Engine ◦ High Performance ◦ Fully Documented ◦ 2d Physics ◦ Intuitive Interface ◦ Offline Support  http://www.scirra.com/html5-game-engine
  • 24.  2. Impact Js ◦ Play Everywhere ◦ Flexible Level Editor for Anything 2D ◦ Publish game into the AppStore with almost native performance ◦ Powerful Debug Tools  http://impactjs.com/
  • 25.  3. Isogenic Engine ◦ Advanced Realtime Networking ◦ Facebook Integration ◦ High Performance Canvas ◦ Physics system built-in utilising Box2d  http://www.isogenicengine.com/
  • 26. - A Two Week Game from Scratch 26
  • 27.  All the usual gameplay, collect coins and finish the levels.  No need to download any plugins to play.  Online version and source code are available on http://vietgamedev.net/apps/23/mario/
  • 28.
  • 29. - For further research 29
  • 30.  Learning HTML5 ◦ List of HTML5 Presentation Resources – Earlier post with many links for this session ◦ HTML5: Edition for Web Authors – Focused subset of the specification for web devs ◦ HTML5 on the Internet Explorer Learning Site – Videos, tutorials, articles ◦ HTML5 Demos from Giorgio Sardo – HTML5, CSS, JS, etc. ◦ HTML5 Doctor – HTML5 articles, Element Index, and resources  Implementing HTML5 ◦ CanIUse.com – Details support by browser for HTML5, CSS3, and other technologies ◦ Modernizr – HTML5 & CSS3 feature detection made easy ◦ HTML5 Cross Browser Polyfills – Helpful for implementing features while supporting a range of browsers
  • 31.  HTML5 Specification  http://developers.whatwg.org/  Dive into HTML5  http://diveintohtml5.info/  Physics for Lazy Game Developers ◦ http://labs.skookum.com/demos/barcampclt_physics/  Developing Your First HTML5 Game ◦ http://www.script-tutorials.com/html5-game- development-lesson-1  HTML5 Canvas Tutorial  http://www.html5canvastutorials.com/  HTML5 Game Development Resources  http://blogs.msdn.com/b/cbowen/archive/2011/12/15/ht ml5-game-development-resources-from-the-game- camps.aspx