C#游戏网络库
我正在使用.Net v2开发在线策略游戏。尽管游戏主要是战略性的,但它确实具有一些战术要素,需要合理的网络性能。我计划将TCP数据包用于战略数据,将UDP数据包用于战术数据。
{EDIT}我忘了提到出于某些原因,我倾向于使用WCF和.NET 3+。首先,因为我想减小下载量,所以我的大多数客户已经安装了.NET 2.0。其次,因为我想选择移植到Mac和Linux,并且不确定Mono中WCF的可用性。 {/编辑}
我正在寻找网络库建议。我找到了一些选项,例如GarageGames的Torque网络库(C ++),RakNet(C ++)和Liggren网络库(C#):
http://www.opentnl.org/
http://www.jenkinssoftware.com/
http://code.google.com/p/lidgren-network/
是否有人对这些或者其他库具有实际经验?
我偶然发现了RakNetDotNet:
http://code.google.com/p/raknetdotnet/
这可能就是我要寻找的...
解决方案
回答
为什么限制自己使用.NET 2.0。 .NET 3.0(或者3.5)包含WCF,并且是一个具有良好安全性的可靠的高性能通信子系统。 .NET 3.0只是具有添加库(WCF,WF,WPF)的.NET 2.0。
回答
微软自己的基于.NET的XNA允许我们在Windows和XBox 360上创建网络游戏。
回答
我还要指出的是,XNA的Live!在Windows上使用了" Windows游戏"。网络API现在是免费的……这意味着,如果我们编写使用网络功能的XNA游戏,则用户不必具有黄金级会员资格:-)
http://www.engadget.com/2008/07/22/games-for-windows-live-now-free/
回答
如果我们不熟悉游戏开发,建议我们使用XNAit进行编程。但是,Torque的优点是它具有资产创建工具,这也是无价的。对于高端游戏或者FPS,Source引擎很棒。
回答
如果我们正在寻找更高层次的东西,可以看看Entanglar(http://entanglar.dunnchurchill.com)。 Entanglar提供完整的实体生命周期和同步。