2011-07-13 44 views
2

我意識到,這是往往會導致爭論的排序問題,而是因爲我永遠也學不會,我會問它反正:XNA Vs的C++引擎

我是一名計算機專業的學生用幾年的經驗,目前正在考慮與遊戲開發做更多認真的工作。到目前爲止,我有大約半年的C++和Java知識,以及一年半的C#知識。我在XNA框架上工作過很多,但是在尋找建議時,我發現很多人認爲C++或Java是開始構建遊戲的好地方。

所以我的問題是這樣的:既然我已經很熟悉XNA,什麼是會通過,而不是使用C++/Java的避免格式固有的主要缺點?

當關於優化和這樣的回答,請考慮我目前還缺乏經驗。告訴我一個優化的C++程序比一個優化的C#程序更快,這對我來說毫無意義,如果這種優化需要專家程序員來實現的話。

編輯:請允許我以另一種方式:我的問題是不是「我爲什麼要使用C++?」,這是「我爲什麼不應該使用XNA?」我知道C++會給我更多的選擇,但我的問題是這些選項在業餘遊戲設計中是否足夠有用,值得立即尋找C++。

+0

如果你想製作遊戲,我建議你使用Unity來處理它的C#腳本。如果你想製作遊戲引擎,我會建議C++。我使用XNA很多,因爲它對於小項目非常好,任何更大的項目,我都會專注於遊戲細節。 –

回答

5

使用C++的優點是,你可以從字面上做任何你想要的。

另一個優點是,C++可能會更快,在緊密的循環,你是在C#相當於是用許多小的結構做了很多數學。

使用C++的缺點是您將使用C++進行編程。這意味着內存管理問題,指針解引用錯誤以及.NET中無法解決的各種非託管問題。

另一個缺點是,你沒有得到的Xbox或Windows Phone的支持,你將與XNA得到。

+7

我喜歡它,當人們在沒有留下評論的情況下冷靜下來。 (不,我不,這是諷刺) –

+3

我討厭諷刺。並愛無限遞歸。 –

+1

當然,最後一點的反覆論證是,如果您使用的是C#,則無法輕鬆移植到Android,iOS等。不過,我同意你的其餘評論沒有資格。 – Tommy

5

好的,讓我們完全忽略哪一個更好的論點。讓我們繼續假設你希望從事遊戲開發事業。我會直截了當地說90%的遊戲(如果不是更多的話)是用C++的一部分(或者是完整的東西,框架,庫等等)開發的,所以學習C++對於遊戲開發來說是必不可少的。任何遊戲開發者。

如果你純粹是做了很愛好XNA是一個快速的方式在門的時候沒有學習其他編程元素(如3D圖形,文件管理等)。不過,據說,學習這些東西也是關鍵。總之,我的建議是學習C++。沒有理由不這樣做。如果你瞭解C++,你可以在半秒鐘內學習C#(不是很好,但相當快)。一旦你瞭解了基礎知識(3D編程,物理等),你幾乎可以做任何事情。

祝你好運。

1

是的,如果你想快速的結果是使用XNA。我剛開始使用C++,但我不得不說,xna很容易。你只需要用C#知道OOP(面向對象的編程),你也可以和xna一起製作好遊戲。