2011-04-16 79 views
3

我剛剛開始編程,並且我用XNA做了一些事情。我創建了我的第一個類似於我的世界的3D遊戲。用XNA在電腦上玩多人遊戲(不是XBox)

但它很無聊。所以我決定看看網絡,因爲有一個關於MSDN的教程。網站。事實證明,那裏的代碼只用於XBox,並且我開始在互聯網上尋找更有用的東西,直到我找到有人說XNA不支持我正在尋找的東西。

我正在認真考慮爲XNA 4.0購買一本書(我討厭看幾個小時的教程),但在此之前,我想知道PC之間是否可以聯網。如果不是,我應該嘗試學習什麼?

Managed DirectX? C++ DirectX? 還是別的?

回答

2

XNA提供對「LIVE」系統的訪問 - 如「Xbox LIVE」和「Windows for Windows - LIVE遊戲」。

在Xbox 360上,您只能通過XNA網絡系統。沒有其他選擇。

另一方面,在Windows上,如果您與Microsoft達成協議,則只能使用LIVE。因此,如果情況並非如此,那麼唯一的選擇就是在.NET框架提供的功能之上實現自己的網絡(XNA運行在.NET框架上)。對於聯網遊戲,您感興趣的課程位於System.Net.Sockets命名空間中。

現在你可以打開一個套接字並開始發送數據。但是你可能想要使用UDP--它具有良好的性能但不可靠 - 所以你可能最好使用像Lidgren這樣的庫(或其他提到的其中一個Prix)來添加一個可靠性層和一堆其他好東西。

0

你提到想找書。如果您決定購買,我建議您獲得this book

我有學習XNA 3.0坐在我旁邊,它確實幫助我教了很多。這個人很棒。他的新副本看起來並沒有什麼不同,但是不同的是,如果你第一次從學習XNA 3.0中學習,你會有點絆倒。

...另外,你可以買便宜here

0

可能,但很難。我不是程序員,但請看看SteamPlay。它現在具有跨平臺的多層結構,只需查看Portal 2.它既可以在Xbox 360上運行,也可以在PC上運行,並且可以互相玩。我相當肯定,如果您想要修補它,可以使用免費軟件(?)SDK。我不確定這是否回答了您的問題,但我發現它很有趣。