《地图编辑器》是一种所见即所得的游戏地图制作工具,它辅助设计和输出地图数据,包括创建、编辑、存储和管理游戏地图数据。
功能
地图编辑器的主要功能包括地图制作和地图资源管理两部分。地图制作主要包括地地表生成、地图物体摆放、地图属性设置和地图
数据输出;地图资源管理包括地图物体编辑、地图物体属性设置和资源数据输出。这里的地图物体是指用于表示地表、树木、房屋、精灵等摆放在游戏地图上的图片和动画资源。在地图编辑器中,开发人员可以方便地摆放地图物体、构建和修改地图场景、自动判断遮挡关系以及设置地图事件等。地图编辑器通过其直观和简易的操作来简化地图的制作过程,地图编辑器的资源管理功能使得地图资源可以在多个地图中复用,极大地减少地图制作和修改的工作量。因此,很多游戏开发商在项目初期开发出项目的地图编辑器,用于提高游戏的开发效率,减少地图搭建阶段所花费的时间,以缩短项目周期。
地图编辑器用于编辑游戏中虚拟场景的工具软件。包括图形设计(场景的外观效果),地形设计(对游戏角色的行动力影响、视觉影响等),扳机(或称为触发,事件等)设计(玩家的特定操作对游戏进程的影响)等基本组成部分。
很多地图编辑器是制作群的内部开发工具,不对外公开;一些地图编辑器随游戏的主程序一同发售,如《
星际争霸》、《
魔兽争霸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提供了区块边缘自动生成的功能。