遊戲引擎是什麼?它與遊戲軟體本身是什麼關係,它與程式語言是什麼關係?風櫃來的你2019-03-17 13:56:47

在遊戲程式的領域中,經常會聽到GameEngine(遊戲引擎)這個東西。是否是聽起來是個很炫很酷的名詞?實際上游戲引擎一詞它經常被過度泛稱與誤用。經常聽到的遊戲引擎架構,是由低階(Low-Level)至高階(High-Level)可細分為以下三個層級(Layer):

1。繪圖API(例如:DirectX與OpenGL)

2。繪圖引擎(例如:OGRE、Renderware與Gamebryo)與其他引擎

3。遊戲引擎(例如:Unreal與Torque)

開發一個遊戲,特別是三維遊戲,要包括很多共同的內容:如圖形的渲染,物理的計算,關卡和地圖編輯,UI,遊戲智慧,網路通訊等等。

在這裡遊戲引擎就是把這些功能封裝起來,提供給遊戲開發者一個高層的介面,使開發人員能用更高層的眼光來進行設計和開發;並且,如果是寫好一個好的引擎,就能開發類似的新遊戲,減少重複的一些不必要的勞動。

例如:在圖形渲染部分,也是一個遊戲引擎最重要的部分,如果是直接使用DirectX或者OpenGL開發遊戲,這個時候你需要考慮的就是一個個三角的網格(又或者多邊形網格)頂點格式,紋理貼圖的儲存,光照方程等等底層的內容;

而使用遊戲引擎的話,把一個場景中物體抽象出來,你只需要告訴,用那個模型檔案,物體的在場景的什麼位置等比較高層的資訊,繪製的工作就由引擎完成。

遊戲引擎另一個重要的部分就是提供一些工具和指令碼的支援。所以不少遊戲開發者是在寫指令碼而不是C#,C++這些語言,這樣的效率會高很多。

那麼開發遊戲需要用到什麼技術呢?

C/C++:這絕對是做遊戲的屠龍寶刀。

OpenGL/DirectX:圖形的API這也是必須要學會一個。

圖形學:這個覺對視做遊戲的葵花寶典。

線性代數:也是圖形學的一個基礎。

遊戲引擎是什麼?它與遊戲軟體本身是什麼關係,它與程式語言是什麼關係?

如果是3d遊戲的話是比較困難的,2d相對於3d來說還是比較簡單的