0

我用 XNA 用 C# 制作了一个游戏。我想让它可以在线播放。

我希望能够在一台机器上托管游戏并能够在其他机器上连接到该游戏。有点像半条命中的监听服务器。

这似乎是一个很常见的问题,应该解决一百万次。但我已经用谷歌搜索了我的屁股,我似乎真的找不到任何有用的信息。

我想确切地知道我需要什么,关于网络的东西,为了用 XNA 创建一个在线游戏,而不使用 microsoft-Live 的东西。

  1. 图书馆?using-thing 位于类的顶部。
  2. 初始化这些东西的代码
  3. 如何寻找另一台玩这个游戏的电脑。
  4. 如何在计算机之间获取/发送数据。
  5. 在哪个客户上进行计算。如果一个人会发射一颗子弹,是否应该在两个客户端上都将这颗子弹创建为一个对象?还是一个拥有对象(检查碰撞等)而另一个只是获得绘制位置?

我希望制作过这样游戏的人来回答,什么是标准方法。

4

2 回答 2

2

内置的 XNA 库以 Live 为中心,因此您要么必须忍受它,要么使用不同的网络库。

.NET UdpClient 和 Socket 库非常简单。

或者,看看Lindgren 开源网络库。它包括一些用于发送 XNA 类型(如 Matrix、Vector3 等)的扩展方法,这在您开始使用时会很有用。

于 2012-05-03T15:48:56.730 回答
0

如上所述,我写了一个关于使用 lidgren 制作 MMO 的问题的答案。它有一些资源链接,您可以使用它来学习如何使用它。我个人用它来制作一个小型测试应用程序,有 5 个用户一起跑来跑去,但我还没有比这更进一步。

xna 中的大型多人游戏

于 2012-05-03T16:07:01.017 回答