【廣告】
游戲引擎技術(shù)未來會如何發(fā)展?我的思考角度就是,游戲引擎一定會順應(yīng)技術(shù)的變革和創(chuàng)作的需求。從交互體驗(yàn)進(jìn)化的角度來考慮,輸入以及反饋設(shè)備的發(fā)展將會直接影響游戲引擎的設(shè)計(jì)。就好像 iPhone 的誕生直接催生了巨大的手游市場,面向移動端觸控交互為主的游戲引擎比如 Cocos、Unity 就迎來了巨大的成長機(jī)遇;商業(yè)化 VR 設(shè)備誕生后,各種 3D 引擎也都開始適配 VR 雙屏顯示的需求以及新的主視角操控方式;此外,這些移動游戲開發(fā)平臺標(biāo)準(zhǔn)可以向開發(fā)者發(fā)布、開放并可免費(fèi)取得。AR 設(shè)備讓游戲引擎開始適配 AR SDK 中的環(huán)境識別能力、物體識別能力、手勢識別能力;NS 也要求游戲引擎適配它的獨(dú)特控制器 JoyCon,催生出了健身環(huán)大冒險(xiǎn)這樣以健身為玩法的獨(dú)特游戲。沿著這條路線往后看,AR、VR 設(shè)備的進(jìn)化,更適合游戲的穿戴設(shè)備的連接,都將成為游戲引擎技術(shù)的機(jī)遇。有很多人會覺得 AR、VR 過于噱頭,沒有多少實(shí)質(zhì)的價值,那是因?yàn)檫@些技術(shù)沒有進(jìn)化到它應(yīng)有的形態(tài),今天的 AR、VR 設(shè)備就像是 iPhone 之前的 Windows Mobile,早晚會出現(xiàn) iPhone 這樣在體驗(yàn)上顛覆性的產(chǎn)品。
測試驅(qū)動開發(fā)改變了我們常見的工作流程,不要求先寫邏輯代碼,反而要求先完成測試代碼。待測試代碼完成之后,我們再將目光轉(zhuǎn)移到邏輯代碼,根據(jù)測試的要求,完成邏輯代碼,使之能夠通過經(jīng)過拆分后粒度已經(jīng)很小的測試。這樣做有什么好處呢?要將任務(wù)拆分成可測試的各個測試用例,這就要求我們在完成邏輯代碼時要將代碼的功能盡可能細(xì)分,換句話說就是讓一個類/方法只負(fù)責(zé)單一責(zé)任,當(dāng)這個類/方法需要承擔(dān)其他類型/方法的責(zé)任的時候,就需要分解這個類/方法。這就迫使我們要把程序設(shè)計(jì)成易于調(diào)用和可測試的,即迫使我們解除軟件中的耦合。更加適合應(yīng)對需求的經(jīng)常性變更。身處游戲開發(fā)行業(yè)的從業(yè)人員都不能否認(rèn)的一點(diǎn)便是游戲開發(fā)中需求變更是一件不可避免甚至是必不可少的事情,而基于測試驅(qū)動開發(fā)的另一個好處便是一旦因?yàn)樾枨笞兏霈F(xiàn)bug,能夠很快的發(fā)現(xiàn),進(jìn)而解決問題。單元測試是一種無價的文檔,它是展示方法或類如何使用的文檔。目前來說,大家都廣泛認(rèn)可這樣一種觀點(diǎn):無論電子游戲的生產(chǎn)的開銷有多大,這(1萬美元/人)都是一個很好的估值。這份文檔是可編譯、可運(yùn)行的,并且它保持,永遠(yuǎn)與代碼同步。
入門教程,語言、引擎的無師自通是計(jì)算機(jī)專業(yè)學(xué)生的自帶技能不啰嗦了,要看的書主要集中在游戲策劃這個角色上,主要研究游戲制作流程,日程安排,游戲性設(shè)計(jì),關(guān)卡設(shè)計(jì),數(shù)據(jù)平衡等等。這些項(xiàng)目不像編程,美工音樂那樣有現(xiàn)成的教育框架,我也實(shí)在沒找到一本集大成,對得起它價錢的教科書。目前比較接近這個需求的有游戲制作工廠系列,全彩還挺貴的建議去圖書館借閱,另一本第九藝術(shù)學(xué)院?游戲開發(fā)系列教材?游戲架構(gòu)設(shè)計(jì)與策劃基礎(chǔ) 倒是不貴,不過講得也并沒有多好。另外像unity的關(guān)卡系統(tǒng),本身就蘊(yùn)含了以關(guān)卡為結(jié)構(gòu)的游戲設(shè)計(jì)思維,所以unity引擎的教科書也通常會講授一些,別的引擎同理;這些都可以博覽而加入你自己的知識庫中。各種行業(yè)的虛擬培訓(xùn),也可以被稱為嚴(yán)肅游戲,可以算是交互需求比較強(qiáng)的,比如虛擬手術(shù)的培訓(xùn),會要求交互反饋的實(shí)感,算是特定交互體驗(yàn)的深化,可以想象需要借助特殊設(shè)備,但仍然比不上游戲要求的交互豐富度和自由度。