我正在设计一款在经典图块引擎上运行的游戏,但是其世界是随机生成的。是否有现有的游戏或算法可以做到这一点?我发现的过程生成算法从不使用图块系统...使用图块系统生成整个“世界”的最佳方法是什么?我不是在谈论方块迷宫,而是整体的“世界地图”,谢谢
我正在设计一款在经典图块引擎上运行的游戏,但是其世界是随机生成的。是否有现有的游戏或算法可以做到这一点?我发现的过程生成算法从不使用图块系统...使用图块系统生成整个“世界”的最佳方法是什么?我不是在谈论方块迷宫,而是整体的“世界地图”,谢谢
Answers:
您的问题将带您进入过程内容生成领域。
连续/模拟方法派生的基于图块的世界生成
连续的,我的意思是不是平铺的东西,是模拟的东西,例如矢量地图。您可以使用任何连续技术进行生成,然后对其进行量化。例如,生成高分辨率的Perlin噪点图像,然后降低其分辨率以适合您的tilemap大小,并采样像素以提供自己的高度图。(高度图可以成为您世界的一个很好的起点。)这是因为您提到看到的资源并未向您展示如何将其应用于图块。
使用“闪烁”雕刻方法的基于图块的世代
使用基于图块(单元)的方法,您可以进行某种盲目生成,在此过程中,您可以一点一点地生成世界,而无需关注其他事物。直接相邻的瓷砖,但这看起来像是昆虫的作品。这是典型的CA(细胞自动机)资料,并且显示的智能较小。
从上到下使用更广泛的世界视图来生成基于图块的世界
这将采用一种更加智能的方法来逐块构建世界,因为它将首先逐个区域进行构建。这样,您就可以控制例如。就像塔恩·亚当斯在《矮人要塞》中所做的一样。当然,这需要您考虑一下如何分割世界。有很多方法,您将必须进行自己的研究。
程序内容的生成是一个相当广泛的主题,因此您需要做大量的阅读,才能全面了解您真正想要的是什么以及如何实现它-魔鬼总是在细节中。出于这个原因,一些很好的资源是rec.games.roguelike.development邮件列表(有关基于程序的程序世界的大量信息),AmitP的游戏编程页面(请参见 “其他主题”),最后但并非最不重要的是,该程序内容生成的Wiki。
Spelunky的程序空间-Darius Kazemi对程序内容生成的精彩介绍
Spelunky是Derek Yu的2D游戏,具有一些出色的过程级别。
还有一个过程性内容Wiki http://pcg.wikidot.com/