【开发日志#3】当文字开始“唱歌”:情感叙事引擎与《小星星》

精华修改于01/2115 浏览废土造物
凡人微光,废土成诗。 我们捡起的不仅是垃圾,是被人遗忘的生活;我们修复的不仅是遗物,是破碎世界里的人文温情。每一个微小的个体,都曾是被深深依赖的全世界。 拒绝遗忘,是我们对这个残酷世界最温柔的反抗。—— 《旧日代码:遗物整理师》首席架构师

引言:一段没有画面的“动画”

horizontal linehorizontal line
今天,在内部通过了一个特殊的 Demo 版本。 没有 spectacular 的爆炸粒子,没有精美的人物立绘,屏幕上只有一行行跳出的像素字,和一段走调的 MIDI 旋律。
但当那行 “垃圾车倾倒。八音盒滚落在黑巷的泥水中……” 随着电流声一个个字敲打在屏幕上时,我们意识到:这台冷冰冰的终端,终于有了灵魂。
今天,想和大家聊聊我们在《旧日代码》中最新实装的系统——情感叙事引擎 (Emotional Narrative Engine),以及那个让我自己都沉默了许久的“小星星”回响。
video-5461560
(实机演示视频:墙裂建议佩戴耳机观看!墙裂建议佩戴耳机观看!墙裂建议佩戴耳机观看!点这里看大屏视频)
horizontal linehorizontal line

1. 什么是“情感叙事引擎”?

horizontal linehorizontal line
开发日志 #02 中,我们提到了要赋予文字“骨骼”(物理交互)。而这一期,我们要在骨骼之上,注入**“血液”**。
普通的文字游戏:
系统:你获得了一个八音盒。 玩家:(哦,+1 道具)
拥有情感引擎的文字游戏:
屏幕轻微震动,背景里的噪音如同潮水般 褪去。 一行灰色的字迹 颤抖着浮现: “那只八音盒被一只小手紧紧攥着……背景是下城区漏雨的棚屋。” 耳边传来一阵 扭曲的《小星星》旋律,夹杂着电流声和一个男人咳嗽的画外音。
Emotional Narrative Engine 并不是一个单一的功能,而是一套像“电影导演”一样的指挥系统。它在后台同时操控着三个维度的演出:
  • Emotional Typewriter (情绪打字机): 文字不再是匀速出现的。它会像人的呼吸一样——在“……”处停顿,在激动的呐喊时加速,在回忆时缓慢淡入。我们甚至为动作描写设计了专属的 <action> 标签,让文字在屏幕上微微**颤抖**,模拟用力动作时的厚重感。
  • VFX Triggers (视觉通感): 文字直接控制镜头。当回忆中发生矿难事故时,带有 <danger> 标签的文字弹出,屏幕会同步发生红色的**警报闪烁和剧烈的镜头摇晃**。你看到的不仅是描述灾难的文字,而是直接感受到了灾难的冲击。
  • CyberSynth (赛博合成器): 这是最让我们自豪的部分。我们没有使用预录好的 MP3,而是用代码写了一个 MIDI 合成器。它可以根据剧情的“污染度”,实时调整音乐的波形。 在《小星星》Demo 中,当回忆温馨时,旋律是清脆的方波;当记忆中断时,旋律瞬间坍塌成刺耳的白噪音。音乐不是配角,它是叙事的主角。
horizontal linehorizontal line

2. 开发幕后:为了“极简”的“极繁”

horizontal linehorizontal line
为了呈现这一分钟的剧情,我们在幕后做了很多“看不见”的工作。
挑战一:纯白色的力量
我们曾纠结是否要给动作描写(Action Text)加上酷炫的颜色。但最终,我们选择了最朴素的白色(甚至后来改成了更低调的灰色)。 为什么? 因为在一段深沉的回忆中,花哨的颜色是噪音。我们希望玩家聚焦于内容本身。 为了让这行灰字不显单调,我们给它加上了极微小的 Shake (抖动) 动画。这种“看不清”但“感觉得到”的动效,恰恰传达出了一种冷静的张力。
挑战二:甚至连字体都在“演戏”
我们发现,如果系统字体加载慢了,开头的几行字会变成默认的宋体,那沉浸感瞬间就崩了。 为此,我们重写了字体加载逻辑。现在,每一段剧情启动前,系统都会确保那款充满复古像素感的 IPix 字体 已经就位。 文字的“长相”,和文字的内容一样重要。
挑战三:数据驱动的灵魂
为了让策划(和未来的玩家 Modder)能轻松写出这样的剧情,我们将所有演出代码剥离,做成了纯文本的配置:
"<wait t=2.0/><clear/><action>老陆将八音盒轻轻放在修复垫上...</action>"
只需简单的标签,就能指挥这复杂的演出。这意味着,未来你们也可以写出属于自己的“回响”。
horizontal linehorizontal line

3. 设计哲学:遗物回响 (Relic Echoes)

horizontal linehorizontal line
这引出了我们要聊的核心世界观设定——【遗物回响】
在《旧日代码》的世界里,每一个从废墟中带回的物品,都不是死物。它们浸染了前主人的执念、遗憾、爱或恨。 当你作为“修复师”修好它们时,你修好的不仅是齿轮和电路,更是链接到了那段断裂的时光
在 Demo 中,这只八音盒包含了一位下城区的父亲未能送出的生日礼物。 当你听到那段走调的《小星星》时,你获得的奖励不是金币,而是一个名为 【无法送出的星星】 的概念体(Epic Item)。
这就是我们想做的游戏:
这不仅是一款在废土中‘捡垃圾’的游戏,更是一场在废土中‘捡拾诗意’的旅程。
这就是我们一直在追寻的核心 —— 人文关怀
在这个破碎的世界里,我们不想歌颂宏大的英雄,只想注视那些微小的、被遗忘的‘人’。他们或许如尘埃般渺小,但每一个个体都曾闪耀过人性的光辉,都曾是某人生命中不可或缺的支柱
我们修复遗物,是为了证明: 即使在废土之上,他们也不该被遗忘
horizontal linehorizontal line

4. 下一步?

horizontal linehorizontal line
《小星星》只是一个开始。 我们的 Audio API 已经就绪,动态文本解析 已经完善。 接下来,我们将把这套情感引擎应用到更广阔的废土世界中。
你在游戏中捡到的每一块芯片,可能都藏着一段未被听到的哭声;每一把锈枪,都可能记录着一次绝望的背叛。
如果你也想听听这些“旧东西”的故事,请关注预约《旧日代码:遗物整理师》。 老陆的修理铺,随时欢迎有故事的人。
horizontal linehorizontal line
2026.01.20 -《旧日代码:遗物整理师》开发组
目标受众: 剧情党 / 独立游戏爱好者 / 开发者
核心标签: #叙事设计 #独立游戏 #情感引擎 #开发幕后
猜你想搜
旧日代码 遗物整理师 情感叙事引擎
1