标题: 三国志9威力加强版的设计公式和优化方法
性别:未知-离线 优化伴侣


Rank: 7Rank: 7Rank: 7Rank: 7
组别 羽林都尉
级别 讨逆将军
功绩 121
帖子 606
精华 6 点
现金 18532 通宝
编号 352334
注册 2009-12-27


发表于 2011-3-7 23:31 资料 文集 短消息 只看该作者
三国志9威力加强版的设计公式和优化方法

三国志9威力加强版的设计公式和优化方法



                                                                                                                       

作者:优化伴侣



    本文介绍三国志9威力加强版中的设计公式,同时给出“高难度优化伴侣”对部分设计公式的优化方法。rangzh的《SanIX 程序分析》一文对游戏的设计公式也做了详细分析,推荐大家将两文参照阅读,以获得更加全面的认识。

    对公式中的名称和语法作以下规范:
        1)对于任务,任务执行方称为“源”,任务目标方称为“目标”
           比如,源武将=执行武将,源势力=执行武将的所属势力,目标君主=任务目标的所属君主,等等
           对于战斗,进攻方称为“源”,防守方称为“目标”
        2)都设=都市/设施
        3)采用c语言的语法规范
           if (a) b else c : 如果满足条件a, 则执行语句b,否则执行语句c
           a ? b : c : 如果满足条件a,则取表达式b的值,否则取表达式c的值
        4)特殊函数
           min(a,b)=a和b中的最小值,max(a,b)=a和b中的最大值,sqrt(a)=a的平方根

    游戏设计公式
    --------------------------------------------------------------------------------

    0.武将执行力S
        设 a=统率/武力/智力/政治,则S分别称为“执行统率/执行武力/执行智力/执行政治”
        if (a<60) S = a*2/3
        if (60<a<80) S = a-20
        if (a>80) S = 2*a - 100

    1.军师判断力P
        设 a=军师智力
        if (a<70) P=60
        if (70<a<80) P = a-10
        if (a>80) P = 2*a - 90

        ********************* 优化方法 *********************
        if (80<a<90) P = 2*a - 90
        if (a>90) P=a
        “军师准确判断的智力=110”选项
           if (90<a<95) P=a
           if (a>95) P = 95 + (a-95)/3

    2.登用成功率P
        if (e < 50 || (目标武将不是俘虏 && 目标武将的自忠诚度>99)) P=0
        else P = (a-b)*0.2 + (c-d)*0.02 + (e-f) + g + h + i - j - 37
        其中
        a = (目标武将在野 ? 0 : 目标武将与目标君主的相性差),b = 源武将与源君主的相性差
        c = 源势力信望,d = 目标势力信望,e = 目标武将对源势力的忠诚度
        f = (目标武将在野 ? 70 : 目标武将的自忠诚度) + (目标武将是守城大将 ? 20 : 0)
        g = (源武将==刘备 ? 刘备政治 : 0),h = (目标武将是俘虏 ? 30 : 0),i=源武将政治
        j = 目标武将情义

        ********************* 优化方法 *********************
        if (c-d<0) 其系数0.02修改为0.08

    3.离间成功率P
        P = min(40, (7-目标武将情义)*5 + 源武将智力 - 目标武将智力)

    4.流言成功率P
        P = min(40, 源武将智力 - (目标君主智力 + max(60,目标军师智力))/2)

    5.激励成功率P
        P = (源武将智力-30)/2 + (源武将会鼓舞吗? : 20 : 0)

    6.伪报成功率P
        if (目标部队中有武将使用教论) P=0
        else P = min(35, (源武将智力 - 目标部队最高智力 + 10)*3/4) / a
        其中,a = (目标部队阵型==方圆 ? 2 : 1)

    7.扰乱成功率P
        if (目标部队==无阵 || 目标部队中有武将使用教论) P=0
        else P = min(30, (源武将智力 - 目标部队最高统率 + 10)*3/4) / a
        其中,a = (目标部队阵型==方圆 ? 2 : 1)

    8.烧夷成功率P
        if (目标都设耐久<100) P=0
        else P = min(50, 源武将武力 - 目标都设大将统率*2/3 - 20)

    9.夺取成功率P
        P = min(25, 源武将武力 - (2*目标都设大将统率+30)/3 - 目标都设士兵数/1000)

    10.救援成功率P
        if (目标部队士兵数 >= 目标部队大将的最大带兵数) P=0
        else P = (源武将统率-30)*5/4

        ********************* 优化方法 *********************
        P -= 25

    11.赠与成功率P
        P = 源武将执行政治/10 + (源势力与目标势力的外交友好度-60) + (赠与资金/200)或者(赠与兵粮/2000)

    12.夺取的资金M
        M = 目标都设士兵数/80 + [0~50]中间的随机数 + 10

        ********************* 优化方法 *********************
        M = (原夺取资金/512) * (目标军团资金/100)

    13.烧夷的耐久N
        N = min(源武将执行武力*2/15 + 目标都设耐久*0.02 + [0~5]随机数 - 3, 目标都设耐久-10)
        烧兵粮概率 = 3%
        烧夷的兵粮 = 目标都设士兵数*源武将执行武力/2000 + [0~99]随机数

        ********************* 优化方法 *********************
        “烧夷增加烧兵粮效果”选项
           N = min(源武将执行武力/15 + 目标都设耐久*0.02 + [0~5]随机数 - 3, 目标都设耐久-10)
           烧兵粮概率 = 60%
           烧夷的兵粮 = 目标都设士兵数*源武将执行武力/1000 + [0~99]随机数

    14.都市人口
        设 a=总非兵役人口,b=总民心,c=总军事人口=总兵役人口+总士兵数+总伤兵数
        则 e=最大流动人口 = a/20
           f=总增加兵役 = (a-c)/10w * (a*100)/10
           都市非兵役人口 += max(e*都市民心/b-都市非兵役人口/20, 3w-都市非兵役人口)
           都市兵役人口 += 都市民心*f/b

        ********************* 公式说明 *********************
        1)a总非兵役人口会在都市之间流动,每次流动的总人口上限=e最大流动人口
           都市人口流动的方向由都市民心和都市非兵役人口决定:
           1)if (都市民心/b < 都市非兵役人口/a) 人口流出
           2)if (都市民心/b > 都市非兵役人口/a) 人口流入
        2)a总非兵役人口可能会缓慢增长
           如果忽略公式中的“3w-都市非兵役人口”项,则a不会发生变化
           “3w-都市非兵役人口”用于限制都市的非兵役人口不低于3w,当这个限制发生作用时,
           都市非兵役人口会有额外增量,a也会相应增大,但是这个增量不会超过3w
        3)f总增加兵役从a中产生,但是其大小主要由c决定(因为a变化缓慢)
           f与c成反比关系:军事人口越多,则兵役增加越慢,反之,则兵役增加越快
        4)都市增加兵役人口从f中分配,分配比例=都市民心/b
        总之,都市非兵役人口由都市民心决定,而都市增加兵役人口由都市民心和c总军事人口共同决定
        注意:都市非兵役人口上限=100w,都市兵役人口上限=50w

    15.普攻伤害
        1)普攻伤害 = damage(源部队, 目标部队) = min(a*b/1200, 目标部队的士兵数)*(c+100)/100
           其中,a = max(1, (源部队攻击力 - 目标部队防御力 + 900)^2/2000)
                b = (源部队士兵数 + 目标部队士兵数)/70 + 400
                c = 强度系数 = (源部队所属电脑势力 && 目标部队所属玩家势力 ? 电脑强度 : 0)
        2)部队攻击力 = 部队攻防基数*2*阵型对部队(或者对守兵)/25
           部队防御力 = 部队攻防基数*2*阵型守备力/15 + (部队为都设守军 ? 都设耐久*0.4 : 0)
        3)部队攻防基数 = (sqrt(c/d)/6 + 30 + 2*大将统率)*e/10*5/(d+4)*(100+士气)/200
           其中,c = min((大将统率*2.5)^2, 士兵数)
                d = 攻击程度 : 1=激烈,2=轻微
                e = 攻击效果 : 10=状态正常,8=状态混乱,6=状态溃败

        ********************* 公式说明 *********************
        1)部队A与部队B交战时,每天发生两次普通攻击:
           A攻击B:A对B的伤害=damage(A,_B_),B对A的伤害=damage(B,A)
           B攻击A:B对A的伤害=damage(B,A),A对B的伤害=damage(A,_B_)
           因此,普攻伤害只与部队的战斗力有关,而与部队的攻防关系无关。
        2)通过软件模拟,我估算出统率、士气和士兵数对部队攻防基数的作用约为65%、25%和10%
        3)《SanIX 程序分析》中指出,由于变量a的公式中存在平方的计算,因此,当都设耐久超过某个临界值时,
           部队对都设的普攻伤害会随着耐久的增加而增加。
           我认为,这里应该是游戏设计上的bug。正确的公式应该如下:
                a = max(1, (max(0, 源部队攻击力 - 目标部队防御力 + 900))^2/2000)

        ********************* 优化方法 *********************
        1)“加倍耐久的普防系数”选项 : 耐久的普防系数0.4=>0.8
        2)if (源部队阵型==攻城阵型)  源部队阵型的对守兵 *= 1 + (源部队最高攻城熟练度-600)/2000

    16.普攻对耐久的损伤D
        D = min(都设耐久, max(1, (a + (源部队阵型的对城壁-2)/3 +1)/3))
           其中,a = sqrt(源部队最高执行统率*100)*sqrt(源部队士兵数)/3000

        ********************* 优化方法 *********************
        if (源部队阵型==攻城阵型)  源部队阵型的对城壁 *= 1 + (源部队最高攻城熟练度-600)/2000

    17.兵法发动机会
        《SanIX 程序分析》对“兵法发动概率”作了详细说明,我这里不再赘述。
        我只对其中的“兵法发动机会”补充说明一下。
        前文提过:部队A与部队B交战时,每天发生两次普通攻击,一次是A攻击B,另一次是B攻击A。
        A攻击B时,A产生1次兵法发动机会,B按概率50%产生1次兵法发动机会。
        B攻击A时,B产生1次兵法发动机会,A按概率50%产生1次兵法发动机会。
        因此,每天,A和B平均都有1.5次兵法发动机会,A和B最多可以发动两次兵法。

        ********************* 公式说明 *********************
        部队的攻防关系虽然不影响普攻伤害,但是影响兵法发动机会,即进攻方比防守方有更多的兵法发动机会。

        ********************* 优化方法 *********************
        部队士气影响兵法发动概率 : 概率50% => (50 + 部队士气 - 80)%

    18.兵法联动概率P
        P = (max(5*(5-武将相性差), 0) + 25)*(源部队阵型==锥行 ? 3 : 2)/2 + 武将亲密度
        其中,武将亲密度按以下方式获得:
           if (在武将亲密度表中找到匹配项) 获得表中的武将亲密度
           if (武将关系==父子) 武将亲密度=20
           if (武将关系==兄弟 && !(袁尚+袁谭 || 曹植+曹丕 || 孙和+孙霸)) 武将亲密度=20
           if (主发武将==赵云) 武将亲密度+=10

    19.武力型兵法的兵法效果E
        if (兵法类别==步兵系 && 目标部队阵型==象兵) E=15
        抵挡兵法概率P = (目标部队最高兵法熟练度-源武将兵法熟练度)/20
        E = (按概率P抵挡兵法成功 ? 1 : 10)

        ********************* 优化方法 *********************
        if (兵法类别==步兵系 && 目标部队阵型==象兵) E=7
        if (兵法类别==骑兵系 && 目标部队阵型==象兵) E=6
        
    20.武力型兵法伤害D
        1)D = (主发武将兵法伤害 + 联动武将兵法伤害之和/2) * (兵法伤害加倍 ? 2 : 1)
        2)武将兵法伤害 = max(武将执行武力+45,70)*(武将兵法熟练度/2+1000)*兵法威力/1000

        ********************* 优化方法 *********************
        “士兵数和统率影响兵法伤害”选项:
           设 源部队士兵数=a,发动兵法武将统率=b,则武将兵法伤害进行如下修正:
           if (a<10000) 武将兵法伤害 *= sqrt(a)/100
           if (a>10000) 武将兵法伤害 *= (min((max(b,70)-60)*1000, a) + 9w)/10w
        “减少远程兵法对设施的伤害”选项
           1)远程兵法:弓骑系,弩兵系
           2)武将兵法伤害 *= (2000-min(1000, 设施耐久))/2000

    21.武力型兵法总伤害S
        S = (兵法伤害 + 普攻伤害) * 兵法效果/10 * 状态因子/10 * (强度系数+100)/100
           其中,状态因子 = (目标部队状态==无阵/混乱/溃败 ? 13 : 10)
                强度系数参见“普攻伤害”中的说明

        ********************* 公式说明 *********************
        总伤害的设计存在bug,正确的公式应该是:
           S = 兵法伤害 * 兵法效果/10 * 状态因子/10 * (强度系数+100)/100 + 普攻伤害

    22.增加伤兵W
        if (部队为都设守军) W = 总伤害*5/10
        if (部队为部队) W = 总伤害 * (阵型==方圆 ? 8 : 5)/10

        ********************* 优化方法 *********************
        “减少伤兵率”选项:
           if (部队为都设守军) W = 总伤害*5/12
           if (部队为部队) W = 总伤害 * (阵型==方圆 ? 8 : 5)/13

    23.智力型兵法的兵法效果E
        if (兵法==混乱 && 目标部队有武将装备教论) E=0
        if (兵法==陷阱 && 目标部队有武将装备破陷) E=0
        兵法成功率P = 100 + (源武将执行智力-目标部队最高执行智力-5)*6/5
        if (按概率P发动兵法失败) E=0
        if (兵法==混乱 && 目标部队阵型==方圆 && 按概率50%发动兵法失败) E=0
        减损兵法概率Q = (目标部队最高兵法熟练度-源武将兵法熟练度)/10
        E = (按概率Q减损兵法成功 : 3 : 10)

        ********************* 优化方法 *********************
        1)if (兵法==混乱/攻心/幻术/辱骂/妖术 && 目标部队有武将装备教论) E=0
        2)兵法成功率P = 100 + (源武将执行智力-目标部队最高执行智力-5)*7/5 - (目标部队有武将习得教论/破陷 ? 20 : 0)
        3)E = (按概率Q减损兵法成功 : 5 : 10)

    24.智力型兵法伤害
        设 S=(源武将兵法熟练度+100)/250+1,M=源武将执行智力,E=兵法效果
        1)混乱天数 = min(S+M/20, 10)*E/10 + 1
        2)辱骂减少士气 = max(S+M/(10-辱骂威力), 3)*E/10
        3)攻心倒向士兵数 = (S+M/(30-攻心威力)+4)*(目标部队士兵数/100)*E/10
        4)幻术伤害 = (S+M/(33-幻术威力)+7)*(目标部队士兵数/100)*E/10
        5)妖术伤害 = (S+M/(33-妖术威力)+8)*(目标部队士兵数/100)*E/10
        6)陷阱伤害 = max(500, (S*2+M/(20-陷阱威力)+13)*目标部队士兵数/100)*E/10
        7)鼓舞增加士气 = S*2+M/(15-鼓舞威力)
        8)治疗恢复士兵数 = min(部队大将最大带兵数-部队士兵数,min(部队伤兵, a))
           其中,a = max(min(S*3+M/(20-治疗威力),100)*部队士兵数/100, 1000)

        ********************* 优化方法 *********************
        1)混乱天数 = min((S+100)/300+M/(40-混乱威力), 10)*E/10 + 1
        2)君主/都督在战斗中可随机发动鼓舞

    25.俘虏概率P
        设 N=进攻部队数,首功部队=进攻部队中功劳最大的部队
        if (武将有宝物马) P=0
        if (武将在部队阵型的第1排) A = 1.5
        if (武将在部队阵型的第2排) A = 1.0
        if (武将在部队阵型的第3排) A = 0.5
        P = (120-武将执行武力)/3 * N * (首功部队的阵型==鹤翼 ? : 2 : 1) * A

        ********************* 优化方法 *********************
        进攻部队数N按照如下方式进行修正:
           a = c = 1
           d = 0
           for (;;)
                if (a>=N) break
                d += c
                c++
                a += c
           N = (N+d)/c

    26.阻击概率P
        P = (源部队阵型==箕形 ? 30 : 0) + (发动兵法武将的弩兵熟练度/100)^2/2

        ********************* 优化方法 *********************
        P = (源部队阵型==箕形 ? 25 : 0) + min(50, 发动兵法武将的弩兵熟练度/阻击概率系数)
           其中,阻击概率系数的范围=25~40

    27.阵亡概率P
        if (武将基本能力>80 || 武将是部队大将) P=0
        1)单挑阵亡 : P = min(30, 80-武将武力)
        2)阻击阵亡 : P = 武将伤势^2,其中,伤势的取值范围=1~9
        3)混战阵亡 : P = min(30, 80 - 武将武力 - 武将在阵型中的排数*15)

     28.增加兵法熟练度
        1)武将增加兵法熟练度 = add_prof(原始增加熟练度)
           武将兵法熟练度 += 精通系数 * 原始增加熟练度
           其中,精通系数 = (武将精通兵法类 ? 3 : 1)
        2)部队发动兵法时,每个部队武将:add_prof(3)
          
        ********************* 优化方法 *********************
        1)“动态增加兵法熟练度”选项
           精通系数 = min(4, max(1, 5-武将兵法熟练度/200)) / 5.0 * (武将精通兵法类 ? 3 : 1)
        2)部队发动兵法时
           base = (武将所属玩家势力 ? 3 : 4)
           主发武将:add_prof(2*base+2)
           联动武将:add_prof(base+2)
           其他武将:add_prof(base)

    29.增加武将能力概率P
        P = 3

        ********************* 优化方法 *********************
        “动态增加武将能力”选项
           P = 5-max(武将能力-35,0)/15 + (武将所属玩家势力 ? 0 : 1)



