2012-04-26 55 views
0

现在,我正在制作地下城主游戏。这场比赛必须是更多的剑和魔术相关比Grimrock的传奇;像走廊Wizardry 8。我将制作一些体面的图形外观,以便考虑正确的单元系统算法。地下城细胞系alghoritm

首先我想到BSP。我得到一些信息,从这些链接

,但我不知道。 BSP的基本形式仅适用于2D流氓般的地下城。我使用C#XNA,所以我想着我自己的系统在xml中定义逐个单元格,首先是他们在空间中的位置(制作一些隧道地图系统),然后是他们的所有细节,如纹理。但是,恐怕会在墙上放置“地图文件”生成的物体,例如火炬,宝盒,秘密按钮,其他物品等。

我想知道,哪种方式应该是最好的, - 游戏需求,我不想花费几个月的时间探索BSP,然后选择另一种方式。

+0

地牢大师和格瑞姆洛克传奇都是2D roguelike游戏的核心。他们只是给你一个3D视图的世界。 BSP经常用于3D游戏引擎(在Quake系列中最着名,尽管很多游戏都使用过它们),所以它可能是您的不错选择。 – 2012-04-26 09:33:34

+0

但我个人会选择一个非常简单的基于网格的系统,而不必担心优化问题,直到它成为您的开发盒上的视频卡的问题为止。在这一点上,您将很好地了解游戏对象映射到你的世界,所以你不会一次打两场思想战。 – 2012-04-26 09:36:52

回答

0

一般来说,你为此目的之后会做的是Maze Generation Algorithms,其中BSP是做这件事的一种方式。

然而,你应该决定你将如何代表你的世界第一。

如果你想创建一组“链接区域”,那么你可以去一个DFS类型的算法,试图以复杂的方式链接各个区域。 (想象它就像你在MUD类型游戏中导航的区域)

否则,如果你想要去一个大型的固体迷宫代表你的地牢,那么你可以生成一个简单的位图与该维基百科链接中的算法之一然后用它作为你的“平面图”。然后可以向上挤压以创建墙壁并为您提供一个非常基本的“厄运”式空间,然后您可以使用手电筒/纹理/任何其他物体进行充实。

我希望这会有所帮助。

+0

嗯,我没有问题,通过编辑器或原始编辑一些数据文件预定地牢。我最大的问题是,如何在地牢中轻松地放置对象,当我将基本地图与单元格对齐时。所以更多关于如何存储地图数据的问题,如何设计结构。我会检查你的答案的参考,谢谢。 – 2012-04-26 09:50:36

+0

一个“带有单元格的地图”可以被构造成N个单独的带有门或者传送空间的小房间。一旦玩家穿过门(或传送装置),它们被立即发送到下一个单元/空间。因此,每个单元必须具有其自己的3D定义(例如,带有对象的4个墙室)。在这种情况下,“细胞”是一个概念,你不必真正在细胞外建立你的3D世界。您只需要知道哪些单元与哪些单元(以及哪个门)相连以便能够在它们之间导航。 – 2012-04-26 10:47:29

+0

是的,以及我通过某个网格描述的单元格的连接。并且cellsdatafile中的每个单元格都将具有要放置的特定ID。所以现在最重要的是电池设计。好,谢谢 – 2012-04-26 10:56:46