0 点赞
The Genesis Project
转载

你是否想要创造山脉、海洋乃至脚下的大地?现在还配有图片! 在开始之前,我想感谢Discord上的MBM。如果没有MBM的帮助和见解,就不会有本指南。 本指南旨在补充我的另一篇指南“创建一片土地(或对其进行模组化)”。该游戏的重点在于用于生成地形的.txt文件之前的内容(例如,如果一个地形文件引用了“Islands”,那么它实际上指的是“Islands.txt”)。简单的方法是打开你的Steam库,在侧边栏右键点击该游戏,将鼠标移至“管理”,然后选择“浏览本地文件”。进入游戏文件后,点击“The Genesis Project_Data”文件夹,接着是“StreamingAssets”文件夹,然后是“Biomes”文件夹。现在你应该能看到一堆.名称也可以是任意内容。唯一必需的行是2行山脉颜色(MountainColor)、2行草地颜色(GrassColor)和3行海洋颜色(OceanColor)。 以下是Simple.其夸张的颜色是为了让纹理变化更加明显。为制作本指南,我通过向该文件添加行并观察结果来进行操作。本指南中用于示例的实际代码行均来自文件,不一定与图片内容完全对应。本指南中提及的【水】均指代海洋、湖泊和河流,无论其中实际是何种液体。 OceanColorStart #FFFFFF OceanColorMid black OceanColorEnd #39c0ac GrassColorStart #fefc43 GrassColorEnd #435dfe MountainColorStart #770400 MountainColorEnd #ffb5b5 以下是相关效果图片:

地图界面上的星球。海洋的黑色来自“OceanColorMid”。星球上的灯泡符号来自Land2文件夹中的文件。

这里有一些来自地图的星球地形图片。偏红的部分是山脉,海洋则呈现白色、黑色和青色。在默认形态下,这个生物群系有1座顶部平坦的山脉。

以下是一些游戏场景的实际画面。 海洋线条 燃烧的海洋

(我在《燃烧之海》中的角色。注意痛苦动画帧和生命值不足。) - 在当前区域中,这条代码行总是位于地图行之前、其他所有内容之后。这导致水体造成火焰伤害,也是游戏中熔岩造成伤害的原因。河流同样会燃烧,但伤害较低。离开水体后,火焰伤害还会持续一两秒。 海洋 -0.32

(地图被海洋0.2淹没。) - 如果你想调整关卡中水域(或其他液体)的多少,那么这一设置项正合你意。此设置项会影响游戏内的水位高度。地图必须有坚实的地面,否则游戏可能会崩溃。因此,如果该数值为正数且游戏无法正确加载星球,你需要通过设置正数的“MountainAmplitude”“PlaneAmplitude”或其他地面抬升数值来增加地面高度,使部分陆地高出水面。 (感谢NAV帮助确定正确数值!) OceanAmplitude 0.5

(图片分别展示了海洋振幅1和海洋振幅-10的效果。) - 这条参数会影响水的纹理。当数值较高时,其效果与海洋持续性类似。数值为正或为负似乎没有影响。 海洋颜色起始值 黑色 海洋颜色中间值 黑色 海洋颜色结束值 #140D07

(一张测试生物群系的水域图片。) - 这3行代码用于指定水域(包括河流)的颜色。大多数文件使用十六进制颜色代码,但Oil.txt(示例代码的来源文件)中使用“black”一词,另有一行地图代码使用“magenta”来确定颜色。有时十六进制代码后会跟着“FF”,但这一附加内容似乎没有实际作用。地图上的水域颜色将以OceanColorMid为准。 OceanOctaves 3

(左侧图片显示海洋八度为10,右侧图片显示海洋八度为-1或其他负值。) - 此线条会影响水的纹理。若将其设为负值,水会变为海洋中间色的颜色。 海洋持续性 2

(从左到右分别是OceanPersistance 1和OceanPersistance -10。) - 这条参数会影响水的纹理。当数值较高时,其效果与OceanAmplitude类似。数值为正或为负似乎没有影响。 OceanSpeed 0

(通过OceanSpeed 1000将水转化为静态。通过另一行代码,水也变为可行走状态。) - 数值越高,水流速度越快。数值为1000时,水体变为静态;数值为0时,水会冻结在原地。 可行走海洋

