C# Game Network Library我正在使用.Net v2开发在线策略游戏。尽管游戏主要是战略性的,但它确实具有一些战术要素,需要合理的网络性能。我计划将TCP数据包用于战略数据,将UDP数据包用于战术数据。 {EDIT}我忘记提到出于某些原因,我倾向于使用WCF和.NET 3。首先,因为我想减小下载量,所以我的大多数客户已经安装了.NET 2.0。其次,因为我想选择移植到Mac和Linux,并且不确定Mono中WCF的可用性。 {/ EDIT} 我正在寻找网络图书馆的建议。我找到了一些选项,例如GarageGames的Torque网络库(C),RakNet(C)和lidgren网络库(C#): http://www.opentnl.org/ 任何人都对这些或其他库有实际经验吗? 我偶然发现了RakNetDotNet: http://code.google.com/p/raknetdotnet/ 这可能是我要寻找的... 基于Microsoft自己的基于.NET的XNA,您可以在Windows和XBox 360上创建网络游戏。 http://code.google.com/p/lidgren-network-gen3/
我还要指出," Windows游戏\\",XNA在Live中将它用在Windows上!网络API现在是免费的……这意味着,如果您编写使用网络功能的XNA游戏,则您的用户不必具有黄金级会员资格:-) http://www.engadget.com/2008/07/22/games-for-windows-live-now-free/ 一个古老的问题,但是我会把这个问题提供给其他偶然发现这个问题的人。我们在游戏《 Bitfighter》中使用的是OpenTNL,我一直对它的运行效果感到惊讶。如果您可以使用GPL,则它是免费的。 尽管这个问题还很老,但是专门为游戏开发的更高级别的系统是APlay-支持的平台也是C#。有评估版,可供个人免费使用。 您以类似UML的方式定义游戏对象,并且在线代码生成器会创建包含游戏对象的程序集。这样,发送状态更新就像调用setter方法一样简单。 如果您想自己处理套接字,那是不对的。另请注意,我是APlay的开发人员,所以这是一个有偏见的答案。 如果您正在寻找更高级的产品,可以看看Entanglar(http://entanglar.dunnchurchill.com)。 Entanglar提供完整的实体生命周期和同步。 为什么要限制自己使用.NET 2.0。 .NET 3.0(或3.5)包含WCF,并且是一个可靠的,高性能的通信子系统,具有良好的安全性。 .NET 3.0只是具有附加库(WCF,WF,WPF)的.NET 2.0。 如果您是游戏开发的新手,我建议您使用XNA,它很容易编程。但是,Torque的优点是它具有资产创建工具,这也是无价的。对于高端游戏或FPS,Source引擎很棒。 |