设为首页收藏本站

塞爱维(CIV)文明联盟

 找回密码
 注册
楼主: Khyron

[原创] 文明游戏机制拾遗

[复制链接]
 楼主| 发表于 2009-6-3 16:01:09 | 显示全部楼层
原帖由 孟仲玄 于 2009-6-3 08:58 发表
但个人经验,守在城里的骑兵(不能防守)还是会受到群伤的吧


为什么提骑兵?
我写的东西里没有说骑兵不会受到群伤啊?
发表于 2009-6-3 16:22:28 | 显示全部楼层
给三毛或公主发短消息
发表于 2009-6-3 17:16:05 | 显示全部楼层
原帖由 Khyron 于 2009-6-3 16:01 发表


为什么提骑兵?
我写的东西里没有说骑兵不会受到群伤啊?

你说候选目标是“那些与防守单位同处一格的敌对, 非隐形, 且能防御的单位, 不包括防守者.” 但骑兵是不能防御的啊
 楼主| 发表于 2009-6-3 17:42:39 | 显示全部楼层
原帖由 孟仲玄 于 2009-6-3 17:16 发表

你说候选目标是“那些与防守单位同处一格的敌对, 非隐形, 且能防御的单位, 不包括防守者.” 但骑兵是不能防御的啊


首先谢谢.

看来我没有注意到此处的歧义性. 其实"能防御"和"能享受防御加成"不是一个概念, 在标准游戏中, "能防御"基本等同于"能战斗", 即基础战斗力量(Combat Strength)大于0.
发表于 2009-6-3 17:42:56 | 显示全部楼层

回复 #64 孟仲玄 的帖子

我估计不能防御指的是不能迎敌,而不是防御加成
 楼主| 发表于 2009-6-7 16:25:09 | 显示全部楼层

GNP计算公式(BTS3.17)

在INFO SCREEN(F9)中DEMOGRAPHICS下有一项关于GNP的统计,现简述其计算公式

对于一个玩家(player), 其GNP等于以下4项之和:
(1) 金钱净收入
(2) 科研总产出
(3) 文化总产出
(4) 谍报总产出

金钱/科研/文化/谍报总产出就是你所有城市的金钱/科技/文化/谍报产出之和
金钱净收入 = 金钱总产出 + 外交交易中每回合金钱收入 - 总支出(要计算通货膨胀)
换言之, 等于主界面左上角国库存量右方的当前的收入值(支出大于收入时, 则是负数).
科研, 文化, 谍报总产出则分别等于主界面左上角金钱净收入下方百分比右方的那3个增量.

科研净总产出 = floor((1 + 科研总产出) * (100 + 当前研究科技的隐性补正系数) / 100)
正是这个计算公式导致了GNP数值的飘忽不定.

科技的隐性补正的详细计算参见gowang的《你看不见的科技研发补正》

例:
以下2图, 除了所选研究科技不同外, 其它方面全部相同.
飞行

生物学

观察左上角, 可知
金钱净收入 = -273
科研总产出 = 915
文化总产出 = 551
谍报总产出 = 94

当研究飞行时, 由于飞行的2个前提科技都是必要前提科技, 其它AI都未掌握此科技, 所以飞行的隐性补正为:
0 + 0 = 0
因此此时
GNP = -273 + floor((1 + 915) * 100 / 100) + 551 + 94 = 1288

当研究生物学时, 由于其2个前提科技中有1个是选择前提科技, 其它6个AI中有5个掌握了此科技还有1个AI灭亡了, 所以生物学的隐性补正为:
20 + 30 * 5 / 6 = 45
因此此时
GNP = -273 + floor((1 + 915) * 145 / 100) + 551 + 94 = 1700

[ 本帖最后由 Khyron 于 2009-8-3 20:50 编辑 ]
 楼主| 发表于 2009-6-9 18:09:14 | 显示全部楼层

组队(Team)和玩家(Player)简介

文明4中
1个玩家对应于1个领袖, 1个国家
1个组队由若干个玩家组成

如果在游戏开始前没有刻意选择, 普通游戏中每个组队都只含有1个玩家.
如果开启了永久同盟选项, 游戏中2个组队若只含有1个玩家, 则可以结成同盟, 即2个组队将合并为1个组队, 合并后的组队拥有2个玩家.

注: 合并方式实际为1个组队下的玩家的组队标号改为另一家组队对应的标号.

