【问题标题】:Web-Based Game Engines - Request For Input基于 Web 的游戏引擎 - 请求输入
【发布时间】:2013-05-06 20:39:21
【问题描述】:

我正在创建一个基于网络的在线游戏,并试图在游戏前端框架方面找到最合适的方案。游戏的后端目前使用的是 asp.net mvc 2。鉴于我可以采取控制器操作并将其转换为 WCF 服务操作,因此后端的选择不应影响我对前端的选择。

可以肯定的是,它确实需要在浏览器中播放。作为此过程的一部分,我已经对仅 HTML 5 的前端进行了一些研究,并且可能倾向于这个方向,但我有一些担忧:

  1. 假设这款游戏在明年这个时候完成,对于当前的 HTML 5 采用水平,我会遇到哪些困难?具体来说,我担心 Firefox 3.6 和 IE 7/8 的安装基数仍然很大。我查看了 Chrome Frame 以解决 IE 问题,但不确定是否存在我不知道的缺点(除了安装要求)。

  2. 我习惯于使用一个不错的 IDE 执行 C#,该 IDE 包含有关代码是否编译的实时信息,以及提醒我符号名称的智能感知。我会遇到 Javascript 的问题,我的代码会变得很大且难以管理吗?仅 Javascript 引擎为我的用户解决的可访问性问题对我来说比方便更重要,但它当然也不能无法管理。

  3. 目前市场上的 HTML 5 引擎是否成熟到足以信任我的时间投入?我是否有很高的风险采用一个在一年后就会失修的框架?在我看过的引擎中,似乎没有一个得到真正强大的社区支持,我错了吗?还有其他人这样做吗?

这是我目前发现的:

是否有人对社区有所了解,或者有任何理由相信其中任何一个都将得到很好的维护或至少在未来几年内可用?有谁知道那里有另一个框架? ImpatJS 拥有所有这些中最令人印象深刻的演示,它也是唯一一个不是免费的。

感谢您的任何帮助/建议。我只是担心我会选择一个让我后悔的前端,而且我不想在 4 或 5 个月后从头开始。

这是一个 2D 浏览器游戏。它现在不针对移动设备,但它会在首次发布后立即转向移动设备。一个希望是,如果我使用 HTML 5,它可以在移动设备上正常工作。我可能需要调整它的显示尺寸,但如果我不必将它移植到移动设备上,那将是一个明确的优势。

【问题讨论】:

  • 这是一个非常广泛的问题......我不确定它是否能得到令人满意的回答。
  • 为什么不设计您的 API,以便您可以切换框架并更改有限的代码?这是什么类型的游戏,2D,3D,第一人称射击,基于瓷砖?游戏种类繁多,你越精确,答案就越好。
  • @James - 理论上听起来不错。问题通常在于,为了让游戏运行良好,您需要对影响架构的平台进行特定优化。
  • 这将有助于您发布有关游戏类型和要求(3d、twitch、移动等)的更多信息
  • @rboarman - 在 javascript 中,你的优化只能到此为止,所以如果你从一个好的 api 开始允许切换框架,那么,你确定哪一个真正满足你的需求,然后对其进行标准化一个,但是,通过这种方式,您基本上可以将返工限制为编写一个新的适配器对象。一旦你标准化一个,然后优化。

标签: javascript html game-engine


【解决方案1】:

这是我刚刚为我的公司完成相同决策过程的两分钱。

我们的目标是创建一个尽可能广泛的游戏,这意味着它需要在尽可能多的浏览器上运行。我立即排除了 html5,因为没有采用,而且似乎至少需要几年时间才能达到 60% 以上的渗透率。

这让我想到了 Flash 与 Silverlight。 Flash 的安装基础非常庞大,并且有许多可用的游戏引擎。除非您对视频或 3d 有特定要求,否则 Flash 是一个安全的选择。

我选择 Silverlight 是因为我想要一个良好的安装基础 (60%),并且我想利用我公司的内部 .Net 专业知识。我还想将 WCF 用于后端,不想混合环境。

请记住,SL5 将支持大部分 XNA,这很重要。有大量的 XNA 引擎和源代码可供您开始使用。

这是一个查看 html5 浏览器支持的好网站:

http://caniuse.com/

【讨论】:

  • 您今天对此有何看法?谢谢。
  • Html5 一路... :)
【解决方案2】:

