怎樣系統(tǒng)學習游戲編程,開發(fā)游戲引擎以及游戲制作需要學習什么?
游戲開發(fā)不分國內(nèi)國外,開發(fā)流程大致都是一樣開發(fā)游戲引擎和開發(fā)游戲是兩碼事,游戲引擎的開發(fā)難度和開發(fā)周期不亞于一個3A級大作,而一般情況下開發(fā)者們可以選擇現(xiàn)有的引擎進行開發(fā)。
像戰(zhàn)地系列、使命召喚用的就是寒霜引擎,而最終幻想還有國產(chǎn)的軒轅劍5則是用的夜光引擎,號稱顯卡殺手的孤島危機使用的是CE3.4引擎,蝙蝠俠系列、質(zhì)量效應、鏡之邊緣則是用的大名鼎鼎的虛幻3引擎。不同的引擎有不同的側(cè)重方面,看你做什么游戲。我就是做獨立游戲的,這是這兩年剛興趣的開發(fā)模式,旨在花最少的資本做最好的游戲。個人推薦新手入手這行是,學一些編程基礎、繪畫和游戲架構(gòu)我目前在用的是GAMEMAKER引擎,適合做2D游戲。有疑問可以再問我
游戲開發(fā)都需要會哪些?
首先非常感謝在這里能為你解答這個問題,讓我?guī)ьI你們一起走進這個問題,現(xiàn)在讓我們一起探討一下。
1.要想成為一個游戲開發(fā)人員,就得先成為一個很好的程序開發(fā)人員。當你成為一個很好的程序開發(fā)人員時,就可以考慮學習游戲開發(fā)了。要想成為一個非常好的游戲開發(fā)人員,最重要的一點,就是需要對數(shù)學非常好。當然,這里指的數(shù)學好,不是指加減法好,或者心算好,而是指線性代數(shù),幾何和幾何代數(shù),物理方面的數(shù)學等等。如果你對于數(shù)學是毫無興趣,或者索然無味的話,就要重新想想自己是否可以改變自己的理想了。如果你的數(shù)學不好,還想成為游戲中的人員,呵呵,有一個辦法,就是成為游戲的測試人員,游戲的藝術人員,或者是游戲設計人員,或者游戲的管理人員。
上面知道數(shù)學是開發(fā)游戲的第一個基本條件了,但還是有很多其它知識需要學習的。下面就來詳細說明一下:
2.程序設計語言:在程序語言方面,不但要精通一兩門語言,還需要了解其它的語言。一般開發(fā)游戲都是使用C++或者C,因此精通這門語言是必然的選擇了。由于開發(fā)游戲需要不同的語言,比如腳本語言,這樣就需要了解一下動態(tài)語言,比如Python等等。
3.數(shù)據(jù)結(jié)構(gòu):不管計算機發(fā)展到什么程度,只要是編寫程序,就少不了數(shù)據(jù)結(jié)構(gòu)。目前,基本上都不再會有自己去創(chuàng)造“車輪”年代了,應去理解和使用STL,或者其它更好的數(shù)據(jù)結(jié)構(gòu)庫了。精通地使用STL,就基本上解決了數(shù)據(jù)結(jié)構(gòu)的問題了。
浮點數(shù):在開發(fā)游戲里,使用最多的數(shù)據(jù)類型是什么呢?顯然就是浮點數(shù)。比如3D游戲里的點坐標,就是使用三個浮點數(shù)來表示的。浮點數(shù)的計算,往往就會有不精確的現(xiàn)像,比如判斷一個數(shù)是否等于0,就不能想當然地認為是否等于0了。
4.編程工具:編程工具,就像自己的柴刀,如果沒有柴刀,就砍不到柴的。當然,磨刀不誤砍柴功。因此,一定要對自己的編程工具非常熟悉,比如調(diào)試,工程配置,編輯,編譯等等,還有經(jīng)常出現(xiàn)的編譯錯誤等。如果你還是使用VC6來開發(fā)現(xiàn)在的游戲話,建議你趕緊放棄吧。那都是8年前的開發(fā)工具了,目前都需要使用VS2005的開發(fā)工具了,強大的C++語言特性,強勁的編輯工具,讓你寫代碼,就如流水般流暢。它還能支持編譯x64位的代碼,64位的PC越來越流行了。
5.計算機體系結(jié)構(gòu):不了解計算機的體系結(jié)構(gòu),就沒有辦法知道程序的運行環(huán)境。很多年前,還是8086的體系的結(jié)構(gòu),接著,就是80386的保護模式。到目前多核體系結(jié)構(gòu),對于編寫程序,要求發(fā)揮多核CPU的性能,就需要了解怎么樣合理地分配CPU資源了。或許,你還可以控制那個CPU進行渲染的操作,那個CPU進行網(wǎng)絡通迅。如果到四核的CPU,又要需要多少個CPU進行數(shù)據(jù)庫的查詢工作呢?
6.Windows編程:目前90%的游戲運行環(huán)境就是Windows,如果不了解Windows,就無從下手了。比如Windows的消息處理過程,事件響應,還有Windows的網(wǎng)絡通迅過程,這些都是需要了解的。還有Windows提供的API,更加要熟練運用了。
7.DirectX:對于每個游戲開發(fā)者,都是必備常識。
軟件工程:現(xiàn)在的游戲開發(fā),都不是一個人就可以開發(fā)完成的。一定是一個團隊,相互之間的協(xié)作,就成為了需要解決的問題。比如每個人寫的一部份的程序庫,是怎么樣連接在一起,都是軟件工程的問題,怎么樣安排進度,都是需要使用甘特圖來說明,以及怎么樣進行測試,也是測試人員配合進行的。 現(xiàn)在的游戲都進行入了3D的時代,那么你從哪里開始呢,最快的方法,就是下載DX SDK,然后打開一個空的工程,看看DX給你創(chuàng)建了什么文件,以及這些源程序作什么用的。接著試著創(chuàng)建一個三角形顯示出來看看,試著改變它的顏色,試著讓它轉(zhuǎn)動起來,最后創(chuàng)建兩個三角形,計算一下這兩個三角形會不會相交呢?會不會碰撞呢?
在以上的分享關于這個問題的解答都是個人的意見與建議,我希望我分享的這個問題的解答能夠幫助到大家。
在這里同時也希望大家能夠喜歡我的分享,大家如果有更好的關于這個問題的解答,還望分享評論出來共同討論這話題。
我最后在這里,祝大家每天開開心心工作快快樂樂生活,健康生活每一天,家和萬事興,年年發(fā)大財,生意興隆,謝謝!
需如何學習編程并掌握到何種程度?
題主,您好!
如果自己做游戲的話確實還是不容易,但是夢想是偉大的,所以以下有一些總結(jié)的方法。
第一,游戲也是跟軟件一樣分為前臺后臺,前臺就是人物原型和地圖原型以及NPC,這些就是前臺,而后臺需要后臺代碼來給前臺物體作出支持,比如控制移動,控制物理引擎,等等。
第二,題主需要理論的學習一些主流的編程語言,推薦(Python,Java),學習好語言就是對您寫游戲后臺的支持,然后再學習使用主流虛幻4引擎來開發(fā)前臺與后臺。
雖然說著很容易,但是需要題主一點點的積累,學習,總結(jié),希望題主早日完成自己的想法!
以上就是關于怎樣系統(tǒng)學習游戲編程和開發(fā)游戲引擎以及游戲制作需要學習什么的相關問題解答,希望對你有所幫助。