想學習遊戲開發需要具備哪些基礎才能學?0基礎能學嗎?

隨風飄散


1. 如何系統地自學遊戲開發?

我的建議是先學習使用成熟的遊戲引擎, 自己或者組隊製作幾款小遊戲, 把遊戲開發所涉及的各種知識有個概念上的瞭解, 再選擇自己感興趣的深入學習. 當然, 主修遊戲玩法也可以, 在不斷地優化和提升的過程中, 肯定會遇到技術瓶頸, 那時候就有學習和改進的動力了.

2. 自學遊戲開發應該自上而下還是自下而上?

雖然我自己是自下而上的, 但是我更建議自上而下. 因為自下而上的話, 更多的是在學習底層技術, 卻與遊戲相關性不大. 很多人可能很想做遊戲引擎, 但是不瞭解遊戲的人做出來的引擎是沒人用的, 建議還是先對遊戲製作的各方面做一下了解, 再去學習會少走很多彎路.

3. 建立在有足夠的耐心逐步學習的基礎上,應該先打好圖形學基礎再開始遊戲開發嗎?

圖形只是遊戲的一部分, 不是遊戲的全部, 而決定遊戲畫面好壞更多的是美術而不是程序. 而且圖形做到後來會極大地依賴數學, 我個人就是因為這個限制住了提升空間. 不只是圖形, 計算機的各科課程在遊戲開發中都會用到, 理論基礎都很重要, 這決定了你之後能夠達到的高度。

嘗試過directx加win32編程的。

1.先學習基礎的程序算法和原理,然後學習dx的2d編程,寫個小程序,包含一些簡單的圖像處理的函數,從放大縮小到旋轉到色相處理等等,能將多個圖像系統的組合處理的。例如控制一個小人在屏幕上移動,能發射直線的子彈,子彈打到牆上會消失等等。

2.找一個小遊戲,例如網上各種flash小遊戲(因為可以直接反編譯裡面的資源出來用,方便),防照一個寫出來。寫的時候可以先用暴力方法寫,然後再轉換成面向對象的寫。例如我當時就抄了一款打地鼠遊戲來練手了,裡面有20多個關卡,有不同ai的地鼠和boss,還有道具商店和秘籍等等,都全部完完整整的寫了一遍。簡單點的話不妨寫一個flappy bird也不錯啊。

途中還需要補充學習一些音頻和輸入設備的處理方式。

3.最後咯,就開始進軍3d了,當年有兩本很出名的書的,不過名字我忘記了,叫什麼windows遊戲編程啥的,一本是2d一本是3d的,其中3d那本是從3d圖像基礎原理開始教起的,挺有意思的,現在很多3d開發教程都只是直接教你用api。

之後同樣也是自己動手寫一個遊戲,不過這次可以自己去想一個簡單的遊戲去寫了。途中可以考慮一下某些遊戲的玩法是怎麼寫的,因為我當時寫的是一個很挫的格鬥遊戲,但裡面思考怎樣去寫兩個技能碰撞的,寫拳王式的搓技能,dnf式的技能中斷,都是很有趣的事情啊。

那麼接下來介紹一些相關知識:

1. 玩法程序員: 這類程序員更加接近遊戲的本質: 好玩.。

用途: 需要對遊戲玩法本身有深刻了解. 平時工作與策劃(遊戲設計師)緊密相關。

你需要看懂最基本的遊戲需求。

遊戲設計是一個不斷打磨優化的過程, 所以玩法需求會經常變動, 導致程序也要不斷地調試重構甚至重寫. 另外, 不同遊戲玩法在程序實現上的差異巨大, 所以針對不同需求進行建模的程序設計能力是需要長時間的積累和學習的, 所以建議儘量主修一種玩法.