(我的角色站在一片静电海洋上。) - 所有水体,包括河流,都变得可以像陆地一样行走(并且能够生成怪物),玩家角色不会下沉。每当你开始一个存档时,这行代码会导致陆地出现轻微卡顿。在游戏中,这行代码通常位于地图代码之前、其他所有代码之后。 山脉代码 山脉振幅 0.2

(右侧图片显示玩家的房屋位于受山脉幅度影响的山上,海洋值设为1时这一点尤为明显。此处的山脉幅度设为2。第二张图片展示了一个陨石坑中的湖泊,该陨石坑是在海洋值正常/未改变的情况下,将山脉幅度设为-1创建的。) - 这会影响山脉的高度,特别是第一座、最圆润且最高的山脉(若为负值则是陨石坑)。正小数会增加其高度,负小数则会降低其高度。这座山脉顶部通常有草,在海洋值升高的情况下最为明显,而陨石坑则常被水填满。 山脉颜色起始值 #1e2263 山脉颜色结束值 #15155c

(这里的红色区域为【山脉颜色】。注意顶部使用的是【草地颜色】。) - 这两行代码决定了游戏场景中任何丘陵或山脉斜坡的颜色,而实际的平坦顶部颜色则来自【草地颜色】相关代码行。每行代码末尾都需要一个十六进制颜色代码或系统可识别的颜色名称。斜坡越陡峭,【山脉颜色】就越明显。 【山脉持续性】0.01

(右侧为正常状态,缺少MountainPesistance代码行。左侧显示MountainPersistance值为1。) - 此代码会影响所有斜坡,使山峰形成陡峭的滑坡,而非仅由MountainAmplitude(山地幅度)产生的相对平缓的斜坡。如果你想创建一个有多个山峰的长山脉,那么这行代码和Frequency(频率,后文会提及)会很有用。 MountainStart 99 MountainEnd 0

(两张图片中,山脉起点和山脉终点分别被设置为0和99。这与示例行中的设置相反。) 我不完全确定山脉起点/终点除了改变地图外还有什么作用。看起来河流变得更长,并且往往会自行弯曲。 平原/草地/地面线条 草地颜色起点 #2935a4 草地颜色终点 #202b89

(我的角色站在地下城入口附近的草地上。) - 这两行代码决定了普通地面的颜色。它需要十六进制颜色代码,但也可以使用一些颜色名称(例如黑色和品红色)来代替。此数值还会决定某些类型地下城入口周围草地的颜色。 PlaneAmplitude 0.1

(上行展示了平面振幅1的两种视图,下行展示了平面振幅-1的两张图片) - 此参数会影响常规平坦地面的高度。数值越高,平缓起伏的丘陵越多(若数值为负,则浅水区越多),沙子则越少。该参数为负值时有助于创建沼泽地形。当【海洋】数值较高时,此效果最为明显。 平面持续性 0.01

(上方两行图片展示了PlanePersistance为1时的地图,下方两行图片则展示了PlanePersistance为-1时的地图。注意所有红色区域,代表此处为陡坡。) - 该参数同样会生成山丘,但通常比PlaneAmplitude生成的山丘更加陡峭尖锐。通过此参数或许能生成类似梯田状的地形。 SandStart -5 SandEnd -4

(左上角图片显示两个沙子数值均设为-5,这会将沙子从地图上完全移除。右上角图片显示两个沙子数值均设为5,这会让沙子完全覆盖地图。左下角图片显示SandStart设为0,SandEnd设为5。右下角图片显示山脉颜色不会被沙子覆盖。) - 这些参数会影响沙子从水体延伸的范围。若要完全去除沙子,将这两个数值设为相同的负值。若要让沙子覆盖陆地,将两个数值都设为正数。若想沙子数量稍多或稍少,使用两个接近的数值。沙子会覆盖 GrassColor 数值所代表的区域,并从水体向外延伸。与雪不同,它不会改变地牢入口周围的草地颜色。 无限雪

