2011-03-26 78 views
0

我開發的3D射擊遊戲,我想在電腦/手機/平板電腦上運行,並希望一些幫助來選擇要使用的引擎。3D遊戲引擎的建議

  • 我想寫一次應用程序,並輕鬆將它移植到Android/iOS/windows/mac。
  • 我想通過互聯網使應用程序流式傳輸。
  • 發動機需要一些物理(碰撞檢測)以及3D渲染能力
  • 我更願意使用腳本語言如JavaScript或Python的Java或C++(雖然我願意學習這些,如果它是最好的選擇)

- 我的願望是使用一個引擎,是基於代碼的,而不是基於GUI,一個引擎,更像是我可以導入我的Python文件(如圖書館),比這個應用程序迫使我依靠其GUI來導入資產並建立它們之間的關係。

這個願望離我最近Unity3d和攪拌機的經驗造成的。我設計我的代碼的方式要求我編寫數十個混亂的腳本來控制各種對象。我不禁想到,如果我已經用一系列python文件編寫了我的程序,那我就可以做一個整潔,快速的工作。

我會很感激的任何建議。與我想要的最接近的是Panda3d,但我在處理紋理方面遇到了困難,我不相信我的應用程序可以輕鬆地供移動電話/設備用戶使用。如果有類似的選擇,你可以考慮一下,我會很感激小費。

+0

在這裏可能會有更好的運氣http://gamedev.stackexchange.com/ – schwiz 2011-03-26 22:45:02

回答

2

對於您有Unity3d可能是你最好的賭注之一的要求。正如羅伊所說,那裏沒有任何其他的3D引擎可以跨越廣泛的平臺。你爲什麼認爲進入一個完全基於代碼的系統可以幫你避免創建各種具有各種責任的類?

編碼工作和代碼和類的數量將保持不變。唯一改變的是你與你正在生產的系統進行交互的方式。對於任何大型系統,您將快速遇到數百個文件。我正在完成一個較小規模的團結項目3-4個月的編碼,包括學習統一它在10K行代碼加上另外8K從外部圖書館和超過100班。但是這個數量並不是由項目需求驅動的團結如何運作所驅動的。在編寫代碼的過程中,我學到了很多關於團結如何運行以及它需要什麼樣的模式,並且能夠爲下一個項目提出更好的解決方案。回顧一下你做了什麼,並考慮如何更好地組織它。我認爲這是一個保存賭注,說你需要大約相同數量的代碼與任何其他系統來實現類似的結果。

團結所具有的優勢是良好的多平臺支持和卓越的資產管道。導入和利用藝術資產,二維,三維和音頻對我而言是這類開發中最繁重的任務之一,並且得到了很好的統一支持。

+0

這是一個有用的迴應。感謝您的觀點。我想我會堅持Unity3d。 – Rishi 2011-04-28 08:50:34

0

嗯,我看你已經檢查Unity3D了,但我不認爲在PC,電話任何其他引擎的工作原理,並通過流媒體互聯網上詢問服務3D(二維檢查EXEN或任何其他人)。

我也敢肯定,你可以使用統一的代碼爲基礎的,它支持幾個不同的語言,但是對於團結工作,你不能只是導入unity.dll(例如)到你的代碼,不,你必須將你的代碼用於統一,以便統一可以使它在所有這些不同的平臺上工作。

1

你提到的iOS - 這幾乎限制你去本地或者使用網絡堆棧。既然native不是你想要的(因爲你提到的每個平臺都會有所不同),你可以使用JavaScript。理想的情況是WebGL,但支持仍然是實驗性的,並且在電話系統中不可用。您仍然可以使用建立在2D <canvas>之上的JS庫中的一個。儘管如此,你不能指望出色的表現。你可以在這裏找到例子:http://www.javascriptgaming.com/

+0

去WebGL,Facebook是爲WebGL打賭,迪斯尼和其他人也是。 – Goles 2011-03-26 21:30:05

+0

@Gando:真的,但這不是在手機**還**。 – vartec 2011-03-26 21:38:18