OpenGL Game 設計 : 2.5D 的世界

【時間】2011-06-18 •【分類】遊戲 •【作者】魔旅士

一般的遊戲分為幾種主要的架構: 1D, 2D, 3D. 當然還有依據遊戲娛樂方式的分類法. 這裡是我試作的 2.5D 地圖與人物移動. 詳細說明如下:



[ 魔旅士自己設計的 2.5D 世界 : 地圖, 物件與人物移動. ]

OpenGL Game 設計 : 2.5D 的世界 主要的功能:

(1) 資源&物件的增減 : 建屋 / 拆屋 / 種樹 / 砍樹 / 採礦 (石礦與鐵礦) 等等.
(2) 樹木生長 : 模仿樹成長的效果.
(3) 獵物移動 : 模仿動物移動, 具有簡單移動智慧.
(4) 輔助定位, (紅色框框) 方便玩家使用.
(5) 滑鼠控制 (mouse control)



[ 2.5D 世界的功能 : 地圖, 資源&物件的增減, 人物移動 & 動物移動. ]
[ 更新版本V4.0 : 增加功能選項與天然資源, 滑鼠控制, 樹木成長, 獵物自然移動…等等. ]

動畫DEMO

先看看 2.5D 世界的動畫演示. 當然, 這個地圖小了點, 只有(X,Y)= (30,20). 要展開放大地圖十分簡單, 只要把地圖從資料檔讀取就可以. 注意動畫中樹木成長, 獵物自然移動…同步執行, 接近 real-time 的感受.



[ 新版 : 實際操作動畫. (重新上傳2013/舊檔被YouTube刪除?!) ]



[ 新版 : 實際操作, Tree Cut And Grow 如何砍樹,如何種樹! ]

OpenGL 2.5D 的簡單測試 : 設計重點

(1) 程式語言 : 採用 vc++, 與 OpengGL 函式庫 v3.7.
(2) 地圖與道路是重點 : 建立0與1的矩陣, 程式初始化時, 自動作地圖種類的分析計算.
(3) 物件/樹與房屋: 用 Texture + OpenGL 的 Translate/Rotate Matrix 完成.
(4) 人物用簡單 Texture 完成.
(5) 注意繪圖順序, 產生前後的2.5D 視覺效果.
(6) 採用 glulookat 設定視點方向.
(7) 讀取 mouse 位置比較用到數學: 在不同的空間作標中轉換. (用到矩陣運算)
(8) 樹木成長 : 設定時間指標, 改變貼圖參數.
(9) 動物移動 : 自動上下左右, 簡單判斷移動的智慧.
(10) 程式大小 : 只有 170k 喔! (包含程式碼~50k & 資源圖檔~120k).


2.5D DEMO
[ 舊版本: 自己設計DIY的 2.5D 世界 : 地圖, 物件, 資源與移動. ]

Latest posts by 魔旅士 (see all)
【分類】遊戲 • 【標籤】

MORRISJFWONG / 採用 Wordpress 架設