我用XNA用C#做了一个游戏。我想让它可以在线播放。
我希望能够在一台计算机上托管游戏,并能够在其他计算机上连接到此游戏。有点像《半条命》中的监听服务器。
这似乎是一个非常普遍的问题,应该已经解决了一百万次。但是我已经用谷歌搜索了一下,我似乎找不到任何有用的信息。
我想知道我需要什么,关于网络的东西,以便使用XNA创建一个在线游戏,而不使用microsoft-Live的东西。
- 图书馆?位于类顶部的使用对象。
- 初始化这些东西的代码
- 如何寻找另一台玩此游戏的计算机。
- 如何在计算机之间获取/发送数据。
- 在哪个客户端上计算事物。如果一个人要发射一颗子弹,那么这颗子弹是否应该在两个客户端上创建为对象?或者一个有对象,(检查碰撞等(,另一个只是获得绘制位置?
我希望制作过这样一款游戏的人回答,什么是标准方法。
内置的XNA库以实时为中心,因此您要么必须忍受它,要么使用不同的网络库。
.NET UdpClient 和 Socket 库非常简单。
或者,看看 Lindgren 开源网络库。它包括一些用于发送XNA类型的扩展方法,如Matrix,Vector3等,这在你开始时很有用。
如上所述,我为一个关于使用 lidgren 制作 MMO 的问题写了一个答案。它有一些指向资源的链接,您可以使用它来学习如何使用它。我个人使用它来拥有一个小型测试应用程序,其中 5 个用户一起运行,但我还没有比这更进一步。
xna中的大型多人游戏