哪个平台开发基于网络的游戏?

时间:2010-03-11 08:12:49

标签: java .net flash silverlight .net-3.5

我正在考虑编写一个新的基于网络的游戏,并想知道是否有人对我应该选择哪个平台有任何建议。

游戏将基于2D精灵,但需要保持一个不错的fps速率(一次最多可能有20件事情移动)。它都将通过鼠标控制。

我每天使用.NET,所以Silverlight对我来说似乎是一个自然的选择,但我想确保尽可能多的人可以玩它...

  • Silverlight游戏可以直接从Visual Studio开发(我有VS 2008),还是需要额外的软件(并且需要花费成本......)
  • Silverlight在.NET版本方面有什么限制(我可以使用.NET 3.5吗?)
  • 我可以使用哪些物理引擎?
  • Flash会是更好的选择吗?是否有免费的开发环境(有什么好处)? (我不在乎学习曲线)
  • Java仍然是一种选择吗?

所以我只是希望得到一些反馈,让我对一个简单的基于2D网页的游戏使用最好的东西。

修改

  你可以提供更多信息吗?是   这个单人/多人?什么   那种流派?会有很多   涉及经典UI(许多形式   有很多按钮/复选框,   数据网等)?会有很多   动画和效果?

  • 单人游戏,敌人的“攻击波”
  • 敌人只是移动的东西,玩家只需点击并点击
  • 没有经典的用户界面,只需点击按钮(没有列表/下拉菜单等)
  • 最小的动画和效果,只有图形要求是敌人的移动(这需要很少的动画)

6 个答案:

答案 0 :(得分:6)

我也对基于网络的二维游戏感兴趣。我个人赞成silverlight,因为:

  1. 我已经熟悉c#/。net。
  2. 它有很多功能,即使它不像完整的WPF那么多。我听说LINQ本身对游戏来说太棒了。本地存储也可能是一个加号。您可以使用丰富的控件选择游戏的gui部分。老实说,WPF在有趣的控制方面失去了银色。
  3. 完全免费。你需要为VS下载silverlight工具包,但这没问题。
  4. 一件很酷的事情是你可以进行全屏显示。我还发现它足够快(在我的core2 duo笔记本电脑上)来处理大量的物体。事实上,silverlight将成为winmobile 7的重要组成部分也是一个好点(尽管我们必须看看结果如何)。

    有许多银光游戏,所以你可以看到可能性。

    我认为主要的负面影响是可移植性并让人们安装“又一个插件”。 Flash显然拥有最广泛的用户群,但如果你的游戏足够好,人们可能不会介意安装插件。这是一个无痛的安装。

    就物理引擎而言,TomTom提到的FarseerPhysics最受欢迎。

    还有一件我认为非常酷且引人注目的事情:http://www.codeplex.com/silversprite。来自网站:

      

    在Silverlight 3中运行XNA游戏而无需更改代码 3.仅基于SpriteBatch的图形,无3D。由于游戏编译成直接的Silverlight代码,它将运行Silverlight可以运行的任何地方。 [强调补充]

    XNA-in-Silverlight方法可能非常好(特别是对于您可能希望从中获利的更复杂的游戏),因为这也可以让您轻松移植到Xbox。但是,我没有任何经验,所以我不能进一步评论。

    编辑以响应OP的编辑:

    由于您的游戏听起来比我想象的更简单,如果您不介意学习曲线或使用纯HTML + CSS + Javascript方法的潜在困难(实际上可能不那么好),我'我想说也许这是最好的路线。那是因为便携性。

    那就是说,我很懒,也不在乎是否有几个人错过了我的比赛,所以我只是坚持银光。 = P

答案 1 :(得分:2)

如果你想要最大的可玩性,可以使用所有HTML和javascript,甚至不使用画布,然后游戏基本上可以在任何地方使用,包括移动。您可以平衡可能导致您针对Flash或Silverlight开发的额外工作以及移动受众非常有限的工作。你也可以查看processing.js。

答案 2 :(得分:2)

如果您想采用HTML + javascript方式,可以查看processing.js。它是Processing语言的Javascript端口(由John Resig提供)。

<强>优点:

  • 完全免费。
  • 简单的语法。
  • 可移植性。没有插件。

缺点:

  • 目前仍在开发中,一些处理功能(如3D功能)尚未移植

另外,在Processing.js中查看John Resig的塔防游戏。

答案 3 :(得分:1)

恕我直言Java仍然是一个选项,特别是JavaFXhttp://www.javafxgame.com可能是一个很好的起点)。

但是,您使用语言/技术的经验可能比平台的选择更重要,因此您应该选择.NET(假设到目前为止没有任何建议的替代方案突出)。

答案 4 :(得分:1)

正如Benny所说,如果你已经熟悉.NET,那么Silverlight是一个很好的平台,你需要的大多数工具都内置在Visual Studio中(VS2010有一个内置的设计器,但目前的RC版本没有'支持即将推出的Silverlight 4)。

Silverlight的一个很酷的功能是它能够利用GPU。这应该提供良好的性能提升。我不知道Flash是否提供此功能。

Silverlight运行时非常小(低于5MB)。您可以轻松启用浏览器外支持,以便您可以从桌面快捷方式启动游戏,例如,无需启动浏览器(并在线)。 Silverlight 4增加了使用提升权限的功能(这使您可以访问本机网络堆栈而不是沙盒浏览器堆栈)。使用SL4,您还可以获得网络摄像头支持,如果这对您的游戏很重要。

答案 5 :(得分:-2)

  • Silverlight可能需要Visual Studio的其他工具,但这是免费下载。基本上2008年是在silverlight之前制作的,所以你需要为它下载工具。

  • Silverlight在限量版本上运行 - 阅读文档。

  • 我会在一般的建议中去。直到4.0,Silverlight 4.0,Visual Studio 2010 - 这些都在角落里,无论如何你都会在一个月内开发更长的时间。

  • Java - 不好意思,为什么。我的意思是,理论上是的,但如果你是一个.NET的人,你有更多的知识,siverlight是XAML(WPF类似的经验,总是很好)。为什么要使用Java来提供所有这些?

  • Flash - DAMN,NO;)说真的;)除非必须,否则你不想处理它。

  • 物理引擎 - 不知道。需要检查。不确定它有很多。你有谷歌吗? http://www.codeplex.com/FarseerPhysics首先出现。

我认为这是一个很好的方法。 Silverlight是一个很小的下载开始 - 所以,我不认为你太多人了。我会这样做的。