选择制作桌游的语言(Flash还是HTML5/JS)

3

我正在开发一个基于Web的多人棋盘游戏,想知道最适合UI的语言是什么?这是类似围棋但更简单的棋盘游戏。

我有两个选择:Flash或备受推崇的HTML5 + JS。虽然我对JS有基本的了解,但我必须学习这两种语言。

Flash的问题是我必须支付服务器组件的费用,但UI开发可能会更容易,并且具有更丰富的外观和感觉。使用HTML5 + JS没有成本,但我觉得UI开发将会很笨拙,不够流畅。我不确定这一点。有经验的开发人员能否给些建议?有哪些特别需要关注的问题?

EDIT:感谢评论。我会选择HTML5/JS。

就服务器端而言,我还没有决定使用什么,但想研究一下node.js。也许我需要在programmers.stackoverflow.com上发布一下它如何处理负载和并发用户的问题。

谢谢,

Pav


1
“哪个工具最好”这类问题对于stackoverflow来说过于主观。您应该在http://programmers.stackexchange.com/上发布此问题。 - Stephen
我不知道Flash需要哪些服务器组件,我认为在服务器端只需要针对视频做一些处理,其他的可以像使用Javascript一样完成。 - AlfonsoML
我完全不懂Flash,所以对它一无所知。我只是假设它还需要一些服务器端的组件。 - user220201
6个回答

11
你说你的游戏类似围棋,那就看看这个网站:http://govsgo.com/。该网站是用 JavaScript 编写的,前端部分不太复杂,后端基于 Ruby on Rails,请参考 Railscasts #237(http://railscasts.com/episodes/243-beanstalkd-and-stalker)获取有关 Ruby 部分的背景信息。如今在 JavaScript 中可以完成非常繁重的工作,例如多人游戏《小行星》(http://bonsaiden.github.com/NodeGame-Shooter/),因此像你想要构建的“简单”游戏一点问题都不应该有。

作弊者!你没有在这篇文章中使用马尔可夫链。 - badp

3

使用HTML5/JS可能会降低与您的受众的兼容性。许多人仍然使用不符合标准的浏览器。

话虽如此,我认为使用HTML5/JS会更有趣。 :)


http://html5readiness.com/Robert Pitt提供


抱歉修改了您的问题,但我必须展示一个很棒的工具,而您的问题是最相关的。 - RobertPitt
到2011年中,所有浏览器应该都是完全兼容的,除了IE预计只有62%的兼容性。 - RobertPitt
假设人们会更新,但即使IE6仍占有约6%的市场份额。这对于Web开发人员来说是一个不幸的陷阱。 - Chuck Callebs
1
我认为大多数玩这种游戏的用户最差也有IE8+,而在IE8中模拟canvas的效果很好。@Chuck IE6只有6%,但其中大部分是商业使用。任何愿意玩多人GO游戏的用户都会从家用PC上进行,并且很可能已经升级到IE8。使用HTML5/JS技术可能会错过约0.1%的受众。更不用说相比移动用户而言,HTML5的受众损失要小于Flash的受众损失。 - Raynos
你对user220201的受众做了一些假设。实际上,目标受众很可能大多数都使用支持HTML5/JS的浏览器。他选择的平台将决定他的受众群体。如果他选择Flash,他将几乎失去整个移动市场,包括iPhone、iPad和Android。而且无论现在哪个受众群体规模更大,HTML5的受众正在快速增长,而Flash的受众则在迅速减少。 - Jo Sprague
我完全同意这些观点。我只是指出假设HTML5/JS支持将是普遍的是错误的。正如你所说,这最终取决于他的应用程序吸引的受众。我完全支持学习HTML5/JS,并希望网络远离不必要的Flash。 :) - Chuck Callebs

2

你的游戏是要在iPhone上使用吗?如果是,那么Flash不适用,因为它在iPhone上不可用。


2

我的选择:HTML5/JS。

为什么?考虑以下几点:

  • Flash正在逐渐消失。另一方面,您将拥有越来越多的游戏受众(包括iPhone、iPad和Android)。
  • Flash更昂贵。
  • 我相信您可以在HTML5中创建任何在Flash中能够创建的用户界面(UI)。事实上,HTML5的假定限制可能会迫使您以积极的方式改进您的UI。
  • 您看过Grooveshark自从他们用HTML5重新创建了整个应用程序后的效果吗?把它当作一个概念证明。
  • HTML5/JS很容易。
  • Flash需要第三方插件,而HTML5只需要一个最新的浏览器-哪种要求更好呢?就我个人而言,我宁愿更新我的浏览器,也不想安装第三方插件。

是的,这也是我想的。尽管Flash在今天几乎存在于每个浏览器中,但我仍然选择JS选项。 - user220201

1

如果你正在制作一个多用户游戏,flash是最佳选择。使用html5/js也可以实现多用户功能,但正如Chuck所言,它并不适用于所有浏览器。对于多用户方面,你可以使用Red5(免费)或SmartFox(超过100个并发用户需要付费)。我以前用SmartFox构建了一个大型项目,发现它非常易于使用。根据你的游戏复杂性,你可以使用你喜欢的编程语言编写自己的套接字服务器代码。


1

除非你懂Java或经典面向对象编程,否则学习Flash会相当困难(我可以在这个评论上补充很多)。我建议使用JS/HTML/CSS。正如Chuck所说,这样会更有趣。

服务器只有在你计划使用价格昂贵的Flash交互式服务器时才是一个问题。有开源替代方案。但是你说得好像JS已经内置了这个功能,实际上并没有。如果你想要实时更新,你需要一个CometD服务器,而这些并不容易实现。无论是Flash还是JS,我都建议使用短轮询。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接