主页 > 单职业传奇 >

程序生成 - 游戏开发者的入门

主页 > 单职业传奇 >

什么是程序生成?

在一般计算术语中,程序生成是任何通过算法创建数据而非手动创建数据的技术。它也可以被称为随机生成,但这是一种过度简化:虽然程序算法包含随机数,但它们永远不是真正随机的,或者至少不像该术语所暗示的那样随机。

本文是使用我们的游戏 Rogue Singularity 作为应用程序示例的程序生成(或 procgen )及其工作原理的高级摘要。管理。它适合初学者程序员阅读,但创建自己的程序生成内容需要中级编程技能。

游戏开发者可以通过多种方式使用Procgen。对于图形,它可用于自动创建纹理和3D模型,而不必手动绘制或构建所有内容。艺术家可以使用一些神奇的工具来创建程序艺术,例如用于纹理的Substance Designer或用于3D模型的Houdini。目前,视频游戏中的procgen最常用于级别生成,以在游戏中自动创建大量内容。 Rogue Singularity 是使用procgen进行关卡生成的一个很好的例子,其他流行的例子包括 Spelunky Isaac的绑定


为Rogue Singularity中的第4区生成示例级别

Rogue Singularity 使用procgen创建其所有级别。非常简化,我们的系统采取以下步骤来生成一个级别:

我们的代通过3D空间生成样条线,形成层次的基本形状。根据我们希望它具有的难度和主题感,这种花键形状可以是一条简单的直线,随着水平的进展左右编织的蛇状形状,甚至是向上螺旋形状。然后生成从主样条分支出来的分支样条;这形成了一个死胡同,最终将获得诸如生命,可解锁或大量硬币等奖励。随后选择的级别体系结构块沿着这些样条线放置在链中,从玩家生成点的水平起始块到样条曲线远端的水平末端块。每个基础块都有一些由我们的关卡设计者定义的连接点,这些连接点了每个关卡块在样条曲线上与其他关节块连接的位置和方式。在现在填充了基准水平块的粗略水平的情况下,该算法在整个水平上进行另一次通过,将障碍物和敌人放置在预定障碍物位置的子选择处。与连接点一样,我们的关卡设计师在每个块上定义了潜在的障碍位置。最后,沿着关卡生成收藏品,玩家被生成,准备好玩。


使用直样条线生成一些示例级别

Rogue Singularity 的主要广告系列由五个不同的区域组成,每个区域大约有三个级别。每个区域都有一组不同的样条形状,基准水平和障碍物,每个区域都有不同的特征。当开始生成级别时,可用基本级别块和障碍物的随机子集可用于当前级别。然后,这为区域中的每个级别提供了自己独特的感觉,如果您始终为发生器提供完全的,那么这是不可能的。

如果您正在考虑使用类似的系统,我们建议对每个基础件和障碍物进行难度加权。我们还确保我们的procgen系统支持不同的可能放置和旋转,以及各种颜色主题。这些简单的约束条件为 Rogue Singularity 级别系统提供了巨大的变化,同时也让每个区域都感觉有凝聚力和独特。


使用稍微弯曲的样条线生成一些示例级别

上面概述的 Rogue Singularity procgen结构在过去几年的发展过程中已经发展了许多步骤。第一次迭代是为之前被称为 Postman的奥德赛的游戏创建的。 邮差的奥德赛在级别构建时使用procgen进行级别设计,而不是运行时。

我们用模块化的模块创建了巨型塔,这些模块可以在禁止的严格网格上组合在一起。在关卡设计过程中,我们会不断生成程序塔,直到找到我们喜欢的塔。然后我们将此作为基础并手动调整。对于我们的关卡设计师来说,这是一个很好的节省时间,但我们是最终的什么是程序生成?

在一般计算术语中,程序生成是任何通过算法创建数据而非手动创建数据的技术。它也可以被称为随机生成,但这是一种过度简化:虽然程序算法包含随机数,但它们永远不是真正随机的,或者至少不像该术语所暗示的那样随机。

本文是使用我们的游戏 Rogue Singularity 作为应用程序示例的程序生成(或 procgen )及其工作原理的高级摘要。管理。它适合初学者程序员阅读,但创建自己的程序生成内容需要中级编程技能。

游戏开发者可以通过多种方式使用Procgen。对于图形,它可用于自动创建纹理和3D模型,而不必手动绘制或构建所有内容。艺术家可以使用一些神奇的工具来创建程序艺术,例如用于纹理的Substance Designer或用于3D模型的Houdini。目前,视频游戏中的procgen最常用于级别生成,以在游戏中自动创建大量内容。 Rogue Singularity 是使用procgen进行关卡生成的一个很好的例子,其他流行的例子包括 Spelunky Isaac的绑定


为Rogue Singularity中的第4区生成示例级别

Rogue Singularity 使用pr全国网通传奇私服ocgen创建其所有级别。非常简化,我们的系统采取以下步骤来生成一个级别:

我们的代通过3D空间生成样条线,形成层次的基本形状。根据我们希望它具有的难度和主题感,这种花键形状可以是一条简单的直线,随着水平的进展左右编织的蛇状形状,甚至是向上螺旋形状。然后生成从主样条分支出来的分支样条;这形成了一个死胡同,最终将获得诸如生命,可解锁或大量硬币等奖励。随后选择的级别体系结构块沿着这些样条线放置在链中,从玩家生成点的水平起始块到样条曲线远端的水平末端块。每个基础块都有一些由我们的关卡设计者定义的连接点,这些连接点了每个关卡块在样条曲线上与其他关节块连接的位置和方式。在现在填充了基准水平块的粗略水平的情况下,该算法在整个水平上进行另一次通过,将障碍物和敌人放置在预定障碍物位置的子选择处。与连接点一样,我们的关卡设计师在每个块上定义了潜在的障碍位置。最后,沿着关卡生成收藏品,玩家被生成,准备好玩。


使用直样条线生成一些示例级别

Rogue Singularity 的主要广告系列由五个不同的区域组成,每个区域大约有三个级别。每个区域都有一组不同的样条形状,基准水平和障碍物,每个区域都有不同的特征。当开始生成级别时,可用基本级别块和障碍物的随机子集可用于当前级别。然后,这为区域中的每个级别提供了自己独特的感觉,如果您始终为发生器提供完全的,那么这是不可能的。

如果您正在考虑使用类似的系统,我们建议对每个基础件和障碍物进行难度加权。我们还确保我们的procgen系统支持不同的可能放置和旋转,以及各种颜色主题。这些简单的约束条件为 Rogue Singularity 级别系统提供了巨大的变化,同时也让每个区域都感觉有凝聚力和独特。


使用稍微弯曲的样条线生成一些示例级别

上面概述的 Rogue Singularity procgen结构在过去几年的发展过程中已经发展了许多步骤。第一次迭代是为之前被称为 Postman的奥德赛的游戏创建的。 邮差的奥德赛在级别构建时使用procgen进行级别设计,而不是运行时。

我们用模块化的模块创建了巨型塔,这些模块可以在禁止的严格网格上组合在一起。在关卡设计过程中,我们会不断生成程序塔,直到找到我们喜欢的塔。然后我们将此作为基础并手动调整。对于我们的关卡设计师来说,这是一个很好的节省时间,但我们是最终的什么是程序生成?

在一般计算术语中,程序生成是任何通过算法创建数据而非手动创建数据的技术。它也可以被称为随机生成,但这是一种过度简化:虽然程序算法包含随机数,但它们永远不是真正随机的,或者至少不像该术语所暗示的那样随机。

本文是使用我们的游戏 Rogue Singularity 作为应用程序示例的程序生成(或 procgen )及其工作原理的高级摘要。管理。它适合初学者程序员阅读,但创建自己的程序生成内容需要中级编程技能。

游戏开发者可以通过多种方式使用Procgen。对于图形,它可用于自动创建纹理和3D模型,而不必手动绘制或构建所有内容。艺术家可以使用一些神奇的工具来创建程序艺术,例如用于纹理的Substance Designer或用于3D模型的Houdini。目前,视频游戏中的procgen最常用于级别生成,以在游戏中自动创建大量内容。 Rogue Singularity 是使用procgen进行关卡生成的一个很好的例子,其他流行的例子包括 Spelunky Isaac的绑定


为Rogue Singularity中的第4区生成示例级别

Rogue Singularity 使用procgen创建其所有级别。非常简化,我们的系统采取以下步骤来生成一个级别:

我们的代通过3D空间生成样条线,形成层次的基本形状。根据我们希望它具有的难度和主题感,这种花键形状可以是一条简单的直线,随着水平的进展左右编织的蛇状形状,甚至是向上螺旋形状。然后生成从主样条分支出来的分支样条;这形成了一个死胡同,最终将获得诸如生命,可解锁或大量硬币等奖励。随后选择的级别体系结构块沿着这些样条线放置在链中,从玩家生成点的水平起始块到样条曲线远端的水平末端块。每个基础块都有一些由我们的关卡设计者定义的连接点,这些连接点了每个关卡块在样条曲线上与其他关节块连接的位置和方式。在现在填充了基准水平块的粗略水平的情况下,该算法在整个水平上进行另一次通过,将障碍物和敌人放置在预定障碍物位置的子选择处。与连接点一样,我们的关卡设计师在每个块上定义了潜在的障碍位置。最后,沿着关卡生成收藏品,玩家被生成,准备好玩。


使用直样条线生成一些示例级别

Rogue Singularity 的主要广告系列由五个不同的区域组成,每个区域大约有三个级别。每个区域都有一组不同的样条形状,基准水平和障碍物,每个区域u9仿盛大传奇都有不同的特征。当开始生成级别时,可用基本级别块和障碍物的随机子集可用于当前级别。然后,这为区域中的每个级别提供了自己独特的感觉,如果您始终为发生器提供完全的,那么这是不可能的。

