随着浏览器(PC/Mobile)功能的不断增强,特别是近几年来HTML5系列技术,CSS3及JS引擎的快速发展,使用传统的Web前端开发技术来开发网页已经成为了一个新的趋势。就我个人个遇到的几个框架及近期别人推荐的进行一些分析。主要针对使用HTML+CSS+JavaScript技术来开发游戏的技术做一分类,其它第三方语言实现的中间件平台只在最后简要介绍。

HTML Web Games的游戏开发,目前主要有以下三类方式:

  • 纯DOM+CSS的传统方式实现游戏
  • Canvas/WebGL & CSS3 实现游戏
  • SVG方式开发游戏

当然,介于这三类之间的混合方式也有人已经在尝试,类似于目前比较火的Hybird Native Web App的理念,毕竟,只要能快速,高效解决问题的技术才是好技术。

由于HTML5技术这两年的迅速普及,大多数入门的游戏开发入门者,主要接受的是使用Canvas技术来开发游戏。但对于使用纯DOM+CSS的传统技术组合开发游戏与Canvas开发游戏二者性能上的比较,很多资深开发者们,不停地做着性能测试,来支持自己的观点。主要是基于以下考虑:canvas提供的API太基础了,游戏开发者如果使用canvas,就意味着放弃了CSS这个浏览器“亲生的”样式工具。于是接着就涌现出了很多基于canvas的库,来辅助开发者快速开发游戏。但这些canvas库的封装性能来渲染图像的性能与使用DOM+CSS进行图片渲染的性能的PK目前还未有定论。就个人的测试,小游戏开发方面性能差别可以忽略。前端界有一个大拿做了一个js动画库,基于同一套代码生成基于canvas,webgl,css 各自渲染的效果,很不错(http://labs.hyperandroid.com/static/caat/)。

下面对于目前比较流行的一些游戏工具库进行介绍。

ImpactJS是目前最强大的一个js 2D游戏开发平台,当然是商业版的(http://impactjs.com),(国内有一个山寨者做了一个http://www.kilofox.net/, 直接拿人家的源码来卖,太TMD不要脸了)。不管是新手还是资深的开发者,使用这个库都可以快速开发出来游戏。作者很nice,半年前我以研究者的身份买了一份进行了测试,基本上照着示例不到十分钟就做出来了一个带简单AI的小游戏.

从平台本身的角度,这款框架有以下特性:

  • 良好的跨平台性,目前作者发布了测试版的iOSImpact,通过 OpenGL 直接将JavaScript 源代码的执行结果渲染到屏幕上。这完全跳过了 iPhone 的手机 Safari,避免了这个浏览器固有的一些问题。iOSImpact完成之后,期待AndroidImpact出来,哈哈。
  • 目前市面上最好的Web版2D关卡编辑器Weltmeister,快速地可以对游戏进行界地图编辑
  • 强大的游戏调试菜单,很像我们调试JS时使用的firebug, 快速地看到每一个游戏实体的更新,渲染FPS等。
  • 作者的更新很迅速,可以在github上查看到他非常勤奋地在推进这个框架,论坛中的开发者们也很活跃。目前有一个专门收集使用impactjs的游戏网站http://www.pointofimpactjs.com/。
  • 第三方工具的支持,如与Appmobi这家强大的移动游戏开放平台商的合作。Appmobi提供了专门的impactjs版的SDK供开发者开发游戏。与打包工具phonegap等的结合,与著名物理引擎Box2D的结合等。

查看ImpactJS本身的代码架构,可以看到,它包括了制作一款游戏的各个方面:

  • 核心的模块定义,动态加载,扩展了原生JS的类似于underscore.js的工具类库,系统整体FPS控制等,资源预加载。
  • 逻辑处理 包括游戏场景控制器,活动对象控制,多层地图控制,计时器及输入检测
  • 声音资源的处理(前景声音,背景声音),在HTML5相关的浏览器厂商还在为标准争论的时候,这是我目前已知的解决声音播放的比较好的一款JS游戏库
  • 特效处理 基本所有的游戏库都会有这方面的处理,不过好像在这块ImpactJS做得还不够好。

四月的时候,Jesse Freeman 出了一本《Introducing HTML5 Game Development》的书,全程引导开发者用 Impact 创建游戏。它涵盖了从建立工作环境到游戏打包发布的所有内容。横向对比而言,ImpactJS算是目前相当不错的一款基于canvas的游戏引擎。

HTML5 WebGame开源工具之impactjs相关推荐

  1. 科技公司最常用的50款开源工具,提升你的逼格~

    点击关注上方"视学算法",设为"置顶或星标",第一时间送达技术干货. 本文介绍了多款知名的开源应用软件,科技公司可以用它们来管理自己的 IT 基础设施.开发产品 ...

  2. 科技公司最爱的 50 款开源工具,你都用过吗?

    来源 | GitHubDaily 本文介绍了多款知名的开源应用软件,科技公司可以用它们来管理自己的 IT 基础设施.开发产品. 过去十年间,许多科技公司已开始畅怀拥抱开源.许多公司使用开源工具来运行自 ...

  3. 大公司青睐的50款开源工具

    过去十年间,许多科技公司已开始畅怀拥抱开源.许多公司使用开源工具来运行自己的IT基础设施和网站,一些提供与开源工具相关的产品和服务,或基于开源工具而建的产品和服务,还有一些在为开源代码贡献代码或支持开 ...

  4. 55种数据可视化开源工具_8种出色的开源数据可视化工具

    55种数据可视化开源工具 数据可视化是获取表格或空间数据并以对人类友好的视觉方式进行传递的机制. 有几种开源工具可以帮助您创建有用的信息图. 在本文中,我们将介绍八个开源的数据可视化工具. 数据包装器 ...

  5. html5动画在线制作工具,KoolShow-KoolShow(HTML5动画制作工具) v2.4.4 官方版-CE安全网...

    KoolShow是一款非常专业实用的HTML5动画制作工具,KoolShow界面简洁,功能强大,用户使用这款软件可以为文本.图像.矢量图形.音频.视频.幻灯片和jQuery小部件添加动画效果,辅助用户 ...

  6. 科技公司钟爱的50款开源工具

    过去十年间,许多科技公司已开始畅怀拥抱开源.许多公司使用开源工具来运行自己的IT基础设施和网站,一些提供与开源工具相关的产品和服务,或基于开源工具而建的产品和服务,还有一些在为开源代码贡献代码或支持开 ...

  7. 数据可视化开源工具软件

    数据可视化工具用于通过图形.图表.表格.地图和其他详细的视觉对象来表示信息. 它们通常将数据呈现和分析结合起来,以帮助专业人员在数据驱动领域(如工程.数据科学和业务分析)做出更明智的决策. 选择正确的 ...

  8. 科技公司钟爱的50款开源工具--转载

    本文介绍了多款知名的开源应用软件,科技公司可以用它们来管理自己的 IT 基础设施.开发产品. 过去十年间,许多科技公司已开始畅怀拥抱开源.许多公司使用开源工具来运行自己的 IT 基础设施和网站,一些提 ...

  9. 三款开源工具让你的演示脱颖而出

    本文转载至:http://blog.callmewhy.com/2014/07/02/three-open-source-tools-to-make-your-presentations-pop/ 不 ...

  10. 桌面html开发工具,html5可视化开发工具_html5可视化_html5可视化设计工具 - 帆软

    HTML5不是一种编程语言,而是一种标记语言,是程序员开发网页必用的一种开发工具.目前来说HTML5技术是非常火爆的,而且有专家预估在未来的10年HTML技术都不会过时.HTML5前景好,来学HTML ...

最新文章

  1. python中处理日期和时间的标准模块是-关于时间和Python的时间处理模块
  2. 基于 Android NDK 的学习之旅-----数据传输二(引用数据类型)(附源码)
  3. mysql 禁止插入重复数据_防止MySQL重复插入数据的三种方法
  4. 283. Move Zeroes(数组篇)
  5. 机器人网首页应用实例工业自动化 EtherCAT 技术在库卡机器人控制系统上的应用
  6. vue打包后放在 nginx部署时候的配置文件
  7. html script 放置位置,script标签应该放在HTML哪里,总结分享
  8. oracle各种查询语句
  9. Office 365 Sway-移动设备推送利器
  10. samba服务器之无认证进入共享目录
  11. 黑幕背后的Autorelease
  12. MobaXterm快捷输入
  13. Java相关技术文档汇总
  14. autocad ios 虚线_在CAD中怎么画出虚线?CAD画虚线方法介绍
  15. 晶体二极管的分类大全
  16. HTML简单静态页面的编写
  17. word2vec训练中文词向量
  18. CultureInfo 类中需要的【区域性名称】查询
  19. 全球与中国干式涡旋泵市场深度研究分析报告
  20. annotations are not allowed here

热门文章

  1. uniapp‘急‘速入门
  2. 阿里巴巴矢量图标库在线链接使用图标
  3. eclipse安装SVN插件(2020最新,亲测可用)
  4. vasp-分子动力学模拟
  5. GitHub使用教程-官网指南
  6. 计算机丢失lua51dll怎么修复,lua51.dll
  7. NumPy常用中文手册
  8. vulkan安装流程
  9. 一个完整的物联网项目管理流程
  10. 反编译获取任何微信小程序源码(完)