歡迎來到 常識詞典網 , 一個專業的常識知識學習網站!
[ Ctrl + D 鍵 ]收藏本站
答案 1:
首先說明,“游戲制作”方面還是有很多個細的小方面的,對于一個大型游戲而言,不同的程序員之間往往是有相對比較明確的分工的。一般而言,每個方向的基本都是需要了解并掌握的,但是在深入學習之前,最好還是先對自己有一個定位。 游戲邏輯開發: 1、游戲的邏輯開發和其他軟件行業沒有本質不同,最好還是從數據結構和算法開始。并不要求你熟練掌握并編寫每一個數據結構或者是算法,最重要的是你能夠分析數據結構和算法的時間空間復雜度,能夠進行一定的改造和組合工作,能夠熟練利用別人(比如STL)提供好的數據結構和算法來快速無錯的解決具體的問題。《數據結構》、《算法導論》(另外一本稍薄一點的算法書也很推薦,我個人是看這本書學習的,而沒有看過算法導論,但我不記得它的名字和出版社了……) 2、你需要了解諸如“狀態機”、“觸發器”、“事件”之類的概念,它有助于你更好的模塊化和組織你的代碼,也有助于你更好的理解和接觸別人提供的框架。至于在哪里可以學到這些概念…… 我也不清楚。Wiki或者與別人討論 大概都是不錯的方式,注意觀察各種類似需求的解決方案(比如HTML/javascript、Flas-/Actionscript)都有助于你改善自己的方案。 3、掌握幾門常見的腳本語言。沒錯,我說的是幾門。事實上,學到第二門之后你就會發現,它們本質上都差不多,同類型的腳本語言會有如此多的共同之處。把lua或者pyt-on嵌入到你自己的游戲框架之中吧,如果你的代碼能力不錯,嵌入javascript也許也是個不錯的選擇。 4、如果可能,深化一下你的C++基本功。Effective C++系列、Exceptional C++系列、C++ Template、Imperfect C++。 5、接觸一款引擎,在其上做上層開發,不要急于過度深入引擎之中。越成熟用戶量越大的引擎越值得你去體驗。 6、推薦再去讀一些關于游戲人工智能的書籍。 游戲圖形開發: 1、對于英語沒有困難的人,還是推薦先跟著DX SDK走一遭,里面的Tutorial非常簡練,快速,也讓你學習了一些基本的概念。DXSDK里關于現代圖形管線的介紹也相當精確。 對于英語有困難的人,請參考莫偉琪的回答中引用Clay-n的帖子,讀相應書的中文版。 補充: 關于D3D9和D3D11:相比較來說,D3D11的接口比D3D9的更簡練快捷,更易于學習,需要處理的各種意外狀況較少,并且二者在API上不是一個補充完善升級的關系,所以并不需要“先學習D3D9,再升級到D3D11”,可以直接從D3D11開始。D3D10“還沒普及就已經過時了”,可以略過。 關于D3D和OpenGL:二者在風格和習慣上有很大不同,但是在本質上沒有任何的不同,初學者可以任意選擇一個開始。相對而言,D3D的資料較豐富,在游戲行業應用較多,推薦自學的初學者優先接觸。OpenGL在研究上的使用較多,在移動平臺目前也是OpenGL ES等各種來自于OpenGL的標準較多,推薦在校研究生/有志于智能-研發的同學們接觸。 關于固定管線/可編程管線:從應用上來說,固定管線已經成為歷史了(即使移動應用也即將如此),從學習上來說,固定管線所涉及的概念較多,API較繁雜,比較耽誤時間,而且其涉及的所有技術在可編程管線均可以實現,且更為自由,所以推薦直接從純粹的可編程管線學起,并且在合適的時候了解一下固定管線和可編程管線之間的一些對應關系,不推薦先學習固定管線再“升級”到可編程管線。 2、了解基本API后,此階段往往最缺的是數學,需要作為基礎的可能有: 線性代數的基本概念(通常大學教材的前3-4章):最重要且最基礎,最起碼你要知道矩陣是干嘛的,是怎樣參與運算的。 高等數學(微積分)的基本概念:你將來會發現稍微復雜一點的渲染算法都要用到這些作為基礎知識。 四元數:在三維游戲里,通常用四元數來表達旋轉 一些基本物理公式:諸如漫反射的強度公式等等 信號處理的一些常見概念:諸如傅里葉變換、卷積等等 除了線性代數基礎以外,其他的數學學習都不是很緊急,可以手頭備一兩本書,或者養成快速上網查詢的習慣,等到有了需求的時候緊急補課。作為一個程序員,沒必要一開始就把自己當做一個數學家^_^ 也很推薦以上知識的打包書籍:《3D數學基礎:圖形與游戲開發》(3D Mat- Primer for Grap-ics and Game Development),還包含一些我沒有列出的數學和算法。 3、基本概念和數學都了解了,推薦學DX的同學們重新系統的審視一遍DXSDK,或者把你手頭的D3D/OpenGL入門書再從頭到尾確認一遍,不明白的概念都查一下,然后搭建或者改造一個屬于自己的實驗平臺(推薦從DXSDK里扒一個),就可以宣布基本知識畢業,開始從事各種效果的制作了。 4、-實現。GPU Gems系列、游戲編程精粹系列、S-aderX(GPU Pro)系列,這種書都是將一個個獨立-集合出書的,找感興趣的內容深入學習,自己實現吧。 游戲引擎架構: 1、沒有任何資料可以推薦。先掌握基礎,有使用成熟引擎的經歷,然后: 2、寫一個框架。 3、往里面適當添一兩個新特性。 4、用這個框架寫一個游戲。 5、列出不爽的地方。 6、看別人是怎么做的。 7、回到2或者3。答案 2:
初入門我還是建議看《Windows游戲編程大師技巧》+《3D游戲編程大師技巧》(其實這是一套) 理解這兩本書中內容即可(主要是固定渲染管線的原理),現在沒必要寫一遍書中的程序了。 另外Clay-n說得很好:cnblogs/clay-n... 只是我還是建議學習圖形api前,先看以上兩本書(除非你已經理解了書中的內容)。答案 3:
推薦看看《游戲編程精粹》 1-6很不錯 7稍微一般一點答案 4:
開發方面不懂,推薦一個博客吧,necro-nov.wordpress/下一篇:鐵軌的枕木是什么時候拿掉的?平行鐵軌有什么作用? 下一篇 【方向鍵 ( → )下一篇】
上一篇:餓的時候抽煙會減少餓的感覺么? 上一篇 【方向鍵 ( ← )上一篇】
快搜