C#游戏网络库

6
我正在使用.NET v2开发在线策略游戏。虽然游戏主要是策略性的,但它确实有一些需要合理网络性能的战术元素。我计划使用TCP数据包进行战略数据和UDP数据包进行战术数据。
{编辑} 我忘了提到我倾向于避免使用WCF和.NET 3+,原因有几个。首先,因为我想保持下载文件的小巧,并且我的大多数客户已经拥有.NET 2.0。其次,因为我想要在Mac和Linux上移植,并且不确定Mono中是否有WCF可用。{/编辑}
我正在寻找网络库的建议。我已经找到了一些选项,例如GarageGames的Torque Network Library(C ++),RakNet(C ++)和lidgren网络库(C#)。

http://www.opentnl.org/ http://www.jenkinssoftware.com/ http://code.google.com/p/lidgren-network/

有人对这些或其他库有真实世界的经验吗?


我刚刚偶然发现了RakNetDotNet:

http://code.google.com/p/raknetdotnet/

这可能是我要找的...
8个回答

5

微软自己基于.NET的XNA允许您在Windows和XBox 360上创建联网游戏。


2
根据维基百科的描述: “Microsoft XNA Framework 2.0 EULA明确禁止在没有开发者和微软签署特定协议的情况下分发连接到Xbox Live和/或Games for Windows Live的商业网络游戏。” - BlueRaja - Danny Pflughoeft

4

2

根据维基百科的描述:“微软XNA Framework 2.0最终用户许可协议明确禁止在没有开发者和微软双方签署特定协议的情况下分发连接到Xbox Live和/或Games for Windows Live的商业网络游戏。” - 这个说法现在不再适用吗? - BlueRaja - Danny Pflughoeft
很不幸,据我所知这仍然是真的 :-( 我真希望他们能澄清这件事情。 - Joel Martinez

1

尽管这个问题比较老,但是专门为游戏开发的一个相对高级的系统是APlay - 其中支持的平台也包括C#。有评估版本,并且个人使用是免费的。

您可以以类似UML的方式定义游戏对象,然后在线代码生成器将创建包含游戏对象的程序集。发送状态更新就像调用setter方法一样简单。

如果您想自己处理套接字,则不是正确的选择。请注意,我是APlay的开发人员,因此这是一个有偏见的答案。


1

1
为什么要局限于.NET 2.0呢?.NET 3.0(或者3.5)中包含了WCF,是一个结实、高效的通讯子系统,安全性也很好。事实上,.NET 3.0只是在.NET 2.0的基础上增加了一些库(WCF, WF, WPF)。

1
一个古老的问题,但我会为那些遇到这个问题的人提供一些帮助。我们正在使用OpenTNL来开发我们的游戏Bitfighter,我一直对它的工作效果感到惊讶。如果你能接受GPL,它还是免费的。

0
如果您是游戏开发新手,我建议使用XNA——它易于编程。然而,Torque的优势在于其拥有资产创建工具,这也可能非常宝贵。对于高端游戏或FPS,Source引擎非常出色。

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