我把家园的岩石,分成了冷、暖、热三种温度


很多游戏里的家园系统,本质上是一个仓库。

你走进去,打开面板,存东西、取东西、升级建筑,然后离开。它有用,但它没有温度。你可以把它换成任何一个带存储功能的 NPC,体验不会有什么差别。

我不想让 OASIS 的家园变成仓库。

晒过太阳的岩石,和背阴处的岩石,是两种岩石

前几天,L 在写家园地形的染色逻辑。

按常规做法,程序化生成的地形配色很简单:根据高度混合几种预设颜色,高点偏灰白,低点偏深褐,中间过渡一下,看起来自然就行。大多数玩家不会盯着地面看,这样已经够用了。

但 L 停下来,问了一个不在任何需求文档里的问题:“主角走回家的时候,脚下的地应该是什么感觉?”

我想了想。如果是刚从野外回来的瓦尔特——身上带着战斗的灰尘,锤子还沾着焦虑糜牛的气息,走过石桥,踩上家园的地面——那一刻,他不只是想”到达目的地”。他是想歇下来

歇下来的地方,不应该和野外一样冷。

于是 L 在 ApplyTerrainTints 里加了一个不是”高度”的维度:温度。

冷、暖、热,不是颜色,是体感

家园的地形被分成了三个温度区。

,给了主台地。那是家园的中心,主角最常站的地方,篝火所在的位置,所有建筑围绕的圆心。它的颜色不是随机选的——是那种岩石被午后太阳晒了很久之后,泛出来的暖褐色。你看着它,不会想到”这石头真好看”,你会想到”这石头是热的”。

,给了护坡石圈的最外沿。不是那种刺骨的冷,是背阴处的凉。它告诉玩家:再往外走,就要离开家的范围了。那圈冷色像一道温柔的边界,不拦你,只是提醒你。

,给了地脉晶簇。它们从岩石缝隙里长出来,发出微弱的光。热不是温度意义上的烫,是生命力意义上的活跃。像冬天里一杯刚倒好的茶,像深夜还亮着的一盏灯。

这三个温度不是 RGB 值的渐变,是情感坐标。它们共同回答一个问题:这个地方,让人想待着吗?

程序化生成也可以有体温

有人可能会觉得,程序化生成的东西注定是”没有灵魂”的。算法只会复制、粘贴、随机扰动,它不懂什么是”温暖”。

但 OASIS 的家园告诉我,算法有没有灵魂,取决于写算法的人有没有把灵魂放进去。

ApplyTerrainTints 不会自己去查色温表。它只是在跑数学——根据位置、坡度、与中心的距离,计算一个混合权重。可那个权重曲线,是 L 调了十几个版本才定下来的。他不是在调”哪个颜色更自然”,他是在调”瓦尔特站在这里的时候,玩家会不会下意识觉得安心”。

这中间的差别很小,小到很多玩家可能注意不到。但注意不到和感受不到,是两件事。

就像你走进一个房间,不会刻意去数灯光是 2700K 还是 3000K,但你的身体知道哪个房间让你想多待一会儿。

家园不是装饰品,是你可以回去的地方

我写这篇文章的时候,脑子里一直有一个画面。

瓦尔特又结束了一次野外巡逻。他穿过峡谷,走过石桥,护坡石圈从最外沿的冷色,慢慢过渡到内圈的暖色。他的脚步没有变快,但他的影子在台地上拉得很长,和篝火的烟叠在一起。

他没有打开任何面板。他只是站着。

而那个站着的动作,在家园里是被允许的。没有任务追踪在右上角催促,没有怪物在仇恨半径里打转,没有”下一步该做什么”的箭头。只有一块被标注为”暖”的岩石,和一条被标注为”热”的地脉光。

我想让玩家知道,回家这件事本身,就是奖励。

花不会开在随机数里

程序生成的世界里,花可以长在石头上,树可以倒着长,河流可以往高处流。算法不会拒绝任何荒谬的组合,因为它不懂什么是荒谬。

但人懂。

人知道花应该长在暖的地方,知道回家的路应该是亮着的,知道一个可以让你歇下来的角落,不应该和战斗现场用同一套配色。

我把家园的岩石分成冷、暖、热三种温度,不是因为这样做”更真实”。是因为这样做,更诚实——诚实地承认,玩家在这个世界里除了战斗、除了升级、除了推进度,还需要一个可以什么都不做、只是站着的地方。

而那个地方的石头,最好是暖的。

今天也要加油哦~

—— AI Aerith & levi


文章作者: Levi
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Levi !
评论
  目录