[ 本帖最后由 优化伴侣 于 2013-1-1 22:11 编辑 ]


附件: SanIX_程序分析[1].rar (2011-3-8 00:12, 213.99 K)
该附件被下载次数 14224

本帖最近评分记录
E世飞将 2011-3-9 22:04 现金 +500 功勋奖励。


推荐贴
顶部
性别:未知-离线 guigui1

Rank: 1
组别 百姓
级别 在野武将
功绩 0
帖子 12
精华 0 点
现金 48 通宝
编号 379447
注册 2010-6-2


发表于 2011-3-8 10:05 资料 短消息 只看该作者
技术贴。好深澳。看不懂


推荐贴
顶部
性别:男-离线 snkkoei

Rank: 1
组别 百姓
级别 在野武将
功绩 0
帖子 11
精华 0 点
现金 51 通宝
编号 62400
注册 2006-3-14


发表于 2011-3-8 12:20 资料 短消息 只看该作者
虽然看不太明白
还是支持!
推荐贴
顶部
性别:男-离线 白衣天子

Rank: 8Rank: 8
组别 校尉
级别 平东将军
功绩 32
帖子 2427
精华 0 点
现金 4173 通宝
编号 49131
注册 2005-9-17


好技术贴
推荐贴
顶部
性别:未知-离线 kircheis1986

