2012-07-26 55 views
1

我正在將第一人稱射擊遊戲作爲一個有趣的副項目,並開始考慮營銷遊戲,並添加對modding的腳本支持。我想知道是否應該使用傳統的腳本語言,如LUA,Javascript或Python,或者如果我應該使用C#/ .NET。 C#被稱爲是一種「更快」的語言,因爲它是編譯的,而上面提到的語言則不是。 (我也可以在Java等其他框架上添加依賴項)。這個遊戲是爲Windows編寫的,我想知道如果期望最終用戶安裝.NET框架是否「太多」,或者這是一個合理的要求。

我想補充一點,使用Microsoft.CSharp.CSharpCodeProvider接口,可以在遊戲中完成編譯C#代碼(就像LUA,Python和JavaScript一樣)。遊戲引擎 - 我應該添加對.NET腳本的依賴嗎?

+1

什麼是遊戲本身寫入?另外,你仍然可以優化LUA,尤其是當使用C接口(假設你的主應用程序是用C/C++編寫的) – 2012-07-26 18:18:53

+0

我正在用C++/DirectX/HLSL編寫引擎。 – IDWMaster 2012-07-26 18:19:32

回答

3

如果您想使用.NET,假設最終用戶已經安裝了相當新的版本是非常安全的。 Windows Vista隨附了.NET 3.0; Windows 7附帶了.NET 3.5。當然,還有一些最近流行的遊戲(Magicka,Terraria,Bastion等)完全用.NET編寫,所以遊戲社區已經證明他們並不特別反對安裝/使用它。將它添加到遊戲的安裝程序應該是相當不顯眼的。請記住,這是一個與Windows平臺綁定的更多事情,所以如果您將來決定將遊戲移植到其他操作系統,那麼您將不得不提供一個替代品(或看看莫諾是否足夠滿足您的需求)。

+0

謝謝!我打算現在就把它保留在Windows上,並且將來也沒有計劃將它移植到其他平臺上。引擎的一大塊也使用DirectX ---所以我幾乎堅持在Windows上反正。 – IDWMaster 2012-07-27 18:17:50

0

這真的取決於你的情況細節,但是,期望用戶安裝.NET(至少.NET 2.0)絕對不會太多。大多數XP用戶已經安裝了.NET,因爲他們可能需要它來做其他事情,或者它是由Windows Update自動安裝的。而Windows 7默認使用.NET。

0

我是IronPython的粉絲,並將其用於我的所有腳本驅動的項目。首先,因爲我喜歡語言(用於腳本,而不是用於應用程序開發),其次,因爲使用IronPython,您可以直接訪問和使用.NET對象,而不會有任何奇怪的語法(與需要混合語法的.NET的Lua不同)。嵌入到您的應用中也很簡單。