1. 程式人生 > 其它 >從零開始遊戲開發——前言

從零開始遊戲開發——前言

  提到遊戲開發,從事或瞭解過遊戲開發的人立刻想到的可能是Unity、虛幻、CryEngine等商業引擎,如今,虛擬引擎已經迎來第五代,Unity2022版本也已經發布,越來越強大的功能被這些商業引擎所支援,使我們能夠快速方便的搭建遊戲框架,但引擎內部也封裝了很多底層細節,對於熱愛遊戲開發的人而言,能夠對遊戲實現的每一個細節進行窺探是極具樂趣的。《從零開始遊戲開發》系列將從遊戲引擎的搭建到遊戲架構的設計,一步一步的開發一款不依賴於流行商業引擎的PC端執行的遊戲。

  本系列核心程式碼採用C/C++語言進行開發,遊戲邏輯部分使用Lua指令碼語言。本系列主要包括兩個部分:第一部分為遊戲引擎的搭建;第二部分介紹如何開發一款角色扮演聯網遊戲。在第一部分主要包括:

  第一章:初識,主要概述遊戲開發中用的一些基本概念,實現遊戲開發中的第一個Hello World——繪製第一個三角形。

  第二章:數學庫的搭建,介紹向量、矩陣、四元數等基本資料知識並搭建數學基礎庫。

  第三章:渲染器的實現,首先詳細介紹軟體渲染器的實現,瞭解在不依賴圖形API的情懷下的所有渲染細節,然後利用圖形顯示卡的硬體加速,實現基於Vulkan的渲染器。

  第四章:模型與動畫,介紹常用模型的載入和動畫的實現原理。第五章介紹了引擎中的資源管理。

  第五章:資源管理

  第六章:遊戲物理

  第七章:場景管理,對場景管理的相關內容進行介紹,如何最大效率將遊戲場景中需要渲染的內容傳送到渲染器。

  第八章:光照與陰影,首先介紹區域性光照和陰影的實現及基於物理的渲染相關內容,然後介紹全域性光照的常用技術,實現一款離線烘焙器,最後在引擎中實現實時全域性光照

  第九章:後處理,實現如全屏泛光、運動模糊等後處理相關內容。

  第十章:引擎編輯器,利用編輯器可以更快速進行遊戲開發和除錯。

  第二部分結合遊戲客戶端和伺服器兩個主題,介紹如何實現一款多人線上聯網遊戲。這部分主要包括:

  第一章:遊戲架構設計,從客戶端和伺服器兩個方面對遊戲基本架構進行設計。

  第二章:UI系統 ,設計實現了一款UI系統。

  第三章:啟動和登入,介紹遊戲啟動過程後資源更新與登入流程。

  第四章:網路同步,介紹常用的網路同步知識和本遊戲中實現細節。

  第五章:技能系統

  第六章:任務系統

  第七章:媒體資源,介紹了視訊和音效的使用

  第八章:總結