[CK3 ] 开发日志#188(普天之下) 下 音效、模组

楼主: shirman (幼稚小鬼)   2025-10-25 20:51:38
嗨,大家好!欢迎回到另一篇开发日志,这次的主题是音效。
所谓音效并不仅仅是音乐,正如你将看到的,它还包含音效设计、环境声音、互动反馈,甚至是支撑这些声音背后的系统。
今天我们将从这些层面一一介绍。
我是本次扩充的音效设计师 Leon Lopez Moral,
与我的同事 Robert Wozniak 一起,我们将向大家展示为《普天之下》所做的音效工作。
声音如何带你前往另一个世界
声音具有将人带往他处的力量,它能唤起时间、空间与历史的感受。
但我们是如何做到这一点的呢?
答案是:大量的研究。
而所谓“大量”,我们是认真的。
我们研究了使用了哪些金属、不同地景会发出怎样的声音、该如何让音效与插图相互呼应,以及文化本身在其中扮演的角色。
这次,我们必须理解各个文化之间的差异,并透过声音让它们清楚可辨。
想想日本封建时代仪式开始时敲响的拍子木(hyōshigi),或是僧侣的诵经声、各式各样的钟声。
每一种钟、每一面锣都有其独特的意义。
我们不能只满足于电影中常听到的那种“典型锣声”——
虽然那声音很有气势,但真实世界中的锣种类与用途远比那丰富得多。
从想像中国帝国厨房的声音开始:
陶锅在明火上咕噜作响,木板上传来切菜的节奏声,到乡间大道上十字路口客栈的喧嚣人声,我们致力于让每一个环境音都忠实于画面,同时充满生命力。
远处交错的谈话声与酒杯的碰撞、屋外传来马匹的嘶鸣、风掠过木窗时的颤响……
每一个元素都经过精心安排,让你即使闭上眼,也能清楚感觉自己身在何处。
正如以往一样,我们的目标不只是让你“看见”CK3 的世界,而是能听见并感受到它。
当声音成为仪式:从利刃到青铜
但音效并不仅止于环境——它同样关乎故事。
在一个国家的历史中,总有一些关键时刻需要透过声音来叙述,
王朝的巩固、腐败的蔓延、或是盛世的安定,
音效成为传达这些叙事的媒介。
这与我们所谓的“朝代循环(Dynasty Cycle)”密切相关——权力的兴起、衰落与再生。
有些时刻原本就带有强烈的视觉象征:
街头的群众游行、抗议者手中闪烁的火炬,或是当腐败蔓延时,君王宫廷中压抑的静默。
我们将这些影像转化为声音:
远方的锁链轻响、象征压迫的金属叮当声、在艰苦中压抑低沉的喃喃声
每个音符都在强化故事的氛围。
甚至沉默本身,也成为我们最强大的工具之一:
它能放大动乱前的紧张、表现暴政的窒息感,或凸显统治者权威下的无声压力。
对我们而言,最具挑战的莫过于再现幕府时代。
日本的历史充满象征与仪式意涵。
以将军就任的仪典为例,那一个缓慢而精准的拔刀动作,象征著权威与庄严。
我们希望以声音捕捉这一刻:
武士刀被缓缓拔出的瞬间,钢铁切破寂静的清脆共鸣,干净而直接,却蕴含着数百年的传统
一声凝聚权力、敬意与历史重量的回响。
不仅如此,我们也深入研究了中国各类锣的世界。
每一面锣都有独特的音高、共鸣与仪式用途。
从寺庙中低沉而威严的开仪之声,到宣告命令时清亮而锐利的击点,
我们都尽力还原不只是乐器本身,更是它背后的文化意义。
当这些声音在正确的情境中响起,它们本身就成为一段叙事。
强调音(Stingers)——以乐诉说故事
强调音虽短,却能讲述故事。
在日本主题的内容中,我们不再使用后世才出现的三味线,而是回溯到当时真实存在的乐器,
如太鼓(当时主要用于军事号令与行军,而非后来的表演太鼓),
以及典雅庄重的宫廷音乐传统——雅乐(Gagaku)。


