问题标签 [procedural-generation]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
audio - 程序声音生成算法?
我希望能够通过算法创建声音(如怪物咆哮或遥远的雷声。)这在网络上并没有像更传统的程序内容(地形等)那样广泛覆盖。任何人都有关于如何创造这些声音?
recursion - 如何使用柏林噪声或其他算法点对点闪电“螺栓”?
我遇到的 perlin 噪声生成的每个实现都是用于生成 2D 地形等。我在任何地方都找不到一个像样的点对点闪电生成示例。
是否有许多其他形式的产生“闪电”?有人告诉我这就是我想要的。分叉闪电或 2D 树存在哪些算法(我可以将其颠倒过来用于闪电)
我使用多种语言工作,因此伪代码中的示例也可以。
language-agnostic - 以程序方式生成二维“blob”图形的好方法
我希望以计算速度快的方式创建一个“blob”。此处的 blob 被定义为可以是任何形状但全部连接的像素的集合。例子:
在哪里 。是死区,o 是标记像素。我只关心“二进制”生成 - 一个像素是 ON 还是 OFF。因此,例如,这些看起来像一些虚构的番茄酱或虚构的细菌或任何有机物质。
什么样的算法可以做到这一点?我真的很茫然
algorithm - 运行时顶点生成
是否有可能创建一个无限的世界,其中世界是使用算法生成的?XNA 是否支持在运行时加载顶点?
opengl - 将立方体贴图映射到球体的问题
我目前正在尝试创建一个程序行星生成工具。我首先将一个立方体映射到一个球体,如下所示:
接下来,我使用 Libnoise 到使用 3D Perlian 噪声的高度图立方体。我能够生成一个无缝的cubmap。我已经在 Photoshop 中检查了这一点,虽然我必须旋转高度图图像以使它们适合网络,但我认为它们是正确的方向。
我尝试在将坐标映射到球体之前和之后获取坐标的 perlin 值,但我无法使边缘匹配:
目前我正在创建 -0.8 和 +0.8 之间的几何图形,然后添加 0.2 * 高度图百分比。
要么我错误地使用了高度图数据,要么高度图的方向不正确(我怀疑两者都有一点)。
opengl - 有没有人有关于地形的 3D 程序生成或分形地形生成的良好资源?
见标题。任何帮助表示赞赏!
random - 推箱子游戏随机生成关卡?
我正在制作一个推箱子风格的游戏(即它与推箱子不完全相同,所以我不能使用现有的关卡)并且想在其上创建随机关卡,以便玩家可以继续玩它并且总是有关卡可以尝试。有什么方法可以让计算机自动或半自动地为我生成关卡(半自动,我的意思是我可以给它初始地图,但没有板条箱位置)?
我的一个想法是随机生成一张地图,将板条箱置于完成状态(即在十字架上),然后随机移动板条箱,就好像它们被游戏角色拉动一样。这保证了我的水平应该是可解决的。然而,主要的问题是如何知道关卡是容易/难还是有趣/无聊?例如,推箱子是 NP 难的,所以我不能实际要求机器检查是否有简单的解决方案。
我知道很难创建与人类专家竞争的随机关卡,但我只是在寻找一些不错的东西。
编辑:顺便说一句,我更感兴趣的是生成小而有趣的类似推箱子的关卡,例如 5x5 关卡而不是 50x50 关卡。这可能使事情在计算上更可行。
algorithm - 2D瓦片地图生成
我正在开发一个 2D 瓦片引擎,此时我正在研究地图生成算法。
我尝试了通常涉及简单高度图生成的基本方法,例如
- 山代
- 柏林噪声
- 菱形方块
但我总是遇到同样的问题:这种算法在处理也有高度分量的瓦片地图时似乎很合适,但这不是我的情况。
我基本上有草、海、沙漠等精灵,但它们不应该根据生成的高度放置在地图内,而是类似于
- 一切从海洋开始
- 岛屿位于地图中间(这是我尝试过的算法大多失败的地方)
- 生成沙漠(它们应该像周围的随机点)
- 生成山脉和丘陵链(它们应该像蛇一样)
我应该尝试什么样的方法?
我通过开发专门的算法来做我需要的事情(例如,山从一个点开始,然后按照一个有机会转弯的方向)解决了子组件问题(如沙漠、丘陵和山脉),但我在生成基本的岛屿(可以定制为只是一个泛大陆或许多程度的大小)。
只是为了给你一个实用的想法,我正在寻找类似于文明算法的东西: