HTML 5竞速游戏开发的最佳平台
美国德克萨斯大学学生被巴士撞到的视频很火,于是就有人设计了一款与之相关的游戏。游戏设计完成后,只几天功夫,就有了25000多访问者,有1500多名用户表示喜欢,该游戏利用了canvas,SVG(可扩展向量图形——显然易于部署)以及Clay.io。
Nick VS Bus
美国德克萨斯大学学生被巴士撞到的视频很火,于是就有人设计了一款与之相关的游戏。游戏设计完成后,只几天功夫,就有了25000多访问者,有1500多名用户表示喜欢,而Kotaku, News.com.au以及Statesman网站的文章也有所报道,游戏链接为http://nickvsbus.clay.io/ 。
该游戏利用了,SVG(可扩展向量图形——显然易于部署)以及Clay.io。游戏用CoffeeScript编写,下面的链接是源代码(https://github.com/austinhallock/Nick-vs-Bus)。多亏有了HTML5,因此它也能在电话里的浏览器上运行。
Word Wars
第二个要用来证明HTML5适合竞速游戏的例子是Word Wars(http://wordwars.clay.io/)。
Word Wars最初是由德州大学学生开发。起先,它被命名为Worldle,而且受到Hacker News的好评。其中一名开发员甚至不知道JavaScript可以做这种事情。
而Word Wars与Nick VS Bus之间的联系令人印象深刻的一点在于它有后端+多玩家(nowjs),所有这一切都是在24小时里开发出来的。它是用纯JavaScript编写的而不是CoffeeScript——这完全是个人喜好的问题,CoffeeScript并不会显著减少你的开发时间。
这两个游戏的开发设计都只用了一天,而且两款游戏的接受度都很好。
为什么选择HTML5?
对于Nick VS Bus和Word Wars这类用HTML5快速开发和部署的游戏,Flash是最好的比较。 Java,C++,Unity,iOS等都有较长的开发周期,而且它们的传播速度也不会这么快。所以,如果你很熟悉这些语言,当然可以快速创建一款游戏,只是,在这些语言中,HTML5应该是最适合的。如果你希望创造下一个Call of Duty那样的游戏,可以使用C++,WebGL也很好,但是我们或许要花上一两年的时间。
为什么HTML5比Flash好?
对移动平台的支持
目前,HTML5最大的优点在于其“跨平台”的性能。Nick VS Bus 游戏的25000多名点击者中有3000名都是通过移动设备访问。而这些人又大多通过Facebook的应用点击进入。
当然,你可以在应用商城找到Flash游戏,但是这会比较花时间,而且应用更新也要花时间。使用HTML5的话,既可以在应用商城获取应用,又可以直接在浏览器中玩游戏。
除了对移动平台的支持,HTML5还为智能电视机上玩游戏铺平了道路,Windows 8甚至是微软控制台都支持这一语言。
无需编译
等待编译的过程是漫长的。而JavaScript则不用。
测试简便
依据Web属性,如果想在不同平台上测试一款游戏,就要在浏览器中指定将游戏上传到何处。在移动平台上进行测试也一样,由于大多数浏览器和移动浏览器都有自己的JavaScript控制台,所以要找出问题进行修复其实是很简单的事情。
后端语言相同
你的游戏需要一个后端,这样你才能使用相同语言:JavaScript (node.js)。为什么要用两种不同的语言来写一款游戏呢?以Slime Volley为例,我们在服务器上对每个游戏都进行了单独实例的测试。在我们的部署中,我们只是分享了客户端和服务器端的代码,所以没必要用另一种语言重写游戏,该游戏的源代码请点击(https://github.com/claydotio/Slime-Volley )。
它不是插件
当然,浏览器中的主要玩家都不会公然抵抗Flash,但是我们看到HTML5更受玩家亲睐。
它不受某个公司的控制
Adobe的产品不错,但是Google,Mozilla和微软彼此都在较劲,希望做出更好的产品。Chrome率先在V8引擎中提供对HTML5游戏的支持,现在Firefox甚至是IE都在力求突破。Gamepad API和Notification API这些好的API都已经推出。
更主动的开发模式
由于这一语言较新,所以越来越多的开发员都在为HTML5贡献工具。新的东西并非就一定是更好的,事实上,它意味着较差的稳定性。其实,它的真正意义在于它提供的是一种更主动的开发模式,而且遗留代码更少。
HTML5得到更多关注
其实,HTML5游戏会得到更多关注。因为这一语言还是热词,早期使用者似乎只是看一看并和他们接触有十年之久的Flash游戏对比一下。
HTML5弱点
相关推荐
表格的现在还是较为常用的一种标签,但不是用来布局,常见处理、显示表格式数据。在HTML网页中,要想创建表格,就需要使用表格相关的标签。<table> <tr> <td>单元格内的文字</td> ...