随着浏览器(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的游戏引擎。
分享到:
相关推荐
侠域网页游戏WebGame源代码侠域网页游戏WebGame源代码
给大家贡献一遍比较好的webgame引擎开发学习的资料,希望对webgame开发的人有帮助。
webgame asp javascript在线游戏 源代码
webgame开发简明教程 这篇是挺实用的教程, 不过有些观点还是值得商榷 我觉得服务器定时器用计划任务调用脚本就可以实现,比如linux下用crontab定时执行某个php脚本,更新数据就可以。 研究所有点缺乏资料啊。讨论...
神魔对决2-天上的激战 (HTML RPG WEBGAME,纯网页游戏,完整版,历时1个月,个人制作,原作:风云舞)
FXGAS是用于存储游戏资产和开发网络游戏的框架(库,工具包)。
WebGame简易辅助工具V0.1 ============================== 目前主要调试应用于剑侠情缘 http://www.51wan.com/jx/ 1、拥有自动购物功能(消耗品),但得开着本程序。 2、本程序CPU...
于2007夏天完成的一个不完整的webgame引擎 还没有完成AI部分
网页游戏制作的工具,提供给大家最好的制作环境
这是一套完整的以php语言开发的webgame源码,是对一个webgame入门新手很好的练习机会。
最终幻想网页游戏,主要是用php开发,有兴趣的看一下
黑夜传说webgame源码服务器ftp。php+mysql
适合初学者! 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/gogo313/archive/2009/02/24/3933603.aspx
最终幻想网页游戏的源码,供学习使用。 采用big5编码
侠域WebGame源码下载 侠域WebGame源码下载 侠域WebGame源码下载
FLASH WEBGame 多人游戏社区(源码+服务端) 服务端SGS RPG地图 多人同步FLASH社区
webgame源码 其中包括人物行走 地图动态加载等重要模块 非常适合FLEX WEBGAME 开发人员 提高技术 提高开发技巧 webgame的大概框架分层,是学习网页游戏开发非常好的资源!
本文档主要讲述的是网页游戏开发入门教程(webgame+design);希望对大家的学习会有帮助;感兴趣的朋友可以过来看看
Webgame自动化测试之游戏测试方法.最近两个项目中游荡,首次接触facebook游戏的测试,感触还是很多的。与之前的web2.0的互联网应用相比,webgame的测试更多样,也更加的复杂 最近两个项目中游荡,首次接触facebook...
webgame 模拟城市 PHP + MySQL + Flash