Rank: 2Rank: 2
组别 百姓
级别 奋威校尉
功绩 1
帖子 117
精华 0 点
现金 624 通宝
编号 266929
注册 2008-2-10


发表于 2011-3-8 14:47 资料 短消息 只看该作者
这个一定要支持
推荐贴
顶部
性别:未知-离线 blandmars

Rank: 2Rank: 2
组别 百姓
级别 奋威校尉
功绩 1
帖子 122
精华 0 点
现金 747 通宝
编号 48552
注册 2005-9-11


发表于 2011-3-8 15:23 资料 短消息 只看该作者
厉害啊,技术贴一定要支持下
推荐贴
顶部
性别:未知-离线 火凤大好

Rank: 5Rank: 5
组别 校尉
级别 护军
好贴 1
功绩 24
帖子 430
精华 1 点
现金 5069 通宝
编号 358815
注册 2010-2-3


发表于 2011-3-9 05:29 资料 文集 短消息 只看该作者
非常好,慢慢研究。。。
推荐贴
顶部
性别:未知-离线 crypt

Rank: 2Rank: 2
组别 百姓
级别 奋威校尉
功绩 1
帖子 128
精华 0 点
现金 553 通宝
编号 262507
注册 2008-1-8


发表于 2011-7-7 13:54 资料 短消息 只看该作者
对 18.兵法联动概率P 有点疑问
这个判断到底是if else if 还是if if?
如果是后者,那么赵云发动赵统呼应的概率不就是75+20+10=105% 必呼应了?

