概念
地圖編輯器是一種所見即所得的遊戲地圖製作工具,它輔助設計和輸出地圖數據,包括創建、編輯、存儲和管理遊戲地圖數據。地圖編輯器讀取和使用遊戲資源,並按照遊戲程式規約輸出相應格式的地圖數據,遊戲程式(客戶端和伺服器)通過地圖數據構建遊戲場景,將其呈現給用戶。地圖編輯器的主要功能包括地圖製作和地圖資源管理兩部分。地圖製作主要包括地地表生成、地圖物體擺放、地圖屬性設定和地圖數據輸出;地圖資源管理包括地圖物體編輯、地圖物體屬性設定和資源數據輸出。這裡的地圖物體是指用於表示地表、樹木、房屋、精靈等擺放在遊戲地圖上的圖片和動畫資源。在地圖編輯器中,開發人員可以方便地擺放地圖物體、構建和修改地圖場景、自動判斷遮擋關係以及設定地圖事件等。地圖編輯器通過其直觀和簡易的操作來簡化地圖的製作過程,地圖編輯器的資源管理功能使得地圖資源可以在多個地圖中復用,極大地減少地圖製作和修改的工作量。因此,很多遊戲開發商在項目初期開發出項目的地圖編輯器,用於提高遊戲的開發效率,減少地圖搭建階段所花費的時間,以縮短項目周期。地圖編輯器用於編輯遊戲中虛擬場景的工具軟體。包括圖形設計(場景的外觀效果),地形設計(對遊戲角色的行動力影響、視覺影響等),扳機(或稱為觸發,事件等)設計(玩家的特定操作對遊戲進程的影響)等基本組成部分。
很多地圖編輯器是製作群的內部開發工具,不對外公開;一些地圖編輯器隨遊戲的主程式一同發售,如《星際爭霸》、《魔獸爭霸3》、《英雄無敵》等,給遊戲帶來很多可擴充性因素,大幅提高了遊戲的可玩性,持續性和知名度。也有的遊戲的地圖編輯器單獨發售,如國產知名遊戲《血戰上海灘》的地圖編輯器《幻影特工》,但是反響並不熱烈。
套用
地圖編輯器一般建立在遊戲引擎上面的,編輯器的對象模型和資源格式受到遊戲引擎限制,由於不同的遊戲引擎約定不同的數據格式,所以構建在特定遊戲引擎的地圖編輯器通常無法跨越多個引擎運行。如《魔獸爭霸》的編輯器所製作的遊戲地圖僅適用於《魔獸爭霸》遊戲,UnrealEd製作的地圖僅適用於建立在unreal3引擎上的遊戲。因此,遊戲開發公司要么使用遊戲引擎提供的編輯器,要么就必須自己開發編輯器。由於地圖編輯器能夠有效地減少遊戲地圖的製作成本,一般遊戲開發公司在遊戲開發初期就開發出自己的遊戲地圖編輯器,如《Quake3》、《I'm Going In》、《使命召喚》、《魔獸爭霸》、《星際爭霸》等遊戲,一些遊戲引擎也推出相應的地圖編輯器,著名的unreal3引擎即提供了功能強大的所見即所得的編輯器UnrealEd。
地圖編輯器從本質上來看,其只是運用計算機圖形技術對遊戲虛擬環境的模擬實現,它也可以運用在其它圖形套用領域上用於模擬仿真現實環境。國內外一些學者也對此做了一些較為深入的研究,可以利用場景編輯器製作虛擬交通場景, 用於汽車駕駛地形環境模擬仿真, 將編輯器套用於城市規劃或用於軍事仿真演練等。
通用地圖編輯器概述
Tile Studio(TS)
Tile Studio 是一款基於Delphi平台、採用Pascal語言開發的開源通用區塊地圖編輯器。Tile Studio的程式體積很小,但其功能強大,除了用於創建和編輯2D遊戲地圖,最大的特點是可以編輯區塊。除此之外,Tile Studio還支持自定義地圖輸出格式和地圖層次劃分等功能。但Tile Studio僅支持2D地圖,並不支持2.5D地圖。另外,Tile Studio沒有提供資源管理的功能,每次創建一個地圖都必須重新導入和編輯全部區塊資源,在使用上不方便。Tiled
Tiled是基於Java/Qt的開源區塊地圖編輯器,Tiled支持2D和2.5D地圖及多種區塊類型,它將地圖保存成一個xml檔案,藉助xml的特性使地圖可通用於各種遊戲平台。Tiled還支持通過外掛程式來讀寫地圖數據,用戶可以方便地自定義地圖的輸出格式。Tiled給每個區塊命名,並通過區塊集(tileset)提供了簡單的區塊管理工具。Tiled同樣支持地圖分層,並且可以為每個層次添加各種屬性。除此之外,Tiled還支持自定義對象圖層,用戶可以在該層上添加各種數據,這對地圖的事件觸發設定提供了較好的支持。另外,Tiled將所有圖片都以最小單位區塊的大小進行切割,以犧牲地圖美觀來避免深度排序和圖片偏移等複雜的計算。Mappy
Mappy也是基於區塊的通用地圖編輯器,而且支持2D和3D地圖。在2D方面,Mappy的功能和Tiled類似,但沒有區塊管理的功能。Mappy將地圖保存為FMP檔案,所以使用Mappy首先要解決的問題是如何讀取FMP檔案。另外,Mappy雖然提供了多種開發語言版本,但相關文檔缺乏,難以根據實際情況進行擴展。易操作性上,Mappy缺少快捷工具列,使用起來很不方便,且運行速度慢,在編輯較大的地圖時經常卡住。Mepper
Mepper也是基於區塊的Java開源地圖編輯器, 目前僅支持2D和2.5D. Mepper的功能和Tiled類似, 但它沒有lua的支持. Mepper還支持整圖地圖和分塊地圖. 有功能比較完善的資源管理系統, 能夠方便地將地圖資源復用於多個遊戲地圖. 此外, Mepper支持複合區塊, 即可以在一個區塊上添加另一個區塊. Mepper還自帶一個邊緣生成的算法, 用於支持地表邊緣自動生成.上述四種編輯器中,Mepper和Tiled的功能和性能都優於其它兩款,且容易操作。Tiled Studio的功能相對比較簡單,適合於移動設備上的遊戲開發。另外,這四款編輯器都支持區塊地圖,Tiled支持八邊形和菱形區塊地圖等多種區塊類型,Mappy除了支持多種區塊類型,還支持3D地圖。在地圖輸出方面,Tile Studio, Tiled和Mepper都提供了擴展接口,支持自定義地圖輸出格式。但上述前三種編輯器都不支持整圖地圖,而且區塊都必須是簡單結構的區塊,對於超過單位區塊大小的圖片都必須進行切割,當然也就不支持多種類型的區塊混排和深度排序。在資源管理方面,除了 Mepper則提供了功能相對比較完善的資源管理功能外, 只有tiled提供了簡單的區塊管理,其餘兩款都沒有這個功能。最後, 上面列出的編輯器中,只有Mepper提供了區塊邊緣自動生成的功能。