[心得] 沙漠商旅C的遊戲設計(2)
作者:NDark
時間﹔201001
沙漠商旅C的遊戲設計(2) 編輯器-Resource Editor
http://wp.me/pBAPd-aT
編輯器截圖
http://ndark.files.wordpress.com/2010/01/resourceeditorss01.jpg

資源管理器是一個口古月時期的引擎中就有的元件,
但是當時的設計還沒有很成熟,將資源的處理都包入了管理器中。
造成管理器深陷於其他物件中。
因此沙漠商旅C的開發中就依照資源池的設計概念重新打造這個元件,
同時開發了資源編輯器。
動機
資源管理的目的我想很多人應該都已經知道了,
就是希望減少檔案的讀取,以及增加資源的重複利用。
系統與特色
由資源池物件管理內部的資源物件(圖片等資源)。
基本資源物件的屬性主要有資源名稱(Rich Name),檔案路徑,說明。
依照不同的資源物件有個別屬性來紀錄資源的內容。
目前主要是管理貼圖資源與透明貼圖資源兩種。
其他預留了檔案,影像,音效,視訊,模型,人物等物件的擴充區域。
影像與貼圖最大不同是貼圖在傳送產生貼圖之後就會釋放影像。只留下貼圖識別。
可以使用自訂的資源池物件,也可以使用靜態預設的全域資源池。
資源的讀入/處理/釋放由系統程式來執行,避免過複雜的底層結構介入資源池。
內容
資源編輯器沒什麼好講的主要就是維護一個清單,
清單中就是每一項目的資源屬性及指定檔案的路徑。
原本的設計中有對於資源在程式碼中的超連結,
希望清單設計的時候可以與程式開發有資訊的溝通。
但是因為這個設計並不好處理,所以目前的版本就從編輯器中移除了。
使用資源池時讀入資源清單檔案
RPool.ReadResourceList( ... )
取用資源時就依照該資源的類別取用
RPool.FindTexByRText( 資源名稱 , pRsrcText )
取用貼圖辨識標籤 pRsrcTex->m_uiTexID
有關貼圖資源的處理在沙漠商旅C的架構。
如Stage分段之中描述,進入主選單或關卡之前會進行資源的讀取。
第一步先讀入資源清單檔案。
第二步讀入清單中各個資源。譬如說貼圖就傳去顯示卡產生貼圖辨識標籤。
第三步將選單中有使用到資源的菜單物件從資源池中找到相對應的資源物件,
進行一個對應的動作。譬如說菜單圖片就去取得貼圖資源的辨識標籤。
多個菜單圖片就可以共享一個資源。
因此在沙漠商旅C的目前版本,維護了三個資源清單,分別是
主選單資源,關卡資源,以及戰場資源。
每次資源重新讀入後都會把目前選單資料進行上述的對應動作。
--
"May the Balance be with U"(願平衡與你同在)
視窗介面遊戲設計教學( http://0rz.tw/V28It ),討論,分享。歡迎來信。
視窗程式設計(Windows CLR Form)遊戲架構設計(Game Application Framework)
遊戲工具設計(Game App. Tool Design )
電腦圖學架構及研究(Computer Graphics)論文代讀(含投影片製作)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.96.77.176
※ 編輯: NDark 來自: 140.96.77.176 (03/04 18:43)
推
03/07 00:42, , 1F
03/07 00:42, 1F
GameDesign 近期熱門文章
PTT遊戲區 即時熱門文章
112
163