-1

我目前正在开发一个基于 2D 瓷砖的 Java 平台游戏。不是为了赚钱,只是为了好玩。最近,我发现了一款​​名为 Caveblazers 的游戏。它也是一个 2D 平台游戏,我认为它也是基于瓷砖的。它的世界是程序生成的,每次玩游戏时看起来都不同。我尝试使用 perlin 噪声和单纯形噪声进行试验,但没有按计划进行。我什至不能确定,这个水平是可能的,没有墙壁阻碍目标。我的游戏将是基于局域网的游戏,也在洞穴中。所以我的问题是如何生成这些看起来很棒的洞穴以及如何找到放置脚手架和箱子的位置。非常感谢您的帮助,因为它必须在下周才能玩,我很想得到一个快速的答案!

这就是我希望的样子:

4

1 回答 1

0

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

值的范围通常为 0 到 1,或 -1 到 1。

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

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

映射取决于您,但一般来说,高度图中的山丘是 2d 平台游戏中的墙壁,更深的点是空的/透明的或填充有背景图块。

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

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

于 2019-01-23T10:37:36.180 回答