在计算机上使用XNA玩多人游戏(不是XBox)

时间:2011-04-16 20:34:48

标签: networking xna xna-4.0

我刚刚开始编程,我已经用XNA做了一些事情。我创造了我的第一个类似于我的世界的3D游戏。

但是很无聊。所以我决定看看网络,因为msdn上有一个教程。网站。事实证明那里的代码只适用于XBox,我开始环顾互联网寻找更有用的东西,直到我找到一个人说XNA不支持我想要的东西。

我正在认真考虑为XNA 4.0购买一本书(我讨厌在几个小时内寻找教程)但在此之前,我想知道PC之间是否可以建立联网。如果不是,我应该尝试学习什么?

托管DirectX? C ++ DirectX? 或其他什么?

3 个答案:

答案 0 :(得分:2)

XNA提供对“LIVE”系统的访问 - 如“Xbox LIVE”和“Games for Windows - LIVE”。

在Xbox 360上,您只能通过XNA网络系统。没有其他选择。

另一方面,在Windows上,如果您与Microsoft达成协议,则只能使用LIVE。因此,如果情况并非如此,那么您唯一的选择就是在.NET框架提供的基础上实现自己的网络(XNA在.NET框架上运行)。对于联网游戏,您感兴趣的课程位于System.Net.Sockets命名空间。

现在你可以打开一个套接字并开始发送数据。但是你可能想要使用UDP - 它具有良好的性能但是不可靠 - 所以你可能最好使用像Lidgren这样的库(或其他提到的Prix之一)来添加可靠性层和一堆其他不错的东西。

答案 1 :(得分:0)

你提到想找书。如果您决定购买,我建议您this book

我有学习XNA 3.0坐在我旁边,它真的帮助教我很多。这家伙很棒。他的新副本似乎没有什么不同,但足够不同,如果你第一次从学习XNA 3.0学习,你会有点绊倒。

...另外,你可以更便宜地买here

答案 2 :(得分:0)

可能,但很难。我不是程序员,但去看看SteamPlay。它现在具有跨平台多层,只需看看Portal 2.它可以在Xbox 360和PC上运行,它们可以互相玩耍。我非常肯定,如果你想修补它,可以使用免费软件(?)。我不确定这是否回答了你的问题,但我发现它很有趣。