1. 程式人生 > 其它 >想入行遊戲開發,需要學什麼?

想入行遊戲開發,需要學什麼?

今天我參考了圖書《遊戲引擎架構》的目錄和內容談談學什麼、怎麼學。

遊戲能模擬現實世界的視覺,就離不開數學幾何知識:向量、矩陣、矩陣運算、空間變換、四元數、幾何關係計算…… 不要求所有公式都能倒背如流,但你一旦遇到簡單的幾何問題都想到什麼基本原理能解決。

接下來,你要打牢基本資料結構的知識,對陣列、連結串列、無序集合、雜湊表有基本瞭解。做到能使用你熟悉的程式語言,清晰的把遊戲裡的血量經驗、敵人叢集、斷言式AI規則等遊戲物件,用對應的資料結構編出程式。

還要培養好資料流、排程和並行、面向物件的設計思維。遊戲本質是一款“看得見”的資料庫(比如你能看得到敵人表、子彈表、武器資料庫),遊戲還是一款能玩的Client/Server結構(比如多人手遊通訊)……與搞電商平臺開發、做資料庫設計和互動有很多異曲同工之妙。如果這方面不熟悉,不妨應該去練習實戰積累相關領域的開發經驗。

在上述基礎上,你還要意識到遊戲行業團隊有多種定位:你是做工具鏈開發還是具體產品開發?是做底層引擎核心模組開發,還是整體遊戲規則劇本設計?還是要晉升做個架構師、CTO?…… 不同的方向對技術掌握的需求是不同的。除非你有足夠的時間精力才能做到通才,否則在深入學習時就要有輕重之分。

然後就是做細分方向的研究:

物理模擬方向。由於很多引擎開發商都做好了相關模組的封裝和簡化,所以你只需要瞭解一些骨骼動畫、力學碰撞、貼圖渲染、音樂的基本原理,就能夠上手開發了。

底層優化、架構設計方向:深入學習彙編原理、作業系統,多做實驗。這樣公司遊戲部署環節時,你就有很多活幹了:移動端或遊戲主機跨平臺釋出、VR與專用體感裝置開發、遊戲防破解保護……

然後還可以邁向高等數學深水區,學習微積分、線性代數,這樣你才能讀懂並應用公式。這方面深究下去你可以做一些遊戲電音的數字訊號處理、人工智慧系統、高效能渲染引擎。總體來說,學習數學理論的門檻較高,崗位不多,但工資待遇高、適合深造。

遊戲是一門藝術,不能脫離美的設計。在開發方向外,也要適當涉獵美術理念、心理學等人文知識。自己至少能用 PS 做一些簡單的調色、切圖工作,這樣不用天天請美工小姐姐們吃飯幫忙。

遊戲還有第九藝術的美譽,我認為它是人類文明繪畫、雕刻、建築、音樂、詩歌文學、舞蹈、戲劇、電影的集大成者,需要美和技藝的點點滴滴不斷培養。遊戲開發不可急切速成,但也不許畏難後退。