我正在开发 2d 等距游戏。你在城市里开车,仅此而已。问题是生成具有连接道路的随机地图。我想写脚本——我想我能——但我找不到算法本身的想法。假设我有 100x100 的地图,我想建立布尔表 1 是道路 0 不是道路。
到目前为止,我的解决方案是在水平和相同的垂直方向上绘制随机数行(例如 4-8 行)。但是这个路线图是直的。
你能分享一些想法吗?任何会有所帮助
我正在开发 2d 等距游戏。你在城市里开车,仅此而已。问题是生成具有连接道路的随机地图。我想写脚本——我想我能——但我找不到算法本身的想法。假设我有 100x100 的地图,我想建立布尔表 1 是道路 0 不是道路。
到目前为止,我的解决方案是在水平和相同的垂直方向上绘制随机数行(例如 4-8 行)。但是这个路线图是直的。
你能分享一些想法吗?任何会有所帮助
这个问题太宽泛,无法简单回答。有很多复杂程度不同的方法。
但作为提示,请从不同的角度考虑问题。肯定最终你想要道路,但为什么首先要有道路呢?在你的情况下,它是一个城市。一个城市由通常是矩形的城市街区组成。所以一种方法是找到一种方法用矩形填充地图并考虑边缘道路(或仅考虑一些)。
或者你可以研究三角测量算法并用一堆随机点对你的地图进行三角测量。然后组合一些三角形并将这些边缘用作道路。
甚至只使用随机游走设置,因此它不会完全转身。
或者 ...
...不过说真的,选项和可能的解决方案是多种多样的,并且取决于您的技能水平(以及您最终希望如何看待您的城市)。不要搜索您的具体问题,尝试根据您的需要调整一些其他算法。有大量关于 roguelike 游戏随机地牢生成的教程。最后也可能不会有一个单一的生成算法给你最好的结果,而是许多的组合。