雅乐(Gagaku)
雅乐是日本现存最古老的宫廷管弦乐,由吹奏、弦乐与打击乐共同演出。
它以静谧、悠远的旋律与庄严的节奏为特征,
常使用的乐器包括筚篥(hichiriki,双簧管)、龙笛(ryūteki,横笛)与笙(shō,簧管)。
配合柔和的鼓与弦乐,雅乐唤起一种深沉的庄重感、仪式感与古老贵族气息。
我们在游戏音效中融入了受雅乐启发的强调音(stingers),
每一次短促的和弦或乐句都承载着日本帝室的优雅与权威,让传统的深度与文化的厚度得以在声音中重现。
那么,我们又是如何让这种历史悠久的音乐在游戏里听起来真实呢?
答案很简单:我们拥有一支专门的音乐团队。
他们深入研究雅乐的乐器、演奏技巧与录音方式,蒐集历史资料、分析演奏风格,
并重现每一件乐器独特的音色与质感。
说到这里,也该把舞台交给我们的音乐团队,
让他们亲自告诉你,这些构想是如何转化为游戏中的音乐。
音乐(Music)
大家好,我是《十字军之王 III》的音效总监 Ernesto Lopez。
我知道大家对历代扩充的音乐都十分喜爱,
而这一次,我们为了满足各位的期待,几乎把能做的都做到了极致。
今天就让我带你一窥《普天之下》的音乐制作幕后,
看看我们如何在 CK3 的音乐风格中,捕捉东亚的精神、规模与多样性。
构筑统一的声音景观(Crafting a Cohesive Soundscape)
这次的音乐制作,我们希望创造出既多变又统一的听觉体验。
我们录制了两组主要内容:
一组涵盖广泛的东亚文化影响,另一组则聚焦于中国帝制时期的传统音乐。
两者并行开发,确保能互相补充,
在广度与深度之间取得平衡,构成完整而流畅的音乐体验。
最终成果包含超过 65 分钟的完整录制音乐,共 22 首独立曲目,
其中还包括经重新演绎的主题曲〈The Dynasty(王朝)〉。
你将听到多种传统乐器,如古筝、二胡、筝、尺八、琵琶、古琴与太鼓等,
这些演奏皆在保持 CK3 管弦乐风格的同时,忠实呈现各自的文化音色。
每一首乐曲都为玩家的旅程而作
无论是置身中国宫廷的权谋漩涡、率军征战草原、沿丝绸之路贸易、或静坐于宫苑池畔思索人生,
这些音乐都将伴随并衬托你的体验。
我们迫不及待想让你亲耳聆听这些乐曲。《普天之下》将于 10 月 28 日 发售,
现在先送上几段音乐节选,作为前奏与邀请。
https://reurl.cc/gYg6ZV
https://reurl.cc/XQORED
https://reurl.cc/4NkdoR
https://reurl.cc/WOeNGk
https://reurl.cc/Nx5l0q
模组制作(Modding)
女士们、先生们!无赖与恶棍!贵族与骑士!欢迎来到 JonZone——让我们共同向最伟大的玩家致敬。
那种看着一张几乎拥有无限可能的地图,却仍说出:“我要让它变得更无限”的玩家。
亲爱的模组作者,梦想的实现者、也让我们开发团队头疼的天才——
这一篇,就是献给你的。
今天,我们要揭开幕后帷幕,展示几项将随《普天之下》登场的脚本与模组新玩具!
对脚本编写者与模组作者的第一项改进,
是我们全新的“图像单位类型(Graphical Unit Types)”系统。
想像一下这样的情境:
你在 867 年扮演安达卢西亚的苏丹穆罕默德·伊本·阿卜杜·拉赫曼,拼命抵抗基督徒的进攻。
你打开军事接口——看到你的法里斯(Fāris)图示是这样的。


