游戲引擎的知識首先,要玩游戲的話,對完美的引擎構造需要知識。特別是像原來的神一樣使用商業(yè)引擎的團隊,對于各種商業(yè)引擎需要一定的理解和認識。這里介紹的是《Game Engine Architecture 3.ed.》。因為在國內只有第一版的翻譯,所以可能有很多人不知道和這個評論員一樣,這本書已經(jīng)更新了好幾次了。這樣的書一般技術更新很快,所以可以看到新的。請盡量不要看舊的。而且因為翻譯跟不上,所以有能力的朋友會盡量去看英語版。渲染在游戲引擎中是相當重要的。在這里介紹3本書。“Advanced Global Illumination 2.ed.”“Physically based Rendering 3.ed.”AGI是一本相當薄的書,但是它明確地說明了光傳輸?shù)母鞣N理論。
與AGI相比,PBRT全書1000頁以上的版面被很多人看到和退縮,它可以讓你理解更多的光線追蹤里面的細節(jié)。RTR這本書的時效性很強。其中有只有歷史意義的內容。可以說價格性能比沒有那么高。所以最后推薦。我想說的是,特別是RTR不推薦給新人。眾所周知,很多人在各種各樣的平臺上推薦這樣的書,但是大部分人都沒有讀完。實時呈現(xiàn)理論與離線呈現(xiàn)相同,只需使用更多trick近似一些效果,所有理論都可以在離線呈現(xiàn)(AGI/PBRT)中找到。而且,那個時效性非常強,RTR4中已經(jīng)有很多算法在未來幾年內已經(jīng)不能使用了。另外,這本書里也沒有新的算法。請不要被這些推薦書的人騙了。自己讀一遍最有說服力。如果實時渲染的話,我想可以學到很多API的使用和設計的想法。任何API都可以。通過實踐性的學習,可以知道DX12和DX11的性能哪里不好。繪圖效率有多大不同?計算機科學的共同表現(xiàn)是游戲中可以看到的最表面的部分。游戲的其他技術有什么?答案應該是各種計算機科學知識的總和。想優(yōu)化CPU的執(zhí)行性能的話,應該怎么做?緩存如何影響我的游戲效率?聯(lián)合國的ECS是什么?99行寫的雪和雪的女王Taichi是什么?
我學習了體系結構。我相信自己能知道這些問題的答案。游戲開發(fā)為什么使用lua?我們在說虛擬機,到底指的是什么?在Unity的C宅怎么稱呼lua腳本?C波段的反射又是什么?反射的開銷都是編譯和運行的什么環(huán)節(jié)?Ureal Header Tool是實現(xiàn)最高反射的機制嗎?我學習了關于編譯原理和編程語言的理論。這些問題都很簡單。多人游戲怎么做?網(wǎng)上可以收到的最多人數(shù)是多少?如果有人用外掛會怎么樣?我的游戲程序為什么不被別人解讀?少年,電腦網(wǎng)絡,甚至是密碼學,都在等你。游戲中的沖突是怎么實現(xiàn)的?物體的破損是怎么實現(xiàn)的?水、布、煙等物體怎么動?整體的照片怎么顯示?計算解析學、力學、數(shù)值分析、幾何學?你現(xiàn)在后悔沒能很好地聽清大學一年級的分數(shù)嗎?也就是說,我切實感受到大部分知識都可以應用于游戲。我們的理解不像專家那么深刻,但是在游戲開發(fā)過程中應用這些知識也是一個很大的挑戰(zhàn)