2D Platformer程序世界生成器

时间:2019-01-14 13:14:46

标签: java 2d procedural-generation perlin-noise simplex-noise

我目前正在开发基于Java平台的2D Tile。不赚钱,只是为了娱乐。最近,我发现了这款叫做Caveblazers的游戏。它也是2D平台游戏,我认为它也是基于图块的。它的世界是程序生成的,每次您玩游戏时看起来都会有所不同。我尝试用perlin噪声和单纯形噪声进行实验,但没有按计划进行。我什至无法确定水平是可能的,没有障碍物阻碍目标。我的游戏将是一款基于局域网的游戏,也在洞穴中。因此,我的问题是如何生成这些令人敬畏的洞穴,以及如何找到放置脚手架和箱子的位置。帮助将不胜感激,并且由于必须在下周之前才能使用,所以我希望得到快速答复!

That is how i would like it to be:

1 个答案:

答案 0 :(得分:0)

将Perlin噪声视为或多或少的平滑地形高度图。

值通常在0到1或-1到1范围内。

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

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

取决于您的映射,但是通常高度图中的山丘是2d平台机中的墙,而更深的点则保持空白/透明或填充背景图块。

除此之外,您可能希望使用某些检查洞穴是否可通行的机器人来确保通过,该机器人可能会使用其他代码来雕刻一些额外的平滑通道。您无法用纯Perlin噪音来实现这一点,因此,第二步比艺术更是艺术。通常,该代码通过对值求平均值来避免粗鲁的边缘,从而将干扰引入Perlin噪声中。

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