2011-08-26 178 views
11

我正在创建一个游戏,需要创建一个城堡或类似建筑的随机2D地图。它应该看起来像蓝图,即从上面拍摄,只使用线条。如何为城堡或建筑物生成随机2D地图?

我正在寻找一些这样做的算法。我对代码不是很感兴趣,但算法本身。从哪里开始以及如何填充所需区域?

回答

10

在过去的30到40年中,有很多不同的算法被开发出来,它们都产生了完全不同的结果。

退房这个wiki:

http://pcg.wikidot.com

特别是这些网页:

这个网站似乎有几乎所有你想做的程序内容生成的算法链接。

+0

感谢“地下城一代”链接提供了一些好的想法,从哪里开始。 –

+2

如果您想要类似蓝图的行为,那么[本文中的算法]的简化[http://www.vision.ee.ethz.ch/~pmueller/wiki/CityEngine/PaperBuildings]可能是一个好地方开始。这可以为您提供房屋内的基本房间布局,然后您可以应用拆分等操作,并随机化连接布置。这可能会给你比我之前读过的地牢生成算法更好的结果,因为它可以更好地表示地面建筑物中的形状,而不是挖出形状。 –

+0

@ MerlynMorgan-Graham链接似乎是死的wayback链接在这里http://web.archive.org/web/20110830033753/http://www.vision.ee.ethz.ch/~pmueller/wiki/CityEngine/PaperBuildings –

0

迷宫最能描述一个内部结构的随机2D地图。你需要的是一个maze generation algorithm。在实施基础知识之后,您可以添加自己的随机“房间”布置等。

+0

迷宫与城堡不同。城堡需要有多个房间,允许自由移动。顺便说一句,我已经在这个游戏中有一个不同的迷宫级别,维基百科页面是我的出发点;) –

+0

有很多方法可以做到这一点。一个迷宫对于地牢一代来说工作得非常好,但是城堡内部却不一样......如果他们让我的房子看起来像一个迷宫,房间里有人打了个巴掌,我会开火建筑师。 – lunixbochs

+0

这不是一个坏的方法,但你可能想要以相反的方式做到这一点。先制作房间,然后在它们之间插入半任意的隧道。 –