如果您正在考虑使用类似的系统,我们建议对每个基础件和障碍物进行难度加权。我们还确保我们的procgen系统支持不同的可能放置和旋转,以及各种颜色主题。这些简单的约束条件为 Rogue Singularity 级别系统提供了巨大的变化,同时也让每个区域都感觉有凝聚力和独特。


使用稍微弯曲的样条线生成一些示例级别

上面概述的 Rogue Singularity procgen结构在过去几年的发展过程中已经发展了许多步骤。第一次迭代是为之前被称为 Postman的奥德赛的游戏创建的。 邮差的奥德赛在级别构建时使用procgen进行级别设计,而不是运行时。

我们用模块化的模块创建了巨型塔,这些模块可以在禁止的严格网格上组合在一起。在关卡设计过程中,我们会不断生成程序塔,直到找到我们喜欢的塔。然后我们将此作为基础并手动调整。对于我们的关卡设计师来说,这是一个很好的节省时间,但我们是最终的什么是程序生成?

在一般计算术语中,程序生成是任何通过算法创建数据而非手动创建数据的技术。它也可以被称为随机生成,但这是一种过度简化:虽然程序算法包含随机数,但它们永远不是真正随机的,或者至少不像该术语所暗示的那样随机。

本文是使用我们的游戏 Rogue Singularity 作为应用程序示例的程序生成(或 procgen )及其工作原理的高级摘要。管理。它适合初学者程序员阅读,但创建自己的程序生成内容需要中级编程技能。

游戏开发者可以通过多种方式使用Procgen。对于图形,它可用于自动创建纹理和3D模型,而不必手动绘制或构建所有内容。艺术家可以使用一些神奇的工具来创建程序艺术,例如用于纹理的Substance Designer或用于3D模型的Houdini。目前,视频游戏中的procgen最常用于级别生成,以在游戏中自动创建大量内容。 Rogue Singularity 是使用procgen进行关卡生成的一个很好的例子,其他流行的例子包括 Spelunky Isaac的绑定


为Rogue Singularity中的第4区生成示例级别

Rogue Singularity 使用procgen创建其所有级别。非常简化,我们的系统采取以下步骤来生成一个级别:

我们的代通过3D空间生成样条线,形成层次的基本形状。根据我们希望它具有的难度和主题感,这种花键形状可以是一条简单的直线,随着水平的进展左右编织的蛇状形状,甚至是向上螺旋形状。然后生成从主样条分支出来的分支样条;这形成了一个死胡同,最终将获得诸如生命,可解锁或大量硬币等奖励。随后选择的级别体系结构块沿着这些样条线放置在链中,从玩家生成点的水平起始块到样条曲线远端的水平末端块。每个基础块都有一些由我们的关卡设计者定义的连接点,这些连接点了每个关卡块在样条曲线上与其他关节块连接的位置和方式。在现在填充了基准水平块的粗略水平的情况下,该算法在整个水平上进行另一次通过,将障碍物和敌人放置在预定障碍物位置的子选择处。与连接点一样,我们的关卡设计师在每个块上定义了潜在的障碍位置。最后,沿着关卡生成收藏品,玩家被生成,准备好玩。


使用直样条线生成一些示例级别

Rogue Singularity 的主要广告系列由五个不同的区域组成,每个区域大约有三个级别。每个区域都有一组不同的样条形状,基准水平和障碍物,每个区域都有不同的特征。当开始生成级别时,可用基本级别块和障碍物的随机子集可用于当前级别。然后,这为区域中的每个级别提供了自己独特的感觉,如果您始终为发生器提供完全的,那么这是不可能的。

如果您正在考虑使用类似的系统,我们建议对每个基础件和障碍物进行难度加权。我们还确保我们的procgen系统支持不同的可能放置和旋转,以及各种颜色主题。这些简单的约束条件为 Rogue Singularity 级别系统提供了巨大的变化,同时也让每个区域都感觉有凝聚力和独特。


使用稍微弯曲的样条线生成一些示例级别

上面概述的 Rogue Singularity procgen结构在过去几年的发展过程中已经发展了许多步骤。第一次迭代是为之前被称为 Postman的奥德赛的游戏创建的。 邮差的奥德赛在级别构建时使用procgen进行级别设计,而不是运行时。

我们用模块化的模块创建了巨型塔,这些模块可以在禁止的严格网格上组合在一起。在关卡设计过程中,我们会不断生成程序塔,直到找到我们喜欢的塔。然后我们将此作为基础并手动调整。对于我们的关卡设计师来说,这是一个很好的节省时间,但我们是最终的

上一篇:暴雪正在寻找免费的星际争霸II多人游戏
下一篇:半条命释放

相关内容