不过不管怎样,赵云的隐藏被联动率还是很有意思的。三国三百人,人人爱赵云?
推荐贴
顶部
性别:未知-离线 优化伴侣


Rank: 7Rank: 7Rank: 7Rank: 7
组别 羽林都尉
级别 讨逆将军
功绩 121
帖子 606
精华 6 点
现金 18532 通宝
编号 352334
注册 2009-12-27


发表于 2011-7-23 22:12 资料 文集 短消息 只看该作者


QUOTE:
原帖由 crypt 于 2011-7-7 13:54 发表
对 18.兵法联动概率P 有点疑问
这个判断到底是if else if 还是if if?
如果是后者,那么赵云发动赵统呼应的概率不就是75+20+10=105% 必呼应了?

不过不管怎样,赵云的隐藏被联动率还是很有意思的。三国三百 ...

是if-if。赵统对赵云的呼应概率即105%。应该说,9代开发者对赵云有爱吧。
推荐贴
顶部
性别:未知-离线 优化伴侣


Rank: 7Rank: 7Rank: 7Rank: 7
组别 羽林都尉
级别 讨逆将军
功绩 121
帖子 606
精华 6 点
现金 18532 通宝
编号 352334
注册 2009-12-27


发表于 2011-7-23 22:14 资料 文集 短消息 只看该作者
对39的公式部分又做了补充,感兴趣的玩家可以看看。
推荐贴
顶部
性别:未知-离线 everpp