有些东西, 处于同一组队的各个玩家是共享的, 比如: 科技, 战争/和平, 地图, 开放边境, 附庸国宗主国等等
有些东西, 处于同一组队的各个玩家不是共享的, 比如: 资源, 国库, 国教, 内政法令等等

而对于外交态度, 玩家级别的态度和组队级别的态度是不同的.
假设现有组队X, Y, Y有1个附庸组队Z; Y还有1个宗主国M
X,Y,Z,M的下属玩家分别是P1, ..., Pi; Q1, ...,Qj; R1, ..., Rk; S1, ..., Sn
用V(a,b)和A(a,b)表示玩家a对玩家b的玩家级别的态度值, 态度级别

P1对Q1的玩家级别的态度值, 态度级别, 即V(P1,Q1), A(P1,Q1); A(P1,Q1)等于我们在外交界面看到的态度级别, V(P1,Q1)和我们在外交界面看到的态度值差一个隐性修正值.
P1对Q1的组队级别的态度值, 即X对Y的态度值, 则是P1, ..., Pi对Q1, ...,Qj,R1, ..., Rk, S1, ..., Sn的态度值的算术平均.
P1对Q1的组队级别的态度级别, 即X对Y的态度级别, 则是P1, ..., Pi对Q1, ...,Qj,R1, ..., Rk, S1, ..., Sn的态度级别的算术平均.


比如i=2, j=2, k=1, n=1时,
X对Y的态度值 = floor( ( V(P1,Q1) + V(P1, Q2) + V(P1, R1) + V(P1, S1) + V(P2,Q1) + V(P2, Q2) + V(P2, R1) + V(P2, S1) ) / 8 )
X对Y的态度级别 = floor( ( A(P1,Q1) + A(P1, Q2) + A(P1, R1) + A(P1, S1) + A(P2,Q1) + A(P2, Q2) + A(P2, R1) + A(P2, S1) ) / 8 )

我们提到某个AI对我们的态度时, 由于普通游戏中基本上是1Player/1Team, 如果我们没有附庸国/宗主国, 这两个态度的数值是相等的.

附庸国有点像组队中的成员, 但又不是.

对于组队内共享的东西, 外交交易时用的是组队级别的态度级别, 而非共享的, 则用的是玩家级别的态度级别.
例如科技交易, 用的是组队级别的态度级别, 这就是为什么你和AI的关系都是亲密了, 有时仍无法绕过"We fear you are becoming too advanced", 因为你的附庸国和这个AI的关系不是亲密.

由于普通游戏中基本上是1Player/1Team, 组队玩家涵义不同造成的区别不是很明显, 但如果你想深入了解文明4, 一定要了解它们的差异.
发表于 2009-6-9 18:15:40 | 显示全部楼层
Khyron效率真是高啊~

好象删了之后前面的目录就会连接错误,算了,维持原样吧.

这贴真是镇坛宝贴啊

[ 本帖最后由 san_moshou 于 2009-6-9 18:50 编辑 ]
发表于 2009-6-9 19:30:30 | 显示全部楼层
这贴应该改授3级精华
发表于 2009-6-10 01:02:42 | 显示全部楼层
我虽然条件上可以给3级精华,但原则上不能给3级精华。

3级精华要孟大级别才可以定夺的
发表于 2009-6-10 01:07:43 | 显示全部楼层
主要是目前好像除了汉化包,其他没给过3级精华

3级精的具体规范还从未讨论过

[ 本帖最后由 孟仲玄 于 2009-6-10 01:09 编辑 ]
 楼主| 发表于 2009-6-10 02:52:09 | 显示全部楼层
多谢捧场.
但想都不用想, 根本不值.

虽然文章里面介绍了不少游戏机制, 基本上是细枝末节, 乍一看解释了很多秘密, 实际上呢用处并不大. 其实文章的名字就说明了问题, 只不过是拾遗而已.
发表于 2009-6-11 08:44:48 | 显示全部楼层

回复 #71 孟仲玄 的帖子


这帖子分开发,少说可以拿到近10篇精华
所以个人认为给个3级精华一点不过分
发表于 2009-6-11 08:45:49 | 显示全部楼层

回复 #72 Khyron 的帖子

对有心研究者帮助很多
毕竟文明历来就是个数据化的游戏
很多机理一旦明了,马上可以制定出非常有利的战术战略
发表于 2009-6-11 08:47:31 | 显示全部楼层