(译注:以防你CK3还玩得不够熟,法里斯 就是 马什里克 文化下的骑士名称。啊?你说 马什里克 又是啥…就是中东伊斯兰的主要种族)
这些问题或许称不上是那种会“毁掉游戏体验”的大型 Bug,
但它们积少成多,会逐渐破坏我们希望带给玩家的沉浸感。
因此,我们想看看能否以最有效率的方式改进这部分,
而我相信,全新的“图像单位类型”系统正是解答。
借由这个系统,我们可以在各种接口中轻松替换这些单位插图。
在程式码中,我们原本已经有许多地方能将 3D 模型绑定到特定的 unit_gfx。
现在透过这个新系统,我们能直接借由调整 unit_gfx,
并在新的档案 00_graphical_unit_types.txt 中加入对应条目,
让骑士与征召兵(levies)的插图自动切换成正确样式。
如此一来,就能确保画面上显示的插图,
与实际单位的外观始终保持一致。




这样一来,我们的法里斯(Fāris)看起来就端正多了。


而且这个系统可以套用到各种模型!
觉得北欧的征召兵(levies)长久以来少了点“冰霜挑染发尖”或“木棒猛男风”的特色吗?没问题。
只要制作一张新的 .dds 图像,
并将它放进 gfx\interface\illustrations\graphical_unit_types\ 资料夹中,
使用对应的名称即可。


(译注:我想这边的意思是,以后你可以把自己手工的图片加入到模组里。
而不是系统会自己帮你替换掉武器,虽然我也希望P社的代码有那么强啦…)
这些变更同样会反映在战斗画面等处,真实呈现你的文化特征。
再也不会出现那种“西方十字军对西方十字军”的战报了——
即使你其实是在争夺印度河流域的控制权。
我想介绍的第二项改进,是针对热衷于脚本与模组创作的玩家,
在“创新”与“文化专注”方面新增的工具。
首先,创新现在终于可以作为“独立作用范围(scope)”来使用。
同时,我们也解锁了以下几个可供自由运用的指令效果:
一般创新通用指令:
add_innovation_progress
为任意创新增加 X% 的研发进度。
可直接指定固定值,或传入已保存的 innovation 范围。
add_innovation_progress_time
为任意创新增加 X 个月的研发时间。
同样可直接指定,或传入已保存的 innovation 范围。
===========================
文化间创新传播:
add_spread_progress
为当前创新的传播进度增加 X%。
add_spread_progress_time
为当前创新的传播进度增加 X 个月时间。
===========================
文化专注(fascination):
add_fascination_progress
为当前文化专注增加 X% 的进度。
add_fascination_progress_time
为当前文化专注增加 X 个月时间。
===========================
额外的文化专注功能:
set_bonus_fascination_innovation
将目前的额外文化专注设定为指定创新。
可以直接指定,也可传入已保存的 innovation 范围。
remove_bonus_fascination_innovation
顾名思义,用于移除当前的额外文化专注。
===========================
以上所有指令皆可接受scripted values(脚本数值),
方便模组作者灵活运用,实现各种创意构想。
我们也清楚模组作者多么希望能更精确控制 AI,因此持续努力开放更多相关设定。
这次在文化创新部分,我们新增了以下 AI 权重参数:
ai_weight_for_spread
AI 选择此项创新向其他文化传播的倾向。
ai_weight_for_fascination
AI 选择此项创新作为当前文化专注的倾向。
举例来说,若某位文化领袖受过军事教育,
他可能会对选择与攻城武器相关的军事创新具有更高的权重。


创新也与图像单位类型相同,现在可以透过一套新的资产系统,让其名称与图示依据文化而改变:


各种政府形态这次也获得了一些有趣的新功能!
是否曾想过制作一个洛夫克拉夫特风格的超级神权政府,
让角色能在信仰等级中无止境晋升,但名声等级却永远被限制在仅有两级?
没问题。
只要在该政府类型的设定中加入以下脚本即可:


若未指定任何内容,系统就会自动回退至 00_define.txt 中设定的默认值。
透过这些动态数值,我们为创作开启了更多可能性。
为了让你能发挥最大的创意,我们还新增了可用的修正项(modifiers),
能进一步提升统治者的各项上限,
例如:character_max_piety_level_add。


目前,我们主要将这些功能用在新的曼荼罗政府制,并搭配各种宗教类修正项。
不过天地广阔,依然任你们大展身手。
我们一如既往地期待模组作者以连我们自己都想不到的方式,去弯曲甚至打破游戏的限制。
也许在爱尔兰的鲑鱼变形者能够攀上前所未有的更高名望等级,
或者半兽人的名望等级会依其武勇而被限制在某个等级。
我个人非常期待你们带给我惊喜。


政府现在也可以透过 mechanic_type 字段指定其所属的政府家族。
这会让游戏在程式层面把你的自订政府视为另一个政府类型。
这对于新自订模组政府特别有用,因为它们无法像内部设计师那样直接存取程式码。
若你想建立一种新的牧养型政府,用来“放牧”某种活体蘑菇,只要像这样设定 mechanic_type 即可:


如此一来,程式就会将你的自订政府视为一种牧民政府(herder government)。
目前可用的政府机制类型(mechanic_type)如下:
*feudal
*mercenary
*holy_order
*clan
*theocracy
*administrative
*landless_adventurer
*herder
*nomad
*mandala
此外,我们也新增了几个 ai_values,用来帮助调整 AI 在不同政府形态下的行为倾向。
例如,封建领主(feudal ruler)倾向建立庞大的个人领地,
而行政型统治者(administrative ruler)则更偏好让更多独立统治者分别管理整个国家。


对于行政制国家,我们也加入了一项全新的功能:
appointment_trait_flag 与 appointment_trait_override。
这些属性现在属于“附庸契约义务(subject contract obligation)”的一部分(可以想成行政制度中的任命体系)。
在《普天之下》中,这项机制主要用于将天朝政府的功绩资源池(merit pools)区分为文职与军职两类,取决于角色的教育背景。
但理论上,你可以让它做任何事。
也许你想创造一种只有身高很高的人才有资格担任统治者的政府,并为“巨人”设定专属的功绩资源池
我们非常期待看到你会怎么发挥这套系统。
接下来这部分虽然对玩家来说不那么显眼,但对模组制作者而言可说是非常令人兴奋的功能。
想像一下,你正在制作一个模组,
要为各种文化新增大量具特色的内阁职位(council positions),
它们的运作方式与游戏本体相同,
但你希望能针对不同文化或政府,提供独特的描述与风味。
比方说,你想新增一个揉合首相(chancellor)与宫廷牧师(realm priest)功能的内阁职位,叫做“高等法官”(high court judge)
并让他同时执行原版职位的任务,但带有新的文字描述。
你可以直接复制现有的内阁任务(代码)。
被复制的任务功能会与原本完全相同,但你可以自由修改文字与叙述。
举例来说,如果你希望新的高等法官能像宫廷牧师一样伪造宣称(fabricate claims),
但有不同的叙述方式,
只需复制 task_fabricate_claim,再为它改个名字即可。


