构建游戏地图的最佳方式

NoC*_*ier 10 language-agnostic

我正在经典的Ultima系列中编写一个小型俯视RPG.我需要一种快速而肮脏(比肮脏更快)的方式来设计大型地图 - 比如1000个瓷砖x 1000个瓷砖,我需要一些帮助来思考如何去做这个.

我想说有50-60种不同类型的瓷砖 - 树林,河流,平原等.

到目前为止,我能想到的最好的是

  • 定义一个数组(或一些类似的结构)来保存两个关键信息 - 位置/坐标标识符,以及1-60的整数,定义它是什么类型的图块.

  • 在光栅编辑应用程序中,绘制1000px x 1000px图像.使用50种不同颜色的调色板,我绘制我的地图 - 1个像素对应1个瓷砖.对于给定的水瓦片,我将绘制一组蓝色的像素.另存为.gif或.png.

  • 写一些处理器,然后分析前面提到的gif/jpg并逐像素地分析它.根据像素的RGB值,它确定图块类型.然后,处理器代码生成一些填充地图数组的例程.

到目前为止,我认为必须有一个更简单的方法.

nin*_*ded 11

它需要基于磁贴吗?看看丹尼尔库克的网站,迷失花园,他不仅给你一些美味的免费艺术品,而且还讨论了在游戏中任意放置图像的出现,而不是瓷砖:

"曾几何时,你需要使用小方块瓷砖.现在,没有必要制作基于瓷砖的2D引擎.任意图像都具有完整的alpha和大量的填充率,你可以组合一个像一本贴纸书.将你的图形放在任意位置,像疯子一样层层叠叠.像Aquaria这样的游戏看起来很棒,瓷砖无处可见."

还有一个链接,用于制作基于IndieLib的游戏内编辑器的分步说明.


jw.*_*jw. 3

尝试sourceforge:http://sourceforge.net/search/?type_of_search= soft&words=tile+editor

其中一些编辑器会将其保存为某种标准格式,然后您可以根据需要将其拖入游戏中。

TileStudio甚至会输出可以直接编译到您的引擎中的头文件/源文件(不确定您的需求是什么)