1.1 关于HTML5游戏
随着互联网的发展和普及,浏览器逐渐成为互联网用户工作和生活的一部分,而HTML(HyperText Mark-up Language)作为浏览器内容呈现的核心技术,随着时代的进步亦日臻完善。
有人的地方就有游戏。为了将浏览器作为游戏的载体,开发者们已经努力了20余年。最初的Java Applet采用Runtime机制,创造性地提升了Web页面的交互和动态执行能力;随后,更完善的Flash技术同样采用Runtime机制,在浏览器标准尚未统一的年代里给广大互联网用户带来了较好的交互体验,使用Flash技术开发的Web网页游戏因便捷、无须安装的特性风靡全球。
不可否认的是,任何技术都是有局限性的。Runtime机制能够适应HTML4时代的浏览器环境,给不同软/硬件环境下的互联网用户提供相同的交互体验。然而,在使用Runtime机制前,需要先下载并安装支持对应Runtime机制的运行环境,然后将包含交互功能的Runtime组件下载到本地并安装,才能使用交互功能。
2000年,Roy Thomas Fielding博士[1]在论文《架构风格与基于网络应用软件的架构设计》[2]中描述了表述性状态传递架构风格(RESTful[3])是如何指导现代Web架构的设计和开发的。目前,RESTful的Web应用已经得到开发者和用户的普遍认同。
对于RESTful的Web游戏,理想化的用户体验过程是:浏览器请求页面→服务器响应并反馈→浏览器处理反馈并渲染→用户开始游戏体验。如果使用Runtime机制,在下载Runtime组件和与之关联的游戏素材时会打断表述性状态传递的过程,用户需要被迫经历较长时间的等待过程,且Runtime运行环境可能存在额外的性能与安全问题。因此,采用Runtime机制并不是Web交互应用和游戏开发的首选方案。没有最好的技术,只有最适合的技术。在Flash技术的巅峰时期,Windows操作系统捆绑预装了Flash Player插件,Flash技术成为当时Web游戏开发的标准。
HTML标准也在不断发展。2014年10月29日,万维网联盟宣布HTML标准规范第5次重大修改终于完成。HTML5增加了一个可以用JavaScript控制图形绘制的<canvas>标签,至此,HTML开始具备原生的图形交互能力。各大浏览器厂商也开始支持HTML5标准。
随着浏览器开发标准的统一,基于HTML5的游戏引擎技术也顺应时代的发展,取得了长足的进步。无论是在个人计算机上,还是在移动设备上,已经涌现出很多HTML5游戏,它们在性能和视觉渲染方面已经与原生的平台游戏相差无几。因为HTML5技术具有便于移植的特性,所以,HTML5游戏的应用前景是非常广阔的。