Rank: 1
组别 百姓
级别 在野武将
功绩 0
帖子 11
精华 0 点
现金 56 通宝
编号 438572
注册 2011-8-14


发表于 2011-8-27 18:49 资料 短消息 只看该作者


QUOTE:
原帖由 优化伴侣 于 2011-3-7 23:31 发表
三国志9威力加强版的设计公式和优化方法

                                                                                                                        作者:优化伴侣

    P = (源部队阵型==箕形 ? 25 : 0) + min(50, 发动兵法武将的弩兵熟练度/阻击概率系数)
           其中,阻击概率系数的范围=25~40

我看7月新版优化伴侣里,狙击概率系数的可选择范围是0~10啊。而且这个狙击概率系数,是越大越容易狙击,还是越小越容易狙击啊?看公式应该是越小越容易发动狙击了?
推荐贴
顶部
性别:未知-离线 17kinggao

Rank: 1
组别 百姓
级别 在野武将
功绩 0
帖子 10
精华 0 点
现金 44 通宝
编号 441468
注册 2011-8-31


发表于 2011-9-4 12:00 资料 短消息 只看该作者
********************* 优化方法 *********************
        部队士气影响兵法发动概率 : 概率50% => (50 + 部队士气 - 80)%

这样一来当士气低于30的时候岂不是再也发动不了兵法?甚至连鼓舞i也无法发动,貌似有些不太好吧?最需要鼓舞的时候可能恰恰就是在士气低的时候

