旧梦失词
频道主
【旧梦精读】草原与东方dlc将引入局势机制 十字军之王3 #168
欢迎收看旧梦的CK日志全文精读系列,我将会介绍日志并提出相关猜想、新旧内容对比与历史背景科普。 
同时为了复用契约列表和适配政府以外的机制,我们还新增了臣属契约组数据库,不仅包含常规条款,还可配置继承规则和地图显示参数。
朝贡者与封臣的都使用契约系统。但是,成为封臣会自动应用政府类型契约,而朝贡者则是由脚本手动建立。
而AI每年有概率通过“cease_paying_tribute_interaction”中“ai_will_do”脱离宗主,具体权重如图所示。
当计算值超过阈值时角色将处于忠顺状态。目标优先级为:实际领主、宗主、雇主、法理领主、最后是无。






草原被分为西中东三个区域。如果给中原划分的话,不知道是按照气候划分为四到五个区域。还是按照民族划分,毕竟不管是唐朝还是宋朝,周边的少数民族政权都比较强势。欢迎大家分享分享自己的看法。
2.阶段
而阶段则通过以下四种方式过渡。
(3)持续时间接管
除了局势系统,还有一些其他图形功能。我们还添加了地图省份效果 - 一种根据子区域当前的局势阶段在地图上应用effect的方法。
咸海以北常规地形
全强度夏季
全强度下雪
全强度干旱
游戏规则允许在世界不同地区启用额外的局势,并且迁徙将在这些区域内独立发生。
迁徙范围受迁徙距离,并有modifier来延长或缩短。这允许你控制不同的 AI 行为,将某些统治者设置为更加自由,对其他统治者施加更严格的迁徙限制。
住所继承现在完全由特殊头衔的继承控制。头衔可以在一段时间内没有持有者,并在有了新的持有者时回到游戏中。因此,不在会出现因意外的继承而导致住所正在建造的建筑被摧毁。
当统治者拥有多个带有住所的特殊头衔时,只有与其政府类型相匹配的一个住所会处于生效状态,但这在原版游戏中通常不会发生。
牧民有点特殊,因为他们还会补充伯爵领肥力。
每月肥力变化比通常系统更复杂。增减的调整是为了更好地模拟牧群吃草消耗牧场,总体变化通常会稳定在某个较低的数字,且这取决于领地大小等因素。
伯爵领肥力增长按此函数变化:
伯爵领肥力减少按此函数变化:
理论上,这两条曲线的交点就是游戏中给定伯爵领的均衡点。伯爵领肥力将始终趋向于均衡。然而,有一个“推动”决定了均衡对增减间差异有多敏感。
考虑到这些方程都很复杂,我们选择了一种更简单的方法来计算要在用户界面中显示的均衡点,即使用小角度近似sin(x) ≈ x :
值得注意的是,所有这些后台数学运算主要包含在我们在每月变化细则中称为“Current County Fertility Modifier”的内容中。此数字是计算的结果,也是引导伯爵领肥力趋向均衡的因素。

此外,还有一个定义来控制角色根据其牧群获得多少金币收入。每个月,牧群都会根据直辖领地的牧群增长以及封臣/朝贡者的贡献而增加。从直辖领地获得的牧群等于该伯爵领当前肥力乘。 





