遊戲開發入門(一)遊戲開發概述
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
相關文章
- 獨立遊戲開發入門指南遊戲開發
- 遊戲開發新手入門之DirectX入門(轉)遊戲開發
- OUYA遊戲開發快速入門教程遊戲開發
- Android手機遊戲開發入門教程Android遊戲開發
- Transform元件C#遊戲開發快速入門ORM元件C#遊戲開發
- 遊戲控制桿OUYA遊戲開發快速入門教程遊戲開發
- H5 遊戲開發:遊戲引擎入門推薦H5遊戲開發遊戲引擎
- 遊戲開發新手入門之Windows程式設計(轉)遊戲開發Windows程式設計
- Android 遊戲開發入門——大學霸內部資料Android遊戲開發
- C#遊戲開發快速入門教程Unity5.5教程C#遊戲開發Unity
- U3D遊戲開發從入門到彎道超車(一):序章3D遊戲開發
- RPG 製作大師:古老的遊戲開發入門工具遊戲開發
- OUYA遊戲開發核心技術剖析OUYA遊戲入門示例——StarterKit遊戲開發
- C#遊戲開發快速入門 2.1 構建遊戲場景C#遊戲開發
- Unity 2D遊戲開發快速入門(內部資料)Unity遊戲開發
- 遊戲開發新手入門之點陣圖化圖形(轉)遊戲開發
- 遊戲開發新手入門之Win32程式資源(轉)遊戲開發Win32
- 【譯】闖入遊戲開發 #6:音效遊戲開發
- 【譯】闖入遊戲開發 #5:動畫遊戲開發動畫
- HDFS入門概述
- 學習Python可以做遊戲開發嗎?Python入門教程Python遊戲開發
- 遊戲開發學堂:Direct3D入門之我見(轉)遊戲開發3D
- 獨立遊戲開發的低門檻一去不返遊戲開發
- 遊戲開發遊戲開發
- 微信小遊戲開發(9)- 分包載入遊戲開發
- 【譯】闖入遊戲開發 #4:美術遊戲開發
- 遊戲開發中的“門”,有多難搞?遊戲開發
- C#遊戲開發快速入門2.2改變遊戲物件的狀態C#遊戲開發物件
- 【譯】闖入遊戲開發 #2:遊戲開發的常見陷阱(以及如何避免它們)遊戲開發
- 遊戲開發者:過半移動遊戲開發者使用Unity引擎遊戲開發Unity
- Docker入門(1):概述Docker
- Kafka入門(1):概述Kafka
- Pytest - 概述&入門
- Qt入門之概述QT
- 印度博弈遊戲開發者的一天遊戲開發
- 遊戲開發的一個BLOG遊戲開發
- Lua遊戲開發(一)---Lua語言遊戲開發
- 【譯】闖入遊戲開發 #3:程式設計遊戲開發程式設計