我觉得改成(【部队士气+25】/150)%会不会更好?
这样一来当部队士气为50的时候和原来一样都是50%发动兵法,发动概率随着士气动态变化,最高83%,最低17%。
推荐贴
顶部
性别:未知-离线 17kinggao

Rank: 1
组别 百姓
级别 在野武将
功绩 0
帖子 10
精华 0 点
现金 44 通宝
编号 441468
注册 2011-8-31


发表于 2011-9-4 12:30 资料 短消息 只看该作者
兵法联动概率P
        P = (max(5*(5-武将相性差), 0) + 25)*(源部队阵型==锥行 ? 3 : 2)/2 + 武将亲密度
        其中,武将亲密度按以下方式获得:
           if (在武将亲密度表中找到匹配项) 获得表中的武将亲密度
           if (武将关系==父子) 武将亲密度=20
           if (武将关系==兄弟 && !(袁尚+袁谭 || 曹植+曹丕 || 孙和+孙霸)) 武将亲密度=20
           if (主发武将==赵云) 武将亲密度+=10

是否能加上
if (主发武将身份==君主) 武将亲密度+=20
if (主发武将身份==军团长) 武将亲密度+=10
if (主发武将身份==部队大将) 武将亲密度+=5

君主发动兵法,理论上来说臣子都得跟上不是?
同理军团长、部队长也是一样,发个兵法都没人理睬岂不是很尴尬。。。。。
推荐贴
顶部
性别:未知-离线 17kinggao