恫吓意图会使劫掠军队携战利品而归时增加威望和恐惧值,但会降低60%劫掠速度。
视频版:
本期我们将会精读第168期开发日志——可汗代码。
朝贡者
草原汗王更新的宗主和朝贡者设定类似于领主和封臣。在新dlc中,以往由各项条款组合成的封臣契约。改名为臣属契约。
忠顺
使用“忠顺”规则的政体,不管是角色、领主、宗主还是雇主涉及该规则时,都会启用忠顺。成为忠顺状态所需的阈值和忠顺实际值均通过脚本计算:
部落联盟
部落联盟是小规模独立统治者组成的防御性同盟。若联盟成员少于两个将自动解散。
局势
我们开发了支持动态区域玩法的新基础系统——局势系统,可作为构建各类系统的基础。无论是类似“斗争”的社会政治系统,还是“大草原”环境系统,亦或自然灾害等临时效果。
局势系统可视为斗争系统的进化版,在保持原有功能基础上增强了动态性和扩展性。支持迁徙机制那种C++代码扩展。
草原汗王dlc与溥天之下dlc都会使用局势系统,并且为本体的一部分,因此无需dlc也可以供modder使用。
关于东亚的斗争,吧友早在3月份就讨论过了,大致讨论了宋金夏之间的斗争,吧友认为很可能会做成伊比利亚那种,以及日本源赖朝和平清盛之间的冲突,也就是武家崛起的主题。但我个人感觉应该会比伊比利亚和伊朗间奏曲会有趣一些,看了下文对于局势介绍就知道了。
局势有着以下几种设定:
1.子区域
局势类型由若干地理子区域组成。子区域数量固定,但每个子区域的地理面积在游戏运行时都可随时增减。比方说大草原的西、中、东三个部分。
每种局势类型都有一组阶段,可通过各种机制从一个阶段过渡到另一个阶段。
(1)最大持续时间
当达到了设定的最大持续时间,则通过积累的点数、规则或随机等方式来判定下个阶段为什么。比方说大草原的季节进度就按此过渡的。
(2)点数接管
当未来某一阶段已经积累了足够的点数来“接管”当前阶段。与斗争类似,可以通过诱因将点数添加到特定的未来阶段。
未来某个阶段已达到特定持续时间。这将停止当前阶段,并取代之。可当作一个更可预测的点数接管阶段。
(4)脚本切换
这个方式既可以直接切换阶段,还可以直接切换成未生效的未来阶段。
每个子区域有独立的生效中阶段和阶段进度,但可能的阶段,定义局势等级。同时,我们和模组作者也可以在一个局势下实现多个阶段的“循环”!
此外,参与者分组归纳了局势内的所有角色,且游戏内为动态的,角色可以加入或离开分组。
默认局势下,判定角色属于哪个组,包含相关子区域地理区域内的所有统治者,但脚本也可以手动增删候选人。比方说可以将教宗添加到大草原中。
对于每个子区域,所有被判定的角色都会被检查,并将被添加到首个对其有效的组。对任何组都无效的角色,就不在局势中。
每个子区域都有1组预定义的参与者组,且在每个子区域内,角色只能属于参与一个或不参与分组。
在任何子区域中的某个阶段结束时,若没有新的阶段,那么局势就会自动结束。
此外还有动态子区域创建。在定义了某种局势类型后,可通过history defines或脚本effect将其添加到世界中。也可以在开始某局势时时定义一组新的子区域。在多个位置能实例化相同的局势类型。
----------
----------
----------
总而言之,局势系统是一个构建块,允许游戏功能使用其所需的内容,并调整其所想要的内容,通常不需要新的C++代码。
迁徙
游牧制的迁徙是局势系统的扩展——局势类型可以设置支持迁徙,为特定局势覆盖的地图区域中的玩家和AI启用额外机制。
当修改自己的支持迁徙的局势时,请注意这些局势不应重叠。
迁徙后土地的实际转移取决于脚本。
另一方面,“ai_will_do”用于在AI在迁移时对最佳目标地进行评分。此互动会从代码中获取大量额外数据,因此评分可以更加细致入微。额外范围包括迁徙目标、敌对迁徙时的所有潜在敌人、目标土地肥力、所有防御者及其盟友的总军事力量——所有这些都允许优先考虑不同的目标,平衡风险和收益。
敌对迁徙则使用一个名为迁徙的特殊宣战理由。
住所
住所现在不再归个人所有,而归特殊的无地头衔所有。冒险者有营地头衔,无地贵族有世族头衔,游牧有游牧营地头衔。
肥力
肥力是在伯爵领级计算的数值。每个处于迁徙状态的,或其持有者的政府类型有uses_county_fertility政府规则的伯爵领,都会计算伯爵领肥力,并显示在用户界面中。
牧群
牧群是存储在角色住所中的资源。每个住所都有“当前牧群”和“最大牧群”两个值。
除此之外,还有一个基本牧群转化率,其决定了组建军队时牧群变为游牧骑手的转化率。
劫掠意图
借助劫掠意图,劫掠获得了一定的可定制性。这可以改变带回战利品时所收到的东西,并以某种方式修改劫掠军队。
角色生成模板
现在可为每个政府类型指定一个脚本角色模板。当在代码中为该政府类型自动生成新角色时,将使用此模板。
大草原上此模板常用,用于迁徙并将旧直辖留给牧民时。因此,每当开始迁移时,接管旧直辖的牧民会按上述模板生成。
骨架更新
角色骨架在此版本更新,添加了新的袖子、裙子和斗篷关节,以帮助提高服装的动画保真度。
我们之前制作的服装的外观和动作应该与以前基本相同,而新的动画和服装将能够独立于身体做出更多动作。这将使我们能够根据奇怪的姿势或快速移动来模拟更好的动作。
战斗
除了一些新的脚本effect。我们还添加了一个新的“失败”地图军事单位动画状态,当单位在战斗后被击败时设置,允许一些很酷的额外动画。
下期预告
以上就是本期日志的所有内容。下周我们将会介绍新dlc的美术与音乐。
翻译整理不易,你的三连关注就是旧梦坚持继续更新精读日志的最大动力,感谢大家支持!
Q&A
Q:一个角色可以参加多个局势嘛?
A:可以的。
- 下载图片
- 复制图片
2025-04-10
浏览62
CK3日志
登录后评论
点赞
评论
分享