原文出处:http://school.ogdev.net/ArticleShow.asp?id=6052&categoryid=4
朋友们,大家好!
今天,我们将讲解游戏开发中一个重要的工具――“游戏地图编辑器”。
几乎任何一款商业游戏都有自己的游戏地图编辑器,不管你是2D游戏,还是3D游戏。当然,2D游戏的地图编辑器和3D游戏的编辑器有很大的不同。我们今天在这里讲解的也是2d游戏编辑器。
在了解2d游戏地图编辑器之前,我们先来了解一下,2d游戏地图是如何构成的。先看一幅照片:
图注1
看着这么漂亮的一幅图片,你有什么想法呢?
先不要想的太多,其实这幅图片是由一个数组构成的,确确地说是由一幅二维数组构成的。当然可能这个二维数组很大,有的可能有成千上万个数据。
如果光靠在编程中来定义,或是就直接在二维数组上设置。那就非常的不直观,修改起来也比较麻烦,所以游戏开发人员就想到一个好办法。就是写一个工具来设置这些二维数组,这样就直观多了,修改起来也很方便了。
游戏地图编辑器是一个内部工具,一般写一个游戏就要写一个地图编辑器。比较简单,你也可以自己写,可能到后面,我就会写一个游戏地图编辑器。不过现在,我们还是用别人的吧。
下面,我将介绍几款优秀的地图编辑器,不过它们的存储格式都不一样,你要使用它们编辑的地图就必须明白它们的地图格式。当然这是后话,
Let’s Go!
Mappy
首推的地图编辑器是Mappy,网址为http://www.tilemap.co.uk/mappy.php 。应该说这是最出名的一款地图编辑器了,功能强大,可以编辑2d和3d地图(当然3d地图必须遵守贴瓷砖的原则)。现在Mappy已经出现了商业版本,你如果需要一个强悍的工具,或许Mappy正是你所需的。
Mappy保存的地图格式是以FMP为扩展名的,你可能现在有点担心,我应该如何在游戏中使用这个格式的地图呢?不要担心,关于如何在各种游戏平台上导入和显示的程序,已经有人给你写出来了。你现在需要做的就是将这些代码加入到你的程序。
Mappy的截图如下:
图注2
Tiled
我向大家推荐的第二款地图编辑器是Tiled。这也是一款非常出名的编辑器,但它只能编辑2d地图,万全用java语言写成,小巧玲珑,功能强大。并且免费使用,它的官方网址为:http://mapeditor.org/index.html
其它,我们就不多说,我们下面来谈谈Tiled保存的地图格式,它保存的地图格式是一个Xml文件。
Xml是一个强大的标志语言,它最大的特点就是可以定义自己的数据类型。而我们的地图文件也是由它定义的。关于Tiled地图的使用,软件的作者并没有讲的太多,只是说很多游戏引擎都已经写好了导入地图的代码。如果你想详细了解Tiled保存的地图格式,你可以写信给他。他自己说的,你可以在网站中找到它的email。
软件界面如下:
图注3
TILE STUDIO
TILE STUDIO,以下简称TS。是我们要介绍的第三款软件,官方网址:http://tilestudio.sourceforge.net/ 。我认为也是最好的一款软件,为什么说它最好,请听下会分解(开玩笑)。
这个软件和前两个软件的不同之处就是增加了一个瓷砖的编辑功能,也正是因为这个功能,它非常的适合初学者使用,当然也适合程序员使用。
因为上面那两个软件只编辑地图,这意味着你将在其它软件(包括PS,CD等等)中编辑好瓷砖以后,然后再导入地图编辑器中编辑地图,对于正真的美工来说,这也许不算什么,但假如你是程序员呢?那就不那么好办了。所以我强烈推荐这个软件,特别是程序员。
另外这个软件还有一个优点,可以定义自己的地图输出格式。这是一个多么好的功能啊,这意味着我再也不用为那些地图是如何定义而烦心了。我将地图数据定义成一个自己明白的格式,在游戏中使用地图就一目了然了。呵呵……
关于如何定义地图请参考它的教程,在网站上。
以下是TS的界面:
图注4
其它还有几个软件,但功能就要稍微逊色了那么一点,我将他们列在下面:
Games Factory Pack 3.1
http://www.arrakis.es/~esanchez/
Open tUME
http://members.aol.com/opentume/