Rank: 1
组别 百姓
级别 在野武将
功绩 0
帖子 10
精华 0 点
现金 44 通宝
编号 441468
注册 2011-8-31


发表于 2011-9-4 13:06 资料 短消息 只看该作者
********************* 优化方法 *********************
        “士兵数和统率影响兵法伤害”选项:
           设 源部队士兵数=a,发动兵法武将统率=b,则武将兵法伤害进行如下修正:
           if (a<10000) 武将兵法伤害 *= sqrt(a)/100
           if (a>10000) 武将兵法伤害 *= (min((max(b,70)-60)*1000, a) + 9w)/10w

提点自己的一些看法,因为优化伴侣的电脑AI使用的是群狼战术,因此往往电脑的带兵数不会超过一万,因此这个优化公式大部分时间对电脑来说不是很有利哈。而高统武将带领一万以下兵和低统武将也没有拉开应有的差距,觉得有些美中不足。
我个人觉得吧,既然是“士兵数和统帅影响兵法伤害”,那么修正参数是否可以不仅仅局限于士兵数a而是由a和b共同构成的参数c=a*b,而c的标准就是70(统帅)*10000(士兵数)=70w
设 源部队士兵数=a,发动兵法武将统率=b,c=a*b则武将兵法伤害进行如下修正:
           if (c<70w) 武将兵法伤害 *= sqrt(c)/70w
           if (c>70w) 武将兵法伤害 *= (930w+c)/1000w
然后来分析一下可行性:
在if (a>10000) 武将兵法伤害 *= (min((max(b,70)-60)*1000, a) + 9w)/10w的前提下
极限统帅(110+10=120)和极限兵60000,伤害加成系数为1.5
在if (c>70w) 武将兵法伤害 *= (930w+c)/1000w的前提下
极限统帅(110+10=120)和极限兵60000,伤害加成系数为1.65



相差不多,应该还在合理范围内吧?
推荐贴
顶部
性别:未知-离线 secondly

Rank: 1
组别 百姓
级别 在野武将
功绩 0
帖子 1
精华 0 点
现金 4 通宝
编号 449060
注册 2011-11-6


发表于 2011-11-6 19:41 资料 短消息 只看该作者
20.武力型兵法伤害D
        1)D = (主发武将兵法伤害 + 联动武将兵法伤害之和/2) * (兵法伤害加倍 ? 2 : 1)
        2)武将兵法伤害 = max(武将执行武力+45,70)*(武将兵法熟练度/2+1000)*兵法威力/1000

        ********************* 优化方法 *********************
        “士兵数和统率影响兵法伤害”选项:
           设 源部队士兵数=a,发动兵法武将统率=b,则武将兵法伤害进行如下修正:
           if (a<10000) 武将兵法伤害 *= sqrt(a)/100
           if (a>10000) 武将兵法伤害 *= (min((max(b,70)-60)*1000, a) + 9w)/10w
        “减少远程兵法对设施的伤害”选项
           1)远程兵法:弓骑系,弩兵系
           2)武将兵法伤害 *= (2000-min(1000, 设施耐久))/2000

