问题标签 [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.

0 投票
9 回答
156348 浏览

procedural-generation - 如何开始程序生成?

程序生成最近(由 Spore、MMO 等)引起了关注,它似乎是一种有趣/强大的编程技术。

我的问题是:

  • 您知道任何使用程序生成技术的中型项目吗?
  • 哪种语言/语言类别最适合程序生成?
  • 您可以将程序生成用于“严重”代码吗?(即,不是游戏)
0 投票
9 回答
4530 浏览

java - 使用 Java 和 OpenGL 绘制 3D 树的方法有哪些?

我知道如何使用 JOGL 或 LWJGL 绘制基本对象以连接到 OpenGL。我想要的是可以为树生成某种几何图形的东西,类似于 SpeedTree 的著名之处。显然,我不期望与 SpeedTree 具有相同的质量。

我希望树木看起来不重复。速度不是问题,我不希望屏幕上一次需要超过 100 棵树。

Java 中有免费的树形图库吗?还是示例代码或演示?有什么其他语言可以移植或学习的吗?

0 投票
19 回答
18954 浏览

procedural-generation - 数学问题:星系的程序生成

我将制作一个完全由程序生成的太空/交易/战斗游戏。但是,我知道将整个银河系的所有细节都存储在内存中是不可行的。结果,我一直认为我可以用一颗种子来生成一个太阳系,从那个太阳系,你可以使用跳跃门前往其他太阳系。问题是,如果我从起始太阳系跳到另一个太阳系,我需要能够回到具有完全相同特征(行星、小行星等)的完全相同的起始太阳系。

本质上,我需要能够从一个数字生成整个星系。从那个生成一个太阳系的数字中,我需要能够生成与第一个太阳系相连的所有其他太阳系,以及与这些太阳系相连的所有太阳系,依此类推。如果我回到它们,每个太阳系都必须保持完全相同的功能。此外,每个太阳系的链接数量可以是随机的,也可以是固定的,由您选择。不过随机会更好。

0 投票
2 回答
1138 浏览

python - 为游戏地图(在 Python 中)构建有向图的好策略是什么?

我正在用 Python 开发一个程序生成的游戏世界。世界的结构将类似于 MUD/MUSH 范式,房间和出口排列为有向图(房间是节点,出口是边)。(请注意,这不一定是无环图,尽管我愿意考虑无环解决方案。)

对于世界生成算法,不同类型的房间将通过每个房间的“标签”属性(一组字符串)来区分。一旦它们被实例化,就可以通过标签(单标签、标签交集、标签联合、最佳候选)来查询和选择房间。

我将使用模板对象和工厂方法的美化系统创建特定类型的房间——我认为这里的细节并不重要,因为当前的实现可能会改变以匹配所选的策略。(例如,可以将标签和标签查询添加到房间模板系统。)

例如,我将拥有以下类型的房间:

p>

最后,问题是:实例化和安排这些房间以创建可能对应于给定规则的图形的好策略是什么?

一些规则可能包括:每 10,000 人拥有一个广场;main_street连接到plaza; side_street连接到main_streetside_streethotel青睐main_streetplaza联系,并相应地接收更多标签;等等

如果建议的策略能够实现数据驱动的实施,则可以加分。

0 投票
3 回答
4234 浏览

c++ - 关于 L 系统的信息

我即将为大学启动一个项目,为现有项目建立一个程序城市。

我想知道你们中是否有人以前有过 L-Systems 编码的经验,并且知道一个适合我开始的地方。在使用程序方法和 Perlin Noise 和 fBm 之前,我做了一些工作,所以我得到了分形意义上的 L-System 的前提。我更多的是寻找一个可以推动我向 L-System 编码方向发展的地方。您可以向我指出的任何帮助或技术文档都会很棒。

0 投票
2 回答
2594 浏览

graphics - 程序天幕

有谁知道如何或在哪里可以找到有关如何制作程序天穹的信息?欢迎任何帮助。

0 投票
1 回答
961 浏览

ruby - Ruby 中的过程生成算法

问候!

作为 Ruby 学习的一部分,我正在从事一个涉及程序生成的项目,即地形生成等。它恰好在 Ruby 中,但是经过数周的搜索和试验,我正在向您提出很多问题,或者更准确地说,是一个请求。这是一个双重问题。

  • 是否有任何程序生成算法的 Ruby 实现(专注于世界 - 地形、河流等)?

  • 是否有任何类似于libnoise的库提供程序生成功能?

我已经研究了 libnoise 的 Rb++ 包装器,但是它无法在我的系统(Windows 机器)上编译,而且对于像我这样的新手来说是相当令人生畏的。我一直在将各种 C、C++ 实现移植到 Ruby,但是如果有的话,我更喜欢一个健壮且功能齐全的解决方案。

谢谢您的回答!温柔点,这是我第一次使用 Stack Overflow。 米佩

0 投票
2 回答
469 浏览

procedural-generation - 星星的平均颜色是多少?

我正在尝试以程序方式生成点星来为我的游戏创建星空背景。我想根据平均明星的真实颜色来衡量颜色生成。谁能指出我这种数据的方向?

0 投票
8 回答
4310 浏览

algorithm - 在六边形内为程序性游戏内容生成随机点

我正在使用程序技术为我正在编写的游戏生成图形。

为了生成一些树林,我想在以 <0,0> 为中心的正六边形区域内随机散布树木。

以统一方式生成这些点的最佳方法是什么?

0 投票
2 回答
4784 浏览

landscape - Perlin 噪波细节级别。如何放大风景?

我已经编写了自己的 Perlin Noise 实现并且效果很好。我可以通过改变频率来“放大”和缩小,但是当我放大时,噪音会变得越来越平滑。

假设我有一个显示大陆的景观。我想放大到城市大小的区域(或更近),但仍然有细节。我想我需要在更近的细节处重新生成景观,但我不确定是否有任何实现可以帮助解决这个问题?

缩小,我看到大陆和海洋,但我希望在小区域中代表大区域。

这是我遇到的问题的一个示例(大陆级别):

替代文字
(来源:blind-games.com

放大:

替代文字
(来源:blind-games.com

放大地图上的某个区域时,如何仍能获得丰富的细节?任何涉及的技术示例?