SlideShare a Scribd company logo
1 of 20
Hello,HTML5 Games
      tiejun@taobao.com
      2011-12-25
大纲

   web游戏开发技术、方案、思路
   基于canvas的游戏开发
   举例圣诞游戏
   附录
Web 游戏开发技术

 2D:
    Flash
    DOM based Games
    Canvas based Games (ie9)
    SVG based Games (ie9)

 3D:
  WebGL based Games (ff4,ch9)
  Flash 11(stage3D) Games
  Unity Games
Web游戏应用
3 Dreams of Black
Web游戏应用
helloracer
Web游戏应用
Nissan: StageJUK3D
2D Web游戏技术选择
   Flash - 相对成熟(for us:难控制,部署调试成本高)
   DOM - 事件处理,兼容,动画
   Canvas -多动画,标准的api
   SVG - 矢量,事件
游戏就是一个世界

 世界中恒定不变的增量 — 时间
 世界中的物体 — 对象
 世界中恒定的规律 — 自然科学
基于Canvas的游戏开发
1.兼容
1.   VML —— explorercanvas : 兼容性不好
2.   Silverlight —— slcanvas : Original Silverlight bridge
3.   Flash —— flashcanvas : faster,有一些bug,性能问题
4.   DOM —— domcanvas : simple api,png24 low
基于Canvas的游戏开发
2.难点
 1. event
     1. 原生不支持多按键按下
     2. 事件触发频率~130 > 30 fps
     3. 鼠标事件判断
     solution:
     1. 记录事件
     2. 缓存事件,重绘时触发
     3. 逻辑交叉判断

 2. time
      1. 频率间隔不准
      2. 浏览器的单线程
      solution:
      1. 基于时间而非帧频
      2. requestFrame
基于Canvas的游戏开发
2.难点
 3. layer
      1. 不支持图层概念,canvas无法嵌套
      solution:
      1. 逻辑上实现
      2. 多canvas

 4. performance
     1. 加载性能
     2. 执行性能
     solution:
     1. 分级加载
     2. 预渲染
     3. 区域重绘
     4. 分层渲染
     5. requestAnimationFrame
     6. tips...
基于Canvas的游戏开发
3.framework/engine
 1.   Impact
 2.   GameJs
 3.   CraftyJs
 4.   LimeJs
 5.   Isogenic Engine
 6.   ....
例子:圣诞游戏
方案&架构

方案选择:

 1. flash —— no flash developer
 2. dom + flash —— rorate not easly
 3. canvas

 1. 非大型活动
 2. 方案上能实现

 JUST TRY!
Engine 设计


                  GameObject
                  ImageObject
                   AnimObject

      GameManager               Resource
      Methods:              Events: onload
      addGameObject         Properties:
      removeGameObject      images
      render
      draw
      events
App 层

 App Manager


                Tree           Player
                晃动             控制



                Gift            Info
               旋转,物理       倒计时、得分




App Manager:初始化引擎,加载资源,管理游戏对象,游戏逻辑
附1:资料
• Foundation.HTML5.Canvas.For.Games.and.Ent
  ertainment.pdf
• HTML5 Games Development by Example.pdf
• https://github.com/bebraw/jswiki/wiki/Game-
  Engines
• http://sourceforge.net/projects/box2d-js/
附2:资料
•   https://gaming.mozillalabs.com/games/
•   http://www.canvasdemos.com/
•   http://html5games.com/
•   http://10k.aneventapart.com/
附3:flashCanvas 问题
normal:
  1. 图片宽度不能超过2000px
  2. 渲染文字不能在最后
  3. 无法load简单外部图片
normal & Pro 1.5:
  1. stroke bug
  2. load 外部图片性能(重复加载)
End ,Thx

More Related Content

Similar to Hello Html5 Games

Html5 canvas 游戏开发实例详解
Html5 canvas 游戏开发实例详解Html5 canvas 游戏开发实例详解
Html5 canvas 游戏开发实例详解believeStrong
 
GDC Taipei Summit review 2012
GDC Taipei Summit review 2012GDC Taipei Summit review 2012
GDC Taipei Summit review 2012Victor Lee
 
Html5移动网站开发实践
Html5移动网站开发实践Html5移动网站开发实践
Html5移动网站开发实践Web Zhao
 
Graphic programming in js
Graphic programming in jsGraphic programming in js
Graphic programming in jsjay li
 
成大專題演講 遊戲製作 - how a video game is made
成大專題演講 遊戲製作 - how a video game is made成大專題演講 遊戲製作 - how a video game is made
成大專題演講 遊戲製作 - how a video game is madeChen Po Chung
 
07 funny sango td and cocos2d-x
07   funny sango td and cocos2d-x07   funny sango td and cocos2d-x
07 funny sango td and cocos2d-x乐费 胡
 
杜增强 Flash移动开发优化技巧
杜增强 Flash移动开发优化技巧杜增强 Flash移动开发优化技巧
杜增强 Flash移动开发优化技巧增强 杜
 
