版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、這個是我復制別人的,有什么不懂的別來問我。我們可以互相交流。。此篇文章獻給那些為了游戲編程不怕困難的熱血青年,它的神秘要我永遠不間斷的去挑戰(zhàn)自我,超越自我,這樣才能攀登到游戲技術的最高峰。這篇文章是我一年半前,找工作時候寫的,那時是發(fā)到學校的BBS上?,F在我工作了,想法和以前也有不同,但對游戲引擎編程理念還是基本差不多。在我沒遇到U3以前,一直研究WILDMAGIC,可以說是GAMEBRYO的前身吧,他們基本框架都差不多,是完全面向對象
2、,代碼容易讀,但它發(fā)展存在嚴重的弊端,這個也是它為什么不是牛B引擎的原因。但從渲染和動畫方面來看,U3的MATERIALTREE和ANIMTREEE是2個飛躍的,當我對我自己引擎渲染材質和光照一籌莫展的時候,MATERIALTREE帶來的希望。對比zfx(wildmagic)gamebryo和ogre還有U3,各有優(yōu)缺點,而且你可以看到一個引擎發(fā)展,從一個以多邊形為渲染單元,變成以mesh做為渲染單元(現在很少有引擎場景管理分割多邊形來
3、做的我始終喜歡zfx引擎,它是0002之間的引擎,完全讓你可以理解那時候顯卡不是很強的時候,一個引擎應該具備的特征。對于架構來講,(wildmagic)gamebryo和ogre做的很好,u3的特點就是架構亂,沒有什么可讀性的技術文檔,研究起來十分吃力。做為一個商業(yè)引擎,對于渲染方面,我認為(wildmagic)gamebryo輸給了ogre,框架設計還有弊端,ogre確實是一個好引擎。而U3對于渲染過程,光照,陰影,就是一幀的渲染過程
4、,處理的十分得當。動態(tài)生成shader是一個引擎的發(fā)展的必然趨勢,而往往動態(tài)生成最多的,也就是材質和光照,它們不能分開,分開談無意義,MATERIALTREE我始終認為是個太好的想法了,任何特效不需要程序員過多參與,美術可以搞定一切,什么水,反射,折射,這些效果,編寫起來易如反掌,還可以實時光看效果。其他動態(tài)生成,也就是根據配置不同,來做處理,動態(tài)編譯shader弊端太大,不能做到所有,而且不靈活,如果動態(tài)生成和動態(tài)編譯合起來,簡直牛B
5、透頂了。現在我的引擎已經有了MATERIALTREE這個功能,ANIMTREEE在制作中。這里面我重點談的是圖形方面,略帶些動畫方面,一個引擎最基本的是內核,包含內存管理,文件讀寫,資源管理等等吧,也十分重要,我的引擎這些寫的都很簡單基本都是wildmagic里面的。我總結3D引擎編程的4個階段第一階段是了解3D原理和數學基礎,大學里面學的線性代數,概率統(tǒng)計和高等數學完全足夠,在3D中都有充分體現。最好自己能做一個軟引擎,這樣整個3D流
6、水線自己完全可以掌控,然后在學DX之類的API很容易。第二階段不要看引擎,還是應該以實現各種效果和基本算法為基礎,包括各種圖形特效,場景管理,剪裁算法,各種動畫算法,等等,所有那些單一的算法,如果這些都不是了解很好,那么做引擎時引擎框架的接口也不會設計好!再添加這些算法和效果時會很困難,效率也不會很高。第三階段,就是看大量的引擎,對引擎有很深刻的概念,3D引擎只是引擎的一部分,引擎主要是框架,如果框架搭建好了,那么引擎的效率是很顯著的,
7、其他底層細節(jié)優(yōu)化,也會有明顯的優(yōu)勢體現。第四階段,再好的引擎沒有成功的游戲支撐都是白費,你不僅僅是做引擎,而是做的有開發(fā)價值的引擎,可以很好的為游戲服務的引擎。下面這段話寫于一年半前~~擦肩而過,從小霸王以后的國外游戲機沒有任何仿造,導致了游戲機技術從此斷代,現在卻又想起來趕超。而現在,國人知道努力了,國家看到有錢可賺開始支持了,腐朽的游戲思想卻還在蔓延,網絡游戲就是這樣環(huán)境下成長的新生兒,國內網絡游戲每年要大批量生產,但存活的基本沒幾
8、個。不能否定,沒有利益的事情沒人干,但你還不能否定,有些事情即使沒有利益,但還是有人干,哪怕知道自己并不能得到什么。國內的人,很少是第2種人,他們把游戲做為賺錢工具,垃圾游戲隔三差五的紛紛涌出。相比來講,我只拿日本舉例子,雖然小日本和咱們有愁,但我們不得不承認小日本在游戲這方面思想層次完完全全超越我們,他們有嚴格游戲教育背景,他們做一款游戲,要按照嚴格的流程,從設計到編程,以至最后的測試,都有著干一行敬一行的精神,否則《生化危機》這樣游
9、戲你是永遠看不到的。所以你要改變自己的思想,游戲是一種藝術品,你要有一種藝術境界來去欣賞她。2你有毅力愛她愛到底嗎?也許我上面的話,你還能接受,殘酷的在下面,以我的經驗告訴我,如果你編程和游戲理論起步是零,你要對游戲編程達到略有小成的水平最少要4到5年,我比較蠢,花了6年。這6年來,幾乎每天平均學習45個小時左右,當然假期都要算上。頭3年半基本學習計算機基礎知識,包括數學,數據結構,計算機體系結構,人工智能,匯編,編譯原理,操作系統(tǒng),網
10、絡,軟件工程,離散數學,算法分析。我們大學4年基本就學這東西,這些都是基礎,游戲編程都需要,還有一個就高等物理我沒有學,導致我現在對于一些物理微積分方程很難理解,當然這里并不一定是問題,只要你肯努力,沒有學不會的。完全把這些學好,花4年時間真的不容易。我曾經抱怨自己沒保研而痛苦的經歷考研,現在我卻認為是值得的,我很難有時間在集中精力的復習這些專業(yè)課了,尤其是數學。在游戲編程中,上面的基本知識都可以用到,所以我說游戲編程很復雜一點不假。就
11、拿游戲中最難的部分——一個好的游戲引擎來說(這里說的好引擎),世界上能把她做出來的人很少,中國更是寥寥無幾。上面只是理論基礎,要走進游戲編程最基本的。過硬的編程技能更是需要的,其實這些理論學習可以和編程相結合,在編程中學習理論,為了學習理論而增長編程經驗。有了基礎,你才能進一步學習游戲編程,2D游戲和3D游戲理論都要學,這又要花費很長時間,這個是我下面要詳細說的??赐晡覍懙?,你可能心驚膽寒,所以你要愛她,深深的愛她,否則你承受痛苦的時候
12、享受不到暗含的樂趣。3愛她請從游戲開始。很多人可能不解,游戲編程為什么要從游戲開始,玩游戲時,有很多潛移默化的東西影響著我們編寫游戲程序,很多靈感確實從游戲中得來。一般的游戲編程高手,都是從小由于游戲對他們巨大吸引,從而走上游戲道路,雖然不是絕對,但按統(tǒng)計學角度講可以說是一個事實。一個不愛玩游戲的人,愛上游戲編程的幾率是很小的。其實很多人小的時候都愛玩游戲,他們都是從游戲廳張大,只有一少部分,走向了游戲開發(fā)這個行業(yè),他們之間有著明顯不同
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論