砰!完全不同!这就像是一款全新的游戏。
虽然这些变化可能不是玩家第一眼就能察觉的东西,
但对有志于创作模组的作者而言,绝对是不可或缺的工具。
你可能会问:“但是 JonZone!有没有针对建筑被停用时分开的修正系统呢?”
非常巧,因为我正要宣布这项功能——
建筑停用时的独立修正项(separate modifiers when a building is disabled)。
举个例子,假设你制作了一个以飞天意大利面神(The Flying Spaghetti Monster)为主的新宗教模组,
并建造了一座以花岗岩与大理石打造的巨大“卡邦尼拉大教堂”。
这无疑是任何文化或宗教都会惊叹的奇观。
现在,你可以让该建筑即使在“未启用”的情况下仍提供特定效果。
也许它仍能为占领者带来威望(prestige),甚至增加恐惧(dread)。
或是当建筑停用时反而持续消耗金钱。
透过新的“独立修正项”系统,这一切都能自由设定。
你可以为“信奉意大利面宗教”的角色设定一组修正,
再为“未启用”状态设定另一组修正。
这只是小小的改动,却带来了巨大的创作弹性与可能性。
接下来要谈的,是一项可能需要更自然过渡的功能:
SituationSubRegions 与 SituationParticipantGroups 现在支援储存变量(saved variables)。
像“大草原局势(Great Steppe)”与“朝代循环(Dynastic Cycle)”这样的情境系统,
对模组作者来说潜力无穷。
“局势(Situation)”可以用来构筑特定区域发生的事件,
也能发展成会蔓延、会变化、甚至能吞没整个世界的动态剧情。
那么,情境究竟该长什么样?
答案很简单:没有规则。
这正是我们希望模组作者能尽情发挥创意的部分。
而现在,你可以透过储存自订脚本变量,
让这些“情境”变得更加灵活与复杂。
最后,我想再次提到在“效能开发日志”中介绍过的一个极佳脚本工具:
分级 AI 行动频率(tiered AI frequency)。
我知道各位玩家通常不喜欢限制 AI 的行动,
但也同样讨厌当游戏模拟表现未达预期时的卡顿或延迟。
这始终是一个微妙的平衡,
而且会随模组内容与硬件效能而不同。
因此,我们开放这项工具,让你能自行调整 AI 的行动频率,
以便根据自己的模组内容与设备配置,找到最佳效能平衡。


透过这项行动频率系统,你可以确保只有特定阶层的 AI 统治者会使用某些互动!
或者,你也能减少游戏检查 AI 是否能执行某项互动的次数。
举例来说,假设你制作了一个极其复杂的“超级决议”,
让角色能成为“凤凰之王子”并以己之名重塑世界——
这项决议理论上可以让许多人使用,但仅限于霸主或皇帝阶层。
现在,透过这项功能,你可以轻松地将他们归入正确的范畴中。
最后还有一点要提到:
在我们努力重构并优化互动系统的过程中,
决定弃用一项属性“ ai_potential”,并建议大家改用“ is_available”。
新的 is_available 属性可同时处理玩家与 AI 的互动逻辑,
理论上也能减少重复程式码或脚本段落。
当然,我们并未移除 ai_potential 的功能,它仍会如往常运作
毕竟我们不想破坏现有的模组。
但若你正在开发新互动或检查旧脚本,
这会是个很好的机会清理多余的重复程式码。
以上便是《普天之下》为脚本爱好者准备的全新体验!
我相信还有许多细节未能在此一一提及,
但诚挚邀请各位在游戏推出后亲自探索这些新功能。
敬模组作者!敬脚本设计师!敬所有的你们!
成就
在本篇开发日志的尾声,让我们来谈谈成就吧!
一如既往,我们在设计成就时,会尽量涵盖本次资料片的主要游玩路线。
无论你选择在中国、日本或东南亚展开游戏,都能找到丰富又有趣的挑战。
这次我们也特别照顾了喜爱 海斯泰因 的玩家(没错,我们看过那些专门讨论这位角色通关路线的帖子)。
(译注:俗称海爷)
因此,如果你想成为朋友圈中第一个解锁《普天之下》全部成就的人,
就请仔细阅读以下清单,开始规划你的游玩路线吧。
也欢迎在留言中告诉我们,你认为哪种游玩方式最适合一次完成多项成就!
(译注:我在其他文已经贴过翻译了,这边就简单贴个图)
非常简单


简单


中等


困难


非常困难
图20

这就是本周的全部内容!
对我们团队而言,让《普天之下》诞生是一项极为庞大而精彩的挑战,
而现在,我们无比兴奋地期待着——
终于能在下周,将这份心血呈现到你们手中。
(译注:我也可以休息一段时间了)

Links booklink

Contact Us: admin [ a t ] ucptt.com