回复 #70 san_moshou 的帖子


谁说巡官就不可以发3级精华了?
给你管一个区,就是把相应的权力都交给了你。
总督只是辅助管理而已。
 楼主| 发表于 2009-6-11 19:21:12 | 显示全部楼层

回复 #75 西艾薇.Z.罗莉 的帖子

再一次表示感谢.

但这篇文章和造福大众的汉化包比, 实在不值一提. 如果真给我那么高的荣誉, 也是受之有愧, 心中不安.
所以不要再提了, 这方面的讨论到此为止吧.
发表于 2009-6-11 19:24:04 | 显示全部楼层
会授予一个大号的勋章的
 楼主| 发表于 2009-6-21 23:21:04 | 显示全部楼层

核武器小考(BTS3.19)

本文将介绍与核武器相关的某些机制, 主要从以下两方面讨论
1. 核武器的使用条件及效果
2. AI是如何使用核武器的

1. 核武器的使用条件及效果
核武器的作用距离: 在标准游戏中所有核武器的作用距离都是1
核武器的影响范围: 核武器投放到一个格子后, 影响范围是一个以这个格子为中心, 边长为1+2*作用距离的正方形. 换言之, 一个格子在核武器的影响范围内, 当且仅当其横坐标和纵坐标与投放地的横坐标和纵坐标的差值不超过核武器的作用距离. 游戏中所有核武器的影响范围都是3*3的正方形.

(1) 使用条件
核武器使用时, 其作用目标与普通作战单位不同, 不是单位而是是地图中的一个格子. 所以核武器的使用条件, 确切的讲是核武器在一个格子的使用条件.
对于一核武器, 它能够被投放到地图中的一个格子, 当且仅当这个格子满足以下条件:
a. 此核武器所在地与此格子的距离大于其作用距离;
b. 对于战术核武器, 它与此格子的距离要小于等于其射程;
c. 核武器投放到这个格子时, 受害组队全部都和此核武器的拥有者在作战.


核武器投放到一个格子时, 哪些组队是受害者呢? 有以下判断方法:
此核武器的拥有者不是受害者
一个组队, 如果它的领土在此核武器的影响范围内, 是受害者
一个组队, 如果它有非隐形且没有隐藏国籍的单位处于此核武器的影响范围内, 也是受害者


通俗地讲, 就是:
a. 发射地点不能在核爆半径内
b. 投放地在射程内
c. 不能故意波及第三方


(2) 使用效果
核武器发射后,
此核武器的拥有者开战自动向被波及的中立的受害组队宣战(其实这条是多余的, 因为若有中立方则不能向此处投放核武器).
从所有的受害组队中选出拦截能力最强的, 由这个组队来拦截此核武器.
如果拦截失败, 即核攻击成功, 影响有:
a. 产生相应的厌战和战争胜利指数
b. 产生相应的外交惩罚("You nuked us!"/"You nuked our friend!")
c. 在投放地产生核爆炸, 作用距离等于核武器的作用距离

注: "You nuked our friend!"产生需要关系不比谨慎差.

(3) 核爆炸
核爆炸产生后, 全球核爆炸计数加1.

对于核武器影响范围内所有的格子, 核爆炸的威力都是相同的, 爆炸中心和边缘没有区别.

当一个格子被核爆炸波及时, 这个格子上的设施, 地貌, 单位将受到影响; 如果这个格子还是城市, 此城市的建筑及人口也会受影响.
a. 设施, 地貌
如果此格子位于野外, 且不在海上和不可通过的山峰上, 将有50%的几率地貌变为辐射, 设施被毁.

b. 单位
对于此格子上的每一个不能免疫核攻击的单位, 其遭受的杀伤值为:
30 + [0,50)中一随机整数 + [0,50)中一随机整数
如果此格有防空洞(Bomb Shelters), 则上述值还须做相应修正
这个单位若有生命值, 即基础战斗力或空军战斗力大于0, 则生命值扣去相应数值, 如果生命值小于等于0, 则意味着在核爆中死亡了.
若没有生命值, 像传教士工人移民等单位, 如果上述杀伤值大于60, 则此单位被判定为死亡.

注: 标准游戏中唯一免疫核攻击的单位是ICBM.