2. 引擎程序員: 這類程序員更加喜歡技術, 而遊戲引擎涉及的計算機技術非常廣泛, 幾乎能覆蓋所有你能接觸到計算機學科. 所以說, 這方面對於理論基礎要求非常高, 需要不斷地去學習. 圖形, AI, 動畫, 物理, 特效, 交互, 網絡等, 每一部分能精通已是不易, 所以一個人寫一個引擎是不現實的。卡馬克都說了, 造火箭比寫引擎容易多了,但是這些技術能夠掌握一兩種, 就可以成為遊戲程序員的核心競爭力, 所以看個人興趣選擇性的深入學習是一個比較好的方式.

3. 後臺程序員: 國內的遊戲都是以網絡多人遊戲為主, 所以遊戲服務器技術說是世界領先也不為過. 由於很多網絡遊戲的開發分工比較專業化, 通常會分化為前臺程序員和後臺程序員. 後臺服務員通常都是命令行式的工作界面, 以linux, 數據庫, 網絡, 分佈式, AI, 安全等做為技術基礎, 技術的更新沒有前端變化快, 可以不斷地積累經驗, 但是與遊戲製作的關聯相對少一些.

4. 工具程序員: 其實就是把遊戲開發過程中的各種浪費時間的, 重複性的勞動工具化, 提高製作和開發的效率. 很多工具是遊戲引擎的一部分, 但是引擎提供的功能一般是通用的, 針對特定遊戲玩法會有特性的工具. 這類程序員需要對遊戲的製作流水管線比較瞭解, 善於發現製作瓶頸, 並使用程序製作工具來優化製作流程.

5. 技術美術: 其實一般會把TA(Technical Artist)劃入美術分類中, 但我也見過一些喜歡圖形和美術的程序員轉職成技術美術. 這個角色在3D遊戲項目中非常重要, 因為很多玩法程序員對美術製作和3D引擎並不是很熟悉, TA相當於兩者之間的橋樑, 能夠在理性與感性之間做出平衡. 所以技術美術不但需要了解圖形渲染和引擎技術, 更需要掌握製作流水線, 動畫特效, 概念設計等, 基本上算是綜合能力的一種體現 .

6. 主程序: 一般會把主程序視為所有遊戲程序員的Leader, 都是經驗豐富的程序員擔任. 通常會設計程序的架構, 併兼一定量的項目管理。

希望可以幫助到你吧!


手可摘星辰962464


遊戲開發觸及很多畛域的,籌劃,美術,順序,音樂等。如今先不探討你要往哪一個畛域開展,咱們先說說在高中期間能夠做些什麼預備。你在讀高中,要以考上好大學為指標。不倡議你在高中期間花少量工夫去鑽研編程。你在這個期間能夠去預備的,一是英語,二是數學,三是語文。英語有多重要?我較量爭論機的教師曾這樣說,但凡中國人寫的較量爭論機書籍一概不要買。當然這有點誇大了,但也闡清楚明瞭國際的較量爭論機讀物的確水準不高,遊戲方面的書籍愈加是如此。學會英語,你能夠接觸到一些國外遊戲的遊戲開發技術以及設計理念,國際的遊戲是什麼樣子就不說了,甚至能夠說中國壓根就沒有遊戲行業。數學有多重要?首先學數學能夠晉升邏輯思想才能,這對編程很重要。假如你想本人做出各種炫酷的畫面,就要去了解圖形學,瞭解Shader,這些都離不開數學。數學基礎底細好學這些是很好了解的,懊悔現在我沒有好好學數學。《太吾繪卷》曉得嗎?國人制造的獨立遊戲,最近在Steam大火。這遊戲有極端優良的文明底蘊,多去讀一些文學名作,進步本人的敘事程度以及表白才能。其實,高中你學的那些課程對遊戲開發大可能是有協助的。除了下面舉例的三大科,理科中的天文,歷史,政治(哲學)這些一定是有協助的(籌劃,劇本方面的)。物理關於瞭解遊戲物理引擎有協助。遊戲開發,就是雜學。所以,好好上課讀書吧,一箭雙鵰。


分享到:


相關文章: