2D Platformer 程序世界生成器

2D Platformer procedural world generator

我目前正在开发一个基于 2D tile 的 java 平台游戏。不为赚钱,只为好玩。最近我发现了这款名为 Caveblazers 的游戏。它也是一个 2D 平台游戏,我认为它也是基于图块的。它的世界是程序生成的,每次玩游戏时看起来都不一样。我尝试用 perlin 噪声和单纯形噪声进行试验,但没有按计划进行。我什至无法确定关卡是否可行,并且没有障碍物阻挡目标。我的游戏将是基于局域网的游戏,也在洞穴中。所以我的问题是如何生成这些看起来很棒的洞穴以及如何找到放置脚手架和箱子的位置。非常感谢您的帮助,因为它必须可以玩到下周,我很乐意得到快速答复!

That is how i would like it to be:

将柏林噪声视为平滑或多或少乏味的地形高度图。

值通常介于 0 到 1 或 -1 到 1 之间。

首先在单独的应用程序中测试您的 perlin 噪声代码/UI,仅使用颜色或 3 个图块,一旦您掌握了这个尝试映射到更好的图块。

https://www.redblobgames.com/maps/terrain-from-noise/

映射由您决定,但一般来说,高度图中的山丘是您的 2d 平台游戏中的墙,更深的点被留下 empty/transparent 或填充有背景图块。

除此之外,您还可能需要使用一些机器人来确保通过,这些机器人会检查洞穴是否 可通过 ,该机器人可能会使用额外的代码来雕刻一些额外的平滑通道。你不能用纯柏林噪音来实现这一点,所以第二步更像是一门艺术而不是科学。通常,代码通过对值进行平均以避免粗鲁的边缘来将隧道切入 perlin 噪声。

可能会使用随机游走之类的东西 + 一些方向,请参阅: https://gist.github.com/jeffThompson/5608847