July.2011.w3ctech
July.2011.w3ctechJuly.2011.w3ctech
July.2011.w3ctechKai Cui
 
以Code igniter為基礎的網頁前端程式設計
以Code igniter為基礎的網頁前端程式設計以Code igniter為基礎的網頁前端程式設計
以Code igniter為基礎的網頁前端程式設計Amigo 陳兆祥
 
Mobile Web Game 開發心得分享
Mobile Web Game 開發心得分享Mobile Web Game 開發心得分享
Mobile Web Game 開發心得分享世欽 陳
 
Game development using monogame
Game development using monogameGame development using monogame
Game development using monogamePower Wu
 
陈桂鸿 Ak--手机qq hybrid-app优化新思路
陈桂鸿 Ak--手机qq hybrid-app优化新思路陈桂鸿 Ak--手机qq hybrid-app优化新思路
陈桂鸿 Ak--手机qq hybrid-app优化新思路yingganfei
 
2013 05 同業分享會 米蘭數位 奶綠茶 createJS
2013 05 同業分享會 米蘭數位 奶綠茶 createJS2013 05 同業分享會 米蘭數位 奶綠茶 createJS
2013 05 同業分享會 米蘭數位 奶綠茶 createJS綠茶 奶
 
图片优化中常见的7大误区你犯了多少
图片优化中常见的7大误区你犯了多少图片优化中常见的7大误区你犯了多少
图片优化中常见的7大误区你犯了多少youhua tang
 
前端性能优化和自动化
前端性能优化和自动化前端性能优化和自动化
前端性能优化和自动化kaven yan
 
20120516 axure rp prototype design outline
20120516 axure rp prototype design outline20120516 axure rp prototype design outline
20120516 axure rp prototype design outlineturtleknight
 
Gentek应用介绍20111123
Gentek应用介绍20111123Gentek应用介绍20111123
Gentek应用介绍20111123oemgame
 
为独立工作室构建跨平台引擎
为独立工作室构建跨平台引擎为独立工作室构建跨平台引擎
为独立工作室构建跨平台引擎Coconut Island
 
Node.js 進攻桌面開發
Node.js 進攻桌面開發Node.js 進攻桌面開發
Node.js 進攻桌面開發Fred Chien
 

Similar to Hello Html5 Games (20)

Html5 canvas 游戏开发实例详解
Html5 canvas 游戏开发实例详解Html5 canvas 游戏开发实例详解
Html5 canvas 游戏开发实例详解
 
GDC Taipei Summit review 2012
GDC Taipei Summit review 2012GDC Taipei Summit review 2012
GDC Taipei Summit review 2012
 
Html5移动网站开发实践
Html5移动网站开发实践Html5移动网站开发实践
Html5移动网站开发实践
 
Graphic programming in js
Graphic programming in jsGraphic programming in js
Graphic programming in js
 
成大專題演講 遊戲製作 - how a video game is made
成大專題演講 遊戲製作 - how a video game is made成大專題演講 遊戲製作 - how a video game is made
成大專題演講 遊戲製作 - how a video game is made
 
07 funny sango td and cocos2d-x
07   funny sango td and cocos2d-x07   funny sango td and cocos2d-x
07 funny sango td and cocos2d-x
 
杜增强 Flash移动开发优化技巧
杜增强 Flash移动开发优化技巧杜增强 Flash移动开发优化技巧
杜增强 Flash移动开发优化技巧
 
July.2011.w3ctech
July.2011.w3ctechJuly.2011.w3ctech
July.2011.w3ctech
 
以Code igniter為基礎的網頁前端程式設計
以Code igniter為基礎的網頁前端程式設計以Code igniter為基礎的網頁前端程式設計
以Code igniter為基礎的網頁前端程式設計
 
Mobile Web Game 開發心得分享
Mobile Web Game 開發心得分享Mobile Web Game 開發心得分享
Mobile Web Game 開發心得分享
 
Game development using monogame
Game development using monogameGame development using monogame
Game development using monogame
 
陈桂鸿 Ak--手机qq hybrid-app优化新思路
陈桂鸿 Ak--手机qq hybrid-app优化新思路陈桂鸿 Ak--手机qq hybrid-app优化新思路
陈桂鸿 Ak--手机qq hybrid-app优化新思路
 
2013 05 同業分享會 米蘭數位 奶綠茶 createJS
2013 05 同業分享會 米蘭數位 奶綠茶 createJS2013 05 同業分享會 米蘭數位 奶綠茶 createJS
2013 05 同業分享會 米蘭數位 奶綠茶 createJS
 
图片优化中常见的7大误区你犯了多少
图片优化中常见的7大误区你犯了多少图片优化中常见的7大误区你犯了多少
图片优化中常见的7大误区你犯了多少
 
Berserk js
Berserk jsBerserk js
Berserk js
 
前端性能优化和自动化
前端性能优化和自动化前端性能优化和自动化
前端性能优化和自动化
 
20120516 axure rp prototype design outline
20120516 axure rp prototype design outline20120516 axure rp prototype design outline
20120516 axure rp prototype design outline
 
