消除(或检测)游戏开发过程中的漏洞

时间:2014-11-29 21:44:24

标签: java procedural-generation

我一直关注此页面 http://devmag.org.za/2009/04/25/perlin-noise/ 作为创建我自己的perlin噪音的指南 - 在评论部分已经指出这是FBM的噪音,但那是无关紧要的。

到目前为止,这项工作非常顺利,经过一些清洁工作后,这些都是结果。删除尽可能多的工件。 http://puu.sh/dayg9/2943aca5ce.png

现在我已经创造了我的噪音,我将把它用作平台游戏的无限地图。但是,正如你所看到的,我的噪音中有一些漏洞。

- 请注意 - 此噪音适用于2D游戏!

我的问题是 - 我怎么能填补这些漏洞,或阻止玩家在其中产卵?尽管有很多谷歌搜索并且很难想到EXTRA,但无法找到答案。

感谢您的时间:)

2 个答案:

答案 0 :(得分:0)

只需使用基于非欧几里得http://en.wikipedia.org/wiki/Haversine_formula的算法,首先查看它们产生的位置,找到设定间隙大小内的对象数量,然后将计数器移动到另一个产卵区域太低了。

对于速度,您可以在初始区域生成生成时计算此值,然后按区域缓存结果,以便于查询。

答案 1 :(得分:0)

有人提到该解决方案与填充算法有很多相关性,例如微软绘画中使用的算法。

我将继续使用'scanline fill'算法 - http://en.wikipedia.org/wiki/Flood_fill