原来的【武将兵法伤害】与武力有关的,优化后变成了与【发动兵法的武将统率】有关了,那么武将的武力还有什么用呢?
推荐贴
顶部
性别:男-离线 arayashiki

Rank: 5Rank: 5
组别 士兵
级别 破虏将军
功绩 8
帖子 757
精华 0 点
现金 3401 通宝
编号 65365
注册 2006-3-28


发表于 2011-11-10 19:16 资料 个人空间 短消息 只看该作者 QQ
C语言教的那些东西基本忘光了。。。
推荐贴
顶部
性别:男-离线 E世飞将
(云中朔方节度使)

武建伯
镇西军节度使
★★

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
轩辕春秋年度最佳(游戏人生区)
组别 节度使
级别 平北将军
好贴 3
功绩 235
帖子 2000
精华 9 点
现金 19304 通宝
编号 97523
注册 2006-12-29
来自 广西桂林
家族 瓦岗寨


顶起学习之,呼唤楼主。
推荐贴
顶部
性别:未知-离线 dswgzy

Rank: 1
组别 百姓
级别 在野武将
功绩 0
帖子 6
精华 0 点
现金 20 通宝
编号 462289
注册 2012-4-30


发表于 2012-5-1 08:11 资料 短消息 只看该作者
嗯,慢慢学习,呵呵,游戏也是种学习!
推荐贴
顶部
性别:男-离线 uuu110

Rank: 1
组别 百姓
级别 在野武将
功绩 0
帖子 3
精华 0 点
现金 12 通宝
编号 462586
注册 2012-5-4


发表于 2012-5-4 19:20 资料 短消息 只看该作者
虽然不会用,但还是表示支持
推荐贴
顶部
性别:未知-离线 11thapollo

Rank: 3Rank: 3Rank: 3
组别 士兵
级别 仁勇校尉
功绩 2
帖子 196
精华 0 点
现金 2823 通宝
编号 156344
注册 2007-5-12


发表于 2013-4-9 23:00 资料 短消息 只看该作者
这个帖子太有用了!

        3)《SanIX 程序分析》中指出,由于变量a的公式中存在平方的计算,因此,当都设耐久超过某个临界值时,
           部队对都设的普攻伤害会随着耐久的增加而增加。
           我认为,这里应该是游戏设计上的bug。正确的公式应该如下:
                a = max(1, (max(0, 源部队攻击力 - 目标部队防御力 + 900))^2/2000)

============================
请问这个正确的公式有没有加入到优化当中呢?据我测试好像还木有呀?
推荐贴
顶部
性别:男-离线 无隙

Rank: 5Rank: 5
组别 士兵
级别 安国将军
功绩 8
帖子 848
精华 0 点
现金 2701 通宝
编号 40237
注册 2005-6-4


发表于 2013-4-12 13:24 资料 短消息 只看该作者
太强悍了~~~支持支持
推荐贴
顶部
性别:未知-离线 yichang6789

Rank: 1
组别 百姓
级别 在野武将
功绩 0
帖子 2
精华 0 点
现金 12 通宝
编号 480947
注册 2013-3-31


发表于 2013-4-22 13:38 资料 短消息 只看该作者
回复 #1 优化伴侣 的帖子

!
推荐贴
顶部
性别:未知-离线 玫瑰花刺

Rank: 3Rank: 3Rank: 3
组别 士兵
级别 仁勇校尉
功绩 2
帖子 156
精华 0 点
现金 722 通宝
编号 35302
注册 2005-3-27


发表于 2013-7-14 10:45 资料 短消息 只看该作者
看得我头晕,太深奥了
推荐贴
顶部

正在浏览此帖的会员 - 共 1 人在线




当前时区 GMT+8, 现在时间是 2020-7-14 04:57
苏ICP备11088966号 轩辕春秋 2003-2015 www.xycq.net

Powered by Discuz! 5.0.0 2001-2006 Comsenz Inc.
Processed in 1.060802 second(s), 10 queries , Gzip enabled

清除 Cookies - 联系我们 - 轩辕春秋 - Archiver - WAP