扩军投票计算流程详解
大航海家3吧
全部回复
仅看楼主
level 1
Saltius 楼主
计算公式从Patrician 3 Insights上看来的,但是原作者有个除数搞错了,我套用实际游戏存档试验发现对不上,自然后己试验出了的正确公式。
总投票数为22。
AI总票数要经过玩家数量和等级修正,具体修正方式为一个主席玩家减去3,每一个贵族玩家减去2,每一个议员玩家减去1(这里有考虑多人游戏的情况),但不管怎么减最小值为4。
不考虑多人且单人玩家为主席的情况下,AI总票数为19。
计算t值,t=512-203*当前军事单位上限+当前城镇人口
t小于100,AI赞成票=AI总票数/10,结果向下取整;
t大于等于100但小于等于920时,AI赞成票=AI总票数*t/1024,并向下取整;(Patrician 3 Insights原作者这里把除数搞错了,写成AI总票数*t/256)
t大于920时,AI赞成票=AI总票数*0.9,并向下取整。
AI反对票=AI总票数-AI赞成票
由于19*0.9向下取整为17,所以人口哪怕涨上天,AI赞成票最多也就17票,总会有2个AI反对票。
举例:单人游戏,玩家为主席,城镇人口4082且当前军事单位数20时,提议扩军:
AI总票数19,t=512-203*20+4082=534,19*534/1024=9.91 向下取整为9张AI赞成票,10张AI反对票,玩家以主席身份投3张赞成票以12比10通过提案。
此外,围城期间,t值计算公式中的当前城镇人口按实际人口的2倍计算,这就是围城时扩军提案一般都能通过的内在机制。
2025年09月25日 14点09分 1
level 1
Saltius 楼主
附根据上述公式计算的最小可扩军人口(该人口数下需要玩家提供主席的3票才能刚好通过提案)
当前单位数量|城镇人口
10|2004
20|4034
30|6064
40|8094
50|10124
60|12154
70|14184
80|16214
90|18244
100|20274
110|22304
120|24334
可以发现,吧里以前总结的增长2000人口扩10单位军队的法则,精细计算下来应该是2030人口对应10个单位。
2025年09月25日 14点09分 2
@Saltius 支持新研究,saltius兄弟,我是米歇尔剑版的作者,如有荣幸,加个好友,如果有需要,我研究了一些功能的地址,很希望兄台能派上用场,为大航海家3开辟更宽的修改领域[真棒]
2025年09月26日 09点09分
@伯牙子期欧冶子 已关注。但是QQ号加不了,上次吧主叫我加群,我发现自己QQ太久没上已经被回收了。囧
2025年09月26日 16点09分
@伯牙子期欧冶子 另外,我现在主要是搬运国外P3玩家的研究成果,一个翻译,一个是修正他们原始研究里的错误(比如本帖公式里的错误),还有一个是找他们基于GOG版修正对应的中文版的修改地址(比如新城物产的那个帖子)。
2025年09月26日 16点09分
@伯牙子期欧冶子 另外,英文好的话你也可以去翻翻老外那个patrician 3 insights网站,有不少收获的。
2025年09月26日 16点09分
level 11
支持更多的研究[大拇指]
2025年09月25日 15点09分 3
吧务
level 12
支持更多的研究[大拇指]
2025年09月26日 00点09分 4
level 13
大佬解决下转行会切断汉字编码的问题,貌似繁体版就没有这种问题
2025年09月26日 14点09分 5
1