雪是覆盖地面的一层白色物质。正值表示无可见积雪(见上图),负值则会让地面被白色覆盖,特别是会覆盖草色值(见下图)。它不会覆盖山脉颜色值,也不会影响水域,但会影响地牢入口周围的草地。 地图线条 这些线条统称为【地图线条】,总是位于文件末尾,与文件其余部分之间有一个段落间距。它们都只会影响地图屏幕上行星的外观(至少在当前游戏版本中是如此),不会影响地理。一个生物群系最多可添加1条地图地面线、1条地图水域线和1条地图云层线,总共3条,且每种类型的地图线条各1条。所有地图云需要颜色十六进制代码或公认的颜色名称才能正常运行,而其他类型则不需要也不使用颜色代码。在测试生物群系中,地图云为绿色,任何颜色变化都来自线条本身。 注意不要使用“MapClouds (十六进制颜色) rare cloud”。它在当前游戏版本中存在问题。只有与另外一两条地图线条搭配使用时才能正常工作,否则会导致星球无法正常加载,且星门完全无法加载。 - 当前游戏内使用情况:

地图云团【#ccffff 暗云】

地图云【ffcc00】云

地图云(MapClouds)品红色光云

地图云 #c8c890 稀有云(与地图地面冰/熔岩搭配可保持稳定性)

地图云朵 #666699 厚云

地图地面 冰原/平原

地图地面 冰原/森林地带

地图地面 冰面/沙地

地图地面 冰/霜 1

地图水域 冰/冰冻海洋

地图水体 冰/熔岩 - 未使用但功能正常

地图地面 冰原/开花之地

地图地面 冰/陨石坑

地图地面 冰/火星 (第二张图片还使用了地图水面 冰/陨石坑,以更好地展示地图地面 冰/火星。)

地图水域 冰/陨石坑

地图水域 冰/岛屿(地图水域 冰/岛屿可能呈现两种图片中的任意一种,但三分之二的情况下会显示第一张图片。)

地图水体 冰/幸运 (图片同样使用地图地面 冰/开花的土地能更好地展示地图水体 冰/幸运。)

地图水域 冰/融化的冰冻海洋

地图水冰/脉冲1

地图水域 冰/光线(2023年6月23日)

我发现了一些未使用的地图线条,并添加了更多图片。新图片采用了与本指南中原图不同的修改地形。(没有地图线条时,看起来如上图所示。) 其他线条和未知线条 频率10

(左侧为频率10,右侧为频率-10。) - 该选项会影响地图界面中地图的“密集程度”,在某种程度上会导致地图在自身范围内重复。如果你想要一片广阔的水域或平坦的土地,建议忽略此选项,因为频率(尤其是高数值时)往往会生成顶部无草的尖峰山脉、大量斜坡以及众多小型海洋。如果你想要许多彼此完全分离的小型海洋,可以使用此选项。 间隙度0.5

(右侧为【Lacunarity 1】,左侧为【Lacunarity -1】) - 一条通常未使用的参数,实际上会使旱地更呈柱状而非圆形,并使河流更可能笔直穿过陆地。正数数值越高,陆地越呈柱状,河流横跨的长度也越长。若设为负值,陆地会呈现沙漏状外观,河流不再横跨陆地(而是倾向于向内弯曲)。 亮度 #AAAAAA

这段简短代码会让一片区域被雾笼罩,雾的颜色取决于输入的十六进制颜色代码。这行代码通常位于文件末尾,就在下方与地图相关的文件之前。与其他代码行不同,这行代码会影响玩家房屋内部,将白色墙壁染成输入的颜色。 未知且无法触发任何效果的代码行/任何功能未知的代码行 RiverFrequency 0.5 RoadThickness 0 RiverThickness 0 Bonus 例如,如果山脉过高(我遇到的问题出在MountainPersistence,但其他参数也可能有类似情况),房屋就会陷入星球内部的虚空。尝试通过传送门前往星球会立即触发死亡并在房屋处重生。“MountainPersistence -1”也可能导致同样的问题。 通常,山体数值为负时会变成湖泊和陨石坑。 雪可能在重新加载后仍然存在。如果发生这种情况,请完全重启游戏。 奇怪的是,DarkLava只有在位于Biome文件夹的Lava子文件夹中时才会出现问题。将其移至其他位置后,运行完全正常。可能存在空格、拼写错误或其他问题。 有一些网站可以提供十六进制颜色代码。它无需注册账号就能设置调色板,还能在游戏内查看前预览颜色搭配效果。祝你好运!