我正在考虑编写一个新的基于网络的游戏,并想知道是否有人对我应该选择哪个平台有任何建议。
游戏将基于2D精灵,但需要保持一个不错的fps速率(一次最多可能有20件事情移动)。它都将通过鼠标控制。
我每天使用.NET,所以Silverlight对我来说似乎是一个自然的选择,但我想确保尽可能多的人可以玩它...
所以我只是希望得到一些反馈,让我对一个简单的基于2D网页的游戏使用最好的东西。
修改
你可以提供更多信息吗?是 这个单人/多人?什么 那种流派?会有很多 涉及经典UI(许多形式 有很多按钮/复选框, 数据网等)?会有很多 动画和效果?
答案 0 :(得分:6)
我也对基于网络的二维游戏感兴趣。我个人赞成silverlight,因为:
一件很酷的事情是你可以进行全屏显示。我还发现它足够快(在我的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提供)。
<强>优点:强>
缺点:
另外,在Processing.js中查看John Resig的塔防游戏。
答案 3 :(得分:1)
恕我直言Java仍然是一个选项,特别是JavaFX(http://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是一个很小的下载开始 - 所以,我不认为你太多人了。我会这样做的。