如何以程序方式为我的游戏生成角色

这取决于8位是8位。 我认为您不是在8位系统上进行开发,或者您不会问如何做这样的事情,所以我将告诉您如何在现代系统上花费很少的精力就可以达到那种效果。只需几个字节就可以在经典的8位平台上完成。

在现代系统上,您需要使用伪随机数生成器生成一个随机数,然后使用它来确定字符的属性。 使用相同的开始条件,以所有字符相同的顺序执行此过程,并且每次得到的字符都相同。 所有语言都非常简单。 从一个已知的种子开始,每次弹出一个新数字,并使用该数字来确定所需特性的变化。 这将使您可以对属性进行加权以获得所需的总体。

在使用尽可能少的代码的“适当的” 8位游戏中(例如在ZX Spectrum上),您可能使用8位数字来描述属性。 每个8位段可以以多种方式使用,例如用作两个标志和三个2位数字。 性别,成人/儿童,皮肤和头发的颜色,头部的两个位,身体的两个位,以及色彩的两个位,将给您带来很多变化。 您馈入其中的8位数字可能来自ROM,从给您带来愉悦的设置开始。 这样一来,一个8位的游戏程序员可以花很少的钱就能得到各种各样的东西,它不包含任何权重,并且也不是真正随机的,因为输入的数字是预先确定的,并且倾向于某些值,因为这是我们编写的程序代码重用作为数据,但这是80年代经常使用的技术。

我目前的工作是在每个项目中都使用PRNG,并且受到监管以确保游戏结果始终如一。

(这被解释为好像您正在使用GameMakerStudio,但是您应该能够理解它)

您可以说一个名为head的精灵包含许多“子精灵”或“图像”,它们代表了您可以拥有的各种head。 其他所有身体部位也是如此。 (例如,身体,腿部,甚至手臂和脚/鞋)

设置好这些精灵后,您可以使用一个函数,该函数将从每个身体部位中随机选择一个精灵来制作随机角色。

希望我能帮上忙。

对于刚接触此内容的任何人,我们都在Zengineering Podcast上的过程生成的内容上做了一个相当免费的插曲。 我们将它分解为可能的内容,您可能已经在其中遇到了问题,然后随着计算能力的提高深入到理论和哲学方面。 请享用! 让我知道您的想法:033 –与艾伦·吉尔伯特(Alan Gilbert)–关于程序生成的内容

这不是真正的程序生成,只是相当简单的随机生成(它们是不同的东西)。

将子画面分为离散的部分,将这些部分组合为最终结果,并使用随机数生成器为每个部分选择一种可能的选项。

更改皮肤和衣服的颜色只是交换调色板的问题–同样,从几种适用的颜色(通常是给定颜色的几种阴影的集合)列表中选择一个随机项,然后将它们替换为sprite。

当然,您可以随机选择头部,躯干和头发。 实际上这是微不足道的。

为每种身体类型设置一个数组

  • 头[]
  • 头发[]
  • 身体[]
  • 等等。

然后,您从每个数组中随机选择一项以将您的角色放在一起。

如果您要在一个大城市或其他城市中生活,并且希望它们外观各异,但在每个游戏中始终相同,则可以使用种子数发生器。 只要种子是相同的,字符将在任何系统上始终生成相同的种子。

只是使一堆不同的头部/身体/肤色精灵等
然后创建一个函数,从上述每个类别中随机选择1个并将它们放在一起