我无法谈论 HTML5 和 Canvas 的细节方面的专业知识,但是...

  1. 就支持而言,您可能仍有大量 IE7-8 用户。 IE 与其他浏览器略有不同,因为您必须执行一些操作才能安装更新。 (即,转到控制面板中的安装更新或访问 ie.microsoft.com)。其他浏览器(如 firefox)只会告诉您并使更新变得容易。所以你的 FF 3.6 用户应该消失了,但 IE 仍然可能是个问题。但请记住,大部分旧的 IE 浏览器份额是由 IT 部门提供的。让他们的用户使用旧版本 - 您无需担心。
  2. 这可能是个问题。但是,在 Visual Studio 或类似的 IDE 中开发 JS 并没有那么糟糕——仍然有 IntelliSense 和其他有用的东西,以及实时调试。它肯定会比 C# 更难一些,尤其是许多新的 JS api 还没有实现到许多 IDE 的自动完成功能中。
  3. 我认为您不必担心这一点。在这一点上,HTML5 和 Canvas 已经走得太远了,它们不会被撤销,只会被改进。 APIS 等可能会有一些修改,但不足以阻止您使用它。

【讨论】:

【解决方案3】:

HTML5 会取代 Flash 吗?不,因为在世界上足够多的人使用 IE 15(大约 5 到 10 年)之前,无法完成需要更多 javascript 的游戏和 RIA。 Safari、Chrome、FF(也许)很快就会在这里达到标准,但它们的 js 引擎将需要良好的硬件,而这并不总是存在。

Silverlight 是一个不错的选择,但它的支持不如 Flash。这就是为什么闪存仍然存在的原因。下一个版本将支持视频控制器。它被称为 Project Mole hill,您可以查看我的 SO 问题 here

如果您想制作没有精美图形的超级简单游戏,请尝试您建议的其中一项服务。 Impact.js 是 100 美元,其他看起来是免费的。将来我们将能够使用 node.js 来处理与服务器的请求,但与此同时,Flash 肯定是要走的路!。

我更愿意使用 javascript,但是在您开始编码并意识到与 flash 相比的局限性之后,您的应用程序将脱颖而出。

然后是移动设备、iPad、iPhone、Android 等。如果你真的认为你的观众在那里,用他们的语言构建游戏。它更昂贵、更难,但 Objective C、Java,它们比 HTML、JS、CSS 等要快得多......

【讨论】:

  • 我知道你的答案可能是两年前的相对答案,但我只是偶然发现它,读起来真的很有趣。知道 JavaScript 完全将 Flash 推开,使用 JavaScript 制作的游戏与 Flash 游戏一样复杂,甚至比以往任何时候都复杂。
【解决方案4】:

我使用 YUI3、Burst 引擎和 Raphael 为 SVG 动画进行了一些试运行 - 一切似乎都运行良好; YUI 的拖放模块甚至无需添加一行代码即可在移动端检测到相同的拖动操作。

我只能想象,如果我有时间,我会选择在 Node.js 服务器上使用 Raphael SVG 动画的 YUI3 实例。您可以放弃 SVG 方面并使用更标准的图形技术,或者为那些睾丸较少的用户代理提供替代质量的图形。也许您的替代质量版本只是您的游戏引擎的另一种实现 - 您可能会选择使用非 SVG 开发游戏。

只是想法,这对您的实时 IDE 调试没有帮助...

【讨论】:

    【解决方案5】:

    impact.js 有一个很棒的 communitydocumentation。非常值得一试。我相信 iosimpact.js 是软件包的一部分(虽然是 beta ???),允许为 iphone/ipad 开发原生游戏。

    【讨论】:

    • 我大约 8 个月前购买了 Impact,并且非常喜欢基于此框架的游戏。我可以担保。这是一个很好的。
    【解决方案6】:
    1. 是的,您确实会失去大量用户群。但是,该用户群与您的相关程度将取决于您的目标是什么。与 Sunday-Morning-Sudoku 用户相比,日常 RPG 玩家更有可能拥有最新的浏览器。

    2. 试试Eclipse + Web Tools + Aptana。它对我来说真的很好用。

    3. 没有经验。

    【讨论】:

      【解决方案7】:

      肯定有人认为 HTML5 将取代在线游戏中的 Flash。这是我几天前听说的一个基于 HTML/Javascript 的引擎

      http://www.youtube.com/watch?v=_RRnyChxijA

      我还没有真正使用过它,但它看起来很有前途,而且它是为满足您提出的类似要求而设计的。它可以让您设计 2D / 2.5D(等距投影)游戏。它看起来确实很有希望。

      【讨论】:

        猜你喜欢
        • 2016-09-24
        • 2010-12-26
        • 2017-07-27
        • 1970-01-01
        • 1970-01-01
        • 2015-04-30
        • 1970-01-01
        • 1970-01-01
        • 2012-01-14
        相关资源
        最近更新 更多