2008-09-05 144 views
6

我正在開發一個使用.Net v2的在線策略遊戲。雖然遊戲主要是戰略性的,但它確實有一些需要合理網絡性能的戰術要素。我打算使用戰略數據和UDP數據包的TCP數據包作爲戰術數據。C#遊戲網絡庫

{編輯}我忘了提到,我偏離WCF和.NET 3 +有幾個原因。首先,因爲我想讓我的下載量減少,而且我的大部分客戶已經擁有.NET 2.0。其次,因爲我想要選擇移植到Mac和Linux,並且不確定Mono中的WCF可用性。 {/編輯}

我正在尋找網絡庫建議。我已經找到了幾個選項,比如GarageGames的扭矩網絡庫(C++),RakNet(C++),以及lidgren網絡庫(C#):

http://www.opentnl.org/ http://www.jenkinssoftware.com/ http://code.google.com/p/lidgren-network/

沒有人有實與這些或其他圖書館的世界經驗?


我只是偶然在RakNetDotNet:

http://code.google.com/p/raknetdotnet/

可能是什麼我正在尋找...

回答

1

爲什麼要限制自己的.NET 2.0。 .NET 3.0(或3.5)包含WCF,並且是一個具有良好安全性的可靠,高性能的通信子系統。 .NET 3.0只是帶有附加庫(WCF,WF,WPF)的.NET 2.0。

5

微軟自己的基於.NET XNA允許您創建在Windows和Xbox 360

+2

根據[wiki](http://en.wikipedia.org/wiki/Microsoft_XNA#License_Agreement):*「Microsoft XNA Framework 2.0 EULA明確禁止分發連接到Xbox Live的商業網絡遊戲和/或在沒有開發人員和微軟簽署特定協議的情況下,Windows Live的遊戲。「* – 2011-05-26 16:38:44

2

網絡遊戲我也想指出,「Windows遊戲」,這XNA上的直播窗口使用!網絡API現在是免費的......這意味着,如果你寫一個使用網絡功能的XNA遊戲,你的用戶必須有一個黃金會員:-)

http://www.engadget.com/2008/07/22/games-for-windows-live-now-free/

+0

根據[wiki](http://en.wikipedia.org/wiki/Microsoft_XNA#License_Agreement):*」Microsoft XNA Framework 2.0 EULA特別禁止在沒有開發人員和Microsoft簽署特定協議的情況下分發連接到Xbox Live和/或Windows Live的遊戲的商業網絡遊戲。「* - 這是不是真的? – 2011-05-26 16:39:15

0

如果」重新開發遊戲,我建議使用XNA,這很容易編程。但是,Torque的優勢在於它具有資產創建工具,這也是非常寶貴的。對於更高端的遊戲或FPS,Source引擎非常棒。

1

儘管這個問題還比較陳舊,但是專門爲遊戲開發的更高層次的系統是APlay - 其中支持的平臺也是C#。有評估版本,它是免費供個人使用的。

您以UML風格定義您的遊戲對象,並且在線代碼生成器創建包含您的遊戲對象的程序集。發送狀態更新就像調用setter方法一樣簡單。

不是正確的,如果你想自己應付套接字。另請注意,我是APlay的開發人員,所以這是一個有偏見的答案。

0

一個古老的問題,但我會把它擺在那裏,讓其他人在這個問題上磕磕絆絆。我們爲我們的遊戲Bitfighter使用OpenTNL,我一直對它的工作效果感到驚訝。如果您可以使用GPL,則免費。