遊戲開發入門(一)遊戲開發概述

dayaomoshen發表於2018-10-11

1.遊戲機發展

20世紀70年代開始 首款主機magnavox odysse
80年代 紅白機
80-90年代 各類非FC主機(PS,NDS等) PC單機遊戲
90年代-2000年 區域網對戰遊戲
2000年後 大型多人遊戲 頁遊 手遊
現在 VR,AR ..
2.遊戲是如何開發出來的,開發流程是什麼? 
原始的遊戲比較粗糙,內容也很少,一般就一個人開發,美術與策劃都由自己完成(建議看看《doom啟示錄》)。 
隨著遊戲逐漸變得複雜,需要多人去合作完成,分工也變得明顯。簡單的流程如下:

a.首先討論確定遊戲的基本內容,型別等,對遊戲專案立案
b.程式設計師構建最基本的遊戲框架,單機還是網遊,什麼平臺(在當前,某些非常簡單的遊戲demo也可以跳過程式設計,直接使用遊戲引擎)
c.策劃對遊戲細節進行設計與構建(包括劇情,玩法,關卡,數值,系統等)
d.美術需要根據當前策劃設想的遊戲世界,提供合適的藝術效果(包括原畫,模型,特效,UI,動畫,場景等)
e.程式,美術,策劃三方不斷的相互溝通完善遊戲內容並不斷的測試調優(這是最為耗時的一個流程) 注意:這裡策劃不僅僅是思考遊戲的玩法,還需要將程式設計師留出來的介面做各種配置,因為專案的需求變化過於頻繁
f.遊戲內容基本完成後,需要質檢等人員開始測試,程式設計師修復Bug
g.遊戲經過一定測試後,釋出。同時交由運維人員做基本的維護,釋出前期一定有bug,還需要各個職能人員互相配合
2.開發遊戲需要哪些技術?

a.作為一個程式設計師需要的基本素質:包括掌握基本語言程式設計,深入瞭解語言特性,瞭解計算機相關基礎,設計模式等 其實就這一塊很多人就很難達標,不過我們可以在做遊戲的同時提升自己的功底
b.構建一個遊戲需要了解不同平臺的相關技術,但一般不需要太深入
c.需要有一定的引擎知識,儘可能熟悉引擎各個功能的使用
d.常見的指令碼技術(lua等)
e.隨著3D遊戲的發展,需要對圖形影象知識有一定深度的理解(涉及到數學,非常複雜與龐大的模組)
f.網路遊戲需要掌握基本網路基礎知識(TCP/IP,Socket,Http),瞭解同步機制
g.動畫技術
h.瞭解會使用物理引擎
i.基本的場景管理技術
j. AI相關技術,遊戲中大部分的AI還是比較簡單的,不需要機器學習
3.程式設計師一般負責的內容是什麼?

a.實現策劃需求(大部分是邏輯需求)
b.提供內部工具,加快開發。比如當前引擎不支援某種NPC物件的高亮顯示,無法拖拽資源到遊戲裡面等功能,需要程式設計師提供 提高開發效率
c.修復Bug
e.優化體驗,也就是常說的效能優化,提高幀率,減小記憶體開銷等等
目前規模較大的公司,程式設計師也分為多種(一般分為邏輯程式設計師和引擎程式設計師),所完成的內容也有差別。 
邏輯程式一般屬於頻繁與策劃溝通,直接對專案需求進行開發的程式 
引擎程式一般是研究引擎功能,優化引擎(提示表現,提高效能等),不過這也並不是絕對的。

4.如何入行遊戲(建議)

a.夯實基礎(語言,資料結構,演算法,網路,作業系統,圖形學等)
b.對遊戲開發有一個基本的認識,建議可以先根據我的文章講解看一遍這個系列的視訊(遇到不懂的名詞就去查,就去研究), 然後通讀一遍遊戲引擎架構
c.實踐!選擇一個遊戲引擎然後動手開發遊戲demo,參考其他遊戲demo,儘可能的應用學過的遊戲知識。多思考,多理解
d.想辦法進入業界,從專案中吸取知識。如果有機會的話(應屆生機會比較多),只要程式基礎夠也是可以加入該行業的
5.新手與真正開發者的差距有哪些? 
最多的就是經驗了,前面提到的技術都是概括性的,每個方面深入進去都是無限的坑。新手一般只會用而不懂為什麼這麼用, 真正有經驗的開發者不僅會用,甚至可以模仿出來一套幾乎相同的框架並完善,遇到問題也有更多的解決思路與方案。
-------------------
歡迎指正錯誤,相互學習,歡迎加入IT技術學習交流群:554587323
原文:https://blog.csdn.net/u012999985/article/details/78797928?utm_source=copy 

相關文章