Gentek应用介绍20111123
Gentek应用介绍20111123Gentek应用介绍20111123
Gentek应用介绍20111123
 
为独立工作室构建跨平台引擎
为独立工作室构建跨平台引擎为独立工作室构建跨平台引擎
为独立工作室构建跨平台引擎
 
Node.js 進攻桌面開發
Node.js 進攻桌面開發Node.js 進攻桌面開發
Node.js 進攻桌面開發
 

More from tbmallf2e

Node getting start
Node getting startNode getting start
Node getting starttbmallf2e
 
猫粮快报
猫粮快报猫粮快报
猫粮快报tbmallf2e
 
618风林火山(仙快羽)
618风林火山(仙快羽)618风林火山(仙快羽)
618风林火山(仙快羽)tbmallf2e
 
前端性能测试
前端性能测试前端性能测试
前端性能测试tbmallf2e
 
猫粮快报 金艳艳
猫粮快报 金艳艳猫粮快报 金艳艳
猫粮快报 金艳艳tbmallf2e
 
浅谈前端安全与规范(渔隐)
浅谈前端安全与规范(渔隐)浅谈前端安全与规范(渔隐)
浅谈前端安全与规范(渔隐)tbmallf2e
 
猫粮快报
猫粮快报猫粮快报
猫粮快报tbmallf2e
 
番茄工作法
番茄工作法番茄工作法
番茄工作法tbmallf2e
 
天祁《交易线》
天祁《交易线》天祁《交易线》
天祁《交易线》tbmallf2e
 
Tmall demo environment
Tmall demo environmentTmall demo environment
Tmall demo environmenttbmallf2e
 
Tm快报201202 daqiu
Tm快报201202 daqiuTm快报201202 daqiu
Tm快报201202 daqiutbmallf2e
 
快速开发Css
快速开发Css快速开发Css
快速开发Csstbmallf2e
 
Google Chrome Developer Tools
Google Chrome Developer ToolsGoogle Chrome Developer Tools
Google Chrome Developer Toolstbmallf2e
 
Velocity beijing 2011 xianyu
Velocity beijing 2011   xianyuVelocity beijing 2011   xianyu
Velocity beijing 2011 xianyutbmallf2e
 
Chrome中的创意和应用
Chrome中的创意和应用Chrome中的创意和应用
Chrome中的创意和应用tbmallf2e
 
2011 04-19 html5 css3 及脚本
2011 04-19 html5 css3 及脚本2011 04-19 html5 css3 及脚本
2011 04-19 html5 css3 及脚本tbmallf2e
 
如何为非文本内容添加合适的替代信息
如何为非文本内容添加合适的替代信息如何为非文本内容添加合适的替代信息
如何为非文本内容添加合适的替代信息tbmallf2e
 

More from tbmallf2e (20)

Node getting start
Node getting startNode getting start
Node getting start
 
猫粮快报
猫粮快报猫粮快报
猫粮快报
 
618风林火山(仙快羽)
618风林火山(仙快羽)618风林火山(仙快羽)
618风林火山(仙快羽)
 
前端性能测试
前端性能测试前端性能测试
前端性能测试
 
猫粮快报 金艳艳
猫粮快报 金艳艳猫粮快报 金艳艳
猫粮快报 金艳艳
 
浅谈前端安全与规范(渔隐)
浅谈前端安全与规范(渔隐)浅谈前端安全与规范(渔隐)
浅谈前端安全与规范(渔隐)
 
Demo review
Demo reviewDemo review
Demo review
 
猫粮快报
猫粮快报猫粮快报
猫粮快报
 
番茄工作法
番茄工作法番茄工作法
番茄工作法
 
呜龙
呜龙呜龙
呜龙
 
天祁《交易线》
天祁《交易线》天祁《交易线》
天祁《交易线》
 
Tmall demo environment
Tmall demo environmentTmall demo environment
Tmall demo environment
 
Tm快报201202 daqiu
Tm快报201202 daqiuTm快报201202 daqiu
Tm快报201202 daqiu
 
快速开发Css
快速开发Css快速开发Css
快速开发Css
 
Google Chrome Developer Tools
Google Chrome Developer ToolsGoogle Chrome Developer Tools
Google Chrome Developer Tools
 
Velocity beijing 2011 xianyu
Velocity beijing 2011   xianyuVelocity beijing 2011   xianyu
Velocity beijing 2011 xianyu
 
Mvc
MvcMvc
Mvc
 
Chrome中的创意和应用
Chrome中的创意和应用Chrome中的创意和应用
Chrome中的创意和应用
 
2011 04-19 html5 css3 及脚本
2011 04-19 html5 css3 及脚本2011 04-19 html5 css3 及脚本
2011 04-19 html5 css3 及脚本
 
如何为非文本内容添加合适的替代信息
如何为非文本内容添加合适的替代信息如何为非文本内容添加合适的替代信息
如何为非文本内容添加合适的替代信息
 

Hello Html5 Games