首页所有页面

优化

Optimization 是一套机制和技术,确保游戏性能在百年后依然可接受。

游戏性能主要取决于存活角色数量、事件处理对象,以及这些内容需要保存在存档文件中。[1] 角色数量本身与省份数量密切相关。 但值得注意的是,宫廷只为男爵以上的角色生成(贵族除外),因此增加男爵对表现的影响远小于增加数量。

Pruning

Pruning 是移除不重要的角色,以确保宫廷成员数量合理,游戏表现因事件和决策而可接受。

它平衡了用来填充宫廷的随机角色生成,因为角色可能不会像新角色生成那样自然死亡。

Pruned characters are killed with death reason death_vanished, aka "vanished without a trace".

Pruning is controlled by:

  • NDefines.NEngine.COURT_PRUNE_SIZE = 10:比这更大的球场每月都会检查修剪情况
  • NDefines.NEngine.HEALTH_IMMUNITY_TO_PRUNING = 7:如果角色有那么多生命值,他们就不会被修剪
  • NDefines.NEngine.PRUNE_MINIMAL_AGE = 40
  • 拥有小头衔、朋友、情人、妃子或竞争对手的朝臣被排除在外
  • Immortal characters are excluded
  • 玩家标记为特殊兴趣的角色将被排除在外。

还有一种相关的脚本触发器,用于一些大规模疾病事件:

is_unimportant_trigger = {

	NOR = {

		is_married = yes

		is_landed = yes

		has_job_title = yes

		has_minor_title = yes

		AND = {

			NOT = { dynasty = none }

			num_of_dynasty_members = 2

		}

		any_lover = { ai = no }

		any_close_relative = { ai = no }

		any_friend = { ai = no }

		any_rival = { ai = no }

		any_consort = { ai = no }

		num_of_claims = 1

		has_character_flag = eternal_life_mystic

		trait = horse

		has_character_modifier = in_seclusion

		immortal = yes

	}

}

注意,修剪的另一个触发因素是继承头衔:不是将旧所有权威的权力移至新持有者的权威,而是对部分权威进行剪枝。

Due to a different behavior,[2] these characters die of death_natural 理性和上述一些检定(不朽等)被绕过了。

Health Penalty

所有不重要的角色(见上文)根据球场大小会受到生命值惩罚。

Court Size Health Penalty
0..9 -1 Health
10..19 -1.5 Health
20..29 -2 Health
30+ -3 Health

球场大小是硬编码的,但健康罚则由参数控制

Fertility Penalty

减少角色可拥有的子女数量。只要法院内至少有30人,任何没有近亲亲属的人都会受到影响。 管理 NDefines.NCharacter.COURT_SIZE_CHILD_PENALTY_THRESHOLD parameter.

Save compression



Script optimizations



References

相关页面 (1)

Health