c. 城市建筑
核爆炸中, 任何不能免疫核攻击的建筑有40%的几率损毁.
注: 宫殿, 地堡, 防空洞和所有世界奇迹都免疫核攻击; 其它建筑包括国家奇迹, 苏格兰场科学院军事学院都对核攻击不免疫.

d. 城市人口
核攻击对城市人口的杀伤值, 即城市在此核攻击中将失去的人口数量为:
城市人口 * (30 + [0,20)中一随机整数 + [0,20)中一随机整数) / 100
如果此格有防空洞(Bomb Shelters), 则上述值还须做相应修正
当然, 杀伤值不能超过城市人口 - 1, 即核攻击后城市至少还有一人口.

注: 核电站泄漏的效果等同于一个作用距离为1的核爆炸

[ 本帖最后由 Khyron 于 2009-6-21 23:28 编辑 ]

评分

1

查看全部评分

 楼主| 发表于 2009-6-21 23:22:05 | 显示全部楼层

核武器小考(BTS3.19)

2. AI是如何使用核武器的
对于战略核武器和战术核武器, AI的使用方法是不同的.

(1) 战略核武器
对于AI, 它使用ICBM的唯一障碍是外交关系, 只有它对你是愤怒时, 才会使用ICBM, 而且ICBM的投放地一定是城市.
至于到底扔到哪一座城市, 这里就不详细分析了, 有兴趣的可参见CvUnitAI::AI_nukeValue.

(2) 战术核武器
AI对战术核武器的使用则灵活的多, 不一定要扔到城市, 也没有关系门槛, 但有投放价值门槛.
只有地图中的某格的投放价值大于99, 且能向这格使用核弹时, 才会使用战术核武器. 使用时选择可投放且价值最高的格子投放.

假设地图中一格的投放价值, 即以此格为中心的核弹影响范围内的潜在杀伤目标的总价值, 按以下方法计算:
对于影响范围内每一个不能免疫核攻击的单位
如果是我方, -15
如果是敌方, 且非隐形, 如果在海上, +25, 如果在陆上, +12; 若这个单位生命值小于总生命值的一半, 则还要额外+25(海上)/+12(陆上)
如果是中立, 且非隐形, -20

对于影响范围内每一个格子, 先确定乘子M, 如果这个格子属于
敌方: 1
我方: -1
无主: 0
中立方: -10
如果此格子上有设施, +10*M
如果此格子上有资源, +20*M
如果此格子是城市, +max(0, (15*城市人口-20)*M)

以上各项价值总和为这一格的投放价值.


===================================

参考文献
[1]. CvUnit.cpp, CvUnit::nuke, Firaxis Games, Sid Meier's Civilization 4 Beyond the Sword v3.17, 2009
[2]. CvUnit.cpp, CvUnit::canNukeAt, Firaxis Games, Sid Meier's Civilization 4 Beyond the Sword v3.17, 2009
[3]. CvPlot.cpp, CvCity::nukeExplosion, Firaxis Games, Sid Meier's Civilization 4 Beyond the Sword v3.19, 2009
[4]. CvUnitAI.cpp, CvUnitAI::AI_ICBMMove, Firaxis Games, Sid Meier's Civilization 4 Beyond the Sword v3.17, 2009
[5]. GlobalDefines.xml, Firaxis Games, Sid Meier's Civilization 4 Beyond the Sword v3.17, 2009


附录: 核弹摧毁率简单统计

单位\核弹数量 1 2
无防空洞, 战斗单位, HP=100 17.4% (435/2500) 98.03% (6126590/6250000)
无防空洞, 非战斗单位 80.16% (2004/2500) 96.06% (6003984/6250000)
有防空洞, 战斗单位, HP=100 0% (0/2500 7.53% (470715/6250000)
有防空洞, 非战斗单位 1.12% (28/2500) 2.27% (139216/6250000)


由此可见, 防空洞对核攻击的防护值得信赖. 若无防空洞, 一个单位很难在2枚核弹的攻击下幸存; 若有了防空洞, 非战斗单位的存活率有了质的变化, 满血战斗单位也可抵抗2轮核攻击.

[ 本帖最后由 Khyron 于 2009-6-23 20:38 编辑 ]
发表于 2009-9-28 18:29:59 | 显示全部楼层

回复 #78 Khyron 的帖子

又更新了!

还没打过核战!受教!

支持!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|塞爱维(CIV)文明联盟    

GMT+8, 2024-3-28 23:45

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表