轩辕春秋文化论坛 » 步步为营 » 对《三国志英杰传分析结果》的n点质疑


2007-2-5 16:26 阿尔法孝直
对《三国志英杰传分析结果》的n点质疑

[align=center][color=royalblue][size=5][url=http://www.xycq.net/forum/viewthread.php?tid=23414]龙吟的《三国志英杰传》分析结果见此。[/url][/size][/color][/align]
最近,我好好地研究了一下,发现敌军行动准则算法有部分漏洞。
1、携带自动恢复道具的人(比如曹操),当兵或士气低于40%时,移动范围内存在恢复地形,行动价值是否+50?
2、关于物理攻击能击退人是否有附加价值。
  比如在汜水关,关张合攻赵岑,一般情况下,赵岑会攻击张飞;然而关羽兵少(只剩60几时),张飞兵多时,赵岑会去攻击关羽,把关羽击退。但是伤害只有60几啊,(如果攻击伤害大于防御方兵力,则攻击伤害=防御方兵力),导致攻击关羽价值比较少,攻击张飞价值多,但是赵岑攻击关羽!!!
[quote]3、关于援助、激励类
  如果补给值小于接受补给者最大兵力的10%,则补给值=0
  加权值=补给值+策略附加值[/quote]
  对于援助,如果兵力在90%~99%之间,补给值=0,但是仍然有策略附加值100。也就是说,援助一个兵力快满的人,仍然有100的加权值。这是为什么?激励类也类似。
4、关于大援助、大激励类
[quote]  单体部队加权值=补给、激励系计算的加权值
  加权值=所有部队加权值的综合
  对于群体援助系和群体激励系策略,即使被补给部队兵力、士气都满也可以补给。[/quote]
  对于大援助,(假设范围内有5个人)如果范围内所有被补给部队兵力、士气都满,那么每个人补给值为0,策略附加值为100。也就是说,总加权值为100*5=500。可是敌人不会这么傻。这个怎么解释?(大激励也类似)
[quote]5、关于假情报类
  如果敌人已混乱,加权值=0
  随机值=(0~299)的随机数
  根据假情报系策略全分析中的算法计算策略是否成功,如果计算结果是策略成功,加权值=随机数+300。
  (PS:这里计算的结果并不表示策略一定成功,因为使用策略时还会再计算一次。)[/quote]
好象没说当策略失败时加权值等于多少。
[quote]6、攻击方位
部队可以攻击若干个方位,如果这些方位上存在行动价值相等的目标,部队按以下方位顺序选择攻击对象(在前者优先):
  第一优先级:上、右、下、左、右上、右下、左下、左上
  第二优先级:
  对于弓兵而言:右2、左2、下2、上2
  对于连弩兵和投石车而言:上2左1、下2左1、上2、下2、上2右1、下2右1、右2上1、左2上1、右2、左2、右2下1、左2下1
  第三优先级:
  右3、左3、下3、上3、右2上2、右2下2、左2下2、左2上2[/quote]
可是当敌方投石车与我军某部队相邻时,投石车总喜欢移到该部队斜2格的地方再攻击,与这个优先级相反。怎么解释?
7、主动型敌军部队如何移动,什么规律???
   [quote]2.仇人和目标
    在英杰传中,存在仇人和目标的概念。
    以英杰传WINDOWS版为例,在内存中,每只部队的附加属性占据14个字节,说明如下:
      偏移+00  占2字节  人物代码(刘备=0000,关羽=0001)
      偏移+02  占1字节  战场代码(00=我军第1只部队、0E=我军第15只部队,0F=敌军第1只部队)
      (注:00-0E是我军,共15个位置,但不一定用完,0F-2C是敌军,共[color=blue]30[/color]个位置,但不一定用完)
      偏移+03  占1字节  部队横坐标(以左上角为0,0)
      偏移+04  占1字节  部队纵坐标
      偏移+05  占1字节  仇人代码(FF表示没有仇人)
      偏移+06  占2字节  目标横纵坐标(0000表示没有目标[color=blue] [/color])
      偏移+08   占1字节  [color=blue]不明[/color]
      偏移+09  占1字节  部队撤退标志(00=消失 01=未出场 02=正常 04=撤退)
      偏移+0A  占1字节  部队状态(从低位开始:第2位为1表示混乱,第3位为1表示全屏移动,第6位为0表示伏兵,第8位为1表示行动结束)
      偏移+0B  占1字节  部队AI类型(见后)
      偏移+0C  占1字节  部队士气
      偏移+0D  占1字节  部队策略值
    仇人指部队特别想攻击的敌人,在计算部队攻击对象时,仇人会得到附加的行动价值(见后);目标指部队想要到达的地方。[/quote]

8、我记得邺III敌方快40个人了。
9、如果“目标”为左上角,应该如何表示?
10、剩余兵力呢?是哪一个偏移?
11、猜测:“不明”可能指的是部队脸的朝向
[quote]
六、补给系策略全分析
  补给系策略分为单体补给系策略和群体补给系策略。
  单体补给系策略有:单体援助系(援助、补给、救济)、单体激励系(激励、支援、鼓舞)、看护系(看护、治愈、救命)。
  群体补给系策略有:群体援助系(大援助、大补给、大救济)、群体激励系(大激励、大支援、大鼓舞)。
  1.允许补给
   对于单体援助系策略,被补给部队兵力满时不能补给。
   对于单体激励系策略,被补给部队士气满且不处于混乱状态时不能补给。
   对于看护系策略,被补给部队兵力满、士气满且不处于混乱状态时不能补给。
   对于群体援助系和群体激励系策略,即使被补给部队兵力、士气都满也可以补给。
  2.补给效果
   1)对于单体援助系和群体援助系策略
    基本兵力恢复值=策略基本威力+补给方智力×补给方等级÷[color=blue]20    [/color]兵力恢复随机修正值是一个随机整数,在0到(基本兵力恢复值÷10-1)之间。
    补给效果=基本兵力恢复值+兵力恢复随机修正值
    如果补给效果+被补给方当前兵力>被补给方最大兵力,则补给效果=被补给方最大兵力-被补给方当前兵力
    【单体援助系/群体援助系策略基本威力】
    援助 600  补给 1200 救济 1800
    大援助 600 大补给 1200 大救济 1800
    『说明』
    99级的诸葛亮,可以带来100×99÷20=495的补给加成。在加上10%的随机修正,其援助策略最高值可以达到
    (600+495)*1.1=1204,(恐怖!)

    3)策略的行动价值
     (1)如果使用单体补给类策略
        基本值=策略基本威力+使用者智力×使用者等级÷[color=blue]20[/color]        随机值=0~(基本值÷10-1)之间的随机数
        补给值=基本值+随机值
        如果接受补给者当前兵力+补给值超过最大兵力,则补给值=最大兵力-当前兵力
        如果补给值小于接受补给者最大兵力的10%,则补给值=0
        加权值=补给值+策略附加值
       【单体援助系策略基本威力】
        援助 600  补给 1200 救济 1800
       【单体援助系策略附加值】
        援助 100  补给 50 救济 0
       (PS:使用补给时的计算因子中智力×等级除以的是[color=blue]20[/color],与实际补给值计算除[color=blue]50[/color]相比,扩大了补给的价值。)
[/quote]
12、敢问:除50哪里来的?
13、士气低于40时,移动范围内存在兵营(只恢复兵力),行动价值是否+50?
14、遇到行动价值相等的两个策略,哪一个优先?

[[i] 本帖最后由 阿尔法孝直 于 2009-1-28 21:53 编辑 [/i]]

2007-2-21 13:54 seamanwqy
回复 #1 阿尔法孝直 的帖子

技术上的事情我不懂,但是楼主举的第二条和这个例子:
“2、关于物理攻击能击退人是否有附加价值。
  比如在汜水关,关张合攻赵岑,一般情况下,赵岑会攻击张飞;然而关羽兵少(只剩60几时),张飞兵多时,赵岑会去攻击关羽,把关羽击退。但是伤害只有60几啊,(如果攻击伤害大于防御方兵力,则攻击伤害=防御方兵力),导致攻击关羽价值比较少,攻击张飞价值多,但是赵岑攻击关羽!!!”
我觉得明显是电脑AI比较正常的体现。众所周知,“伤敌十指,不如断敌一指”。此时攻击张飞只能造成伤害,而攻击关羽则将歼灭敌军,很明显,歼灭的价值高于伤害。

2007-2-21 14:01 阿尔法孝直
是啊,5楼,我同意啊,可是龙吟没分析出来Kill的附加价值究竟是多少……

2007-2-23 15:40 武骧金星
谢谢LZ回答我在另外一个问题里的疑惑咯~

1,我做了一个实验:在汜水关中等公孙走到鹿砦边上时,让华雄把公孙瓒打到奄奄一息,并给公孙配上玉玺,然后在公孙的攻击范围内还有一个被打残的LV1步兵,结果公孙跑进鹿砦休息了~因此可以认为行动价值还是增加的~

2,没有任何价值(仇人除外),典型例子:在虎牢中被打成红血的关羽可以放心砍在村子里的吕布而不需要吃豆

3,不懂~恐怕要龙吟自己来才能回答~

4,同样不懂~主要原因是实验结果和理论完全不一致因此没办法解释了

5,如果"计算的结果"是会失败,那加权=0(这个是猜的,没有办法做实验),也就是说敌人认为他的策略不会成功,因此施展该计略的价值为0

6,不懂~也没有办法做实验

7,主动型在游戏中的描述是:攻击最近敌

8,用DEBUG菜单可以看到

2007-2-23 20:13 阿尔法孝直
[quote]原帖由 [i]武骧金星[/i] 于 2007-2-23 15:40 发表
谢谢LZ回答我在另外一个问题里的疑惑咯~

5,如果"计算的结果"是会失败,那加权=0(这个是猜的,没有办法做实验),也就是说敌人认为他的策略不会成功,因此施展该计略的价值为0

8,用DEBUG菜单可以看到 [/quote]

5、我估计是那个随机数,但没加300

8、哪一项?

2007-2-23 20:26 武骧金星
恩,只要开启这个DEBUG模式的话,把鼠标移动到敌方人物上就可以看到AI了

2007-2-24 14:49 阿尔法孝直
老兄,我看不懂啊,能否详解一下?


(x,y)移动
(0,0)休息
(0,0)不动
攻击最近敌
它们各代表什么意思?对应AI值都是多少?x,y是什么含意?

还有,为什么我一点“展示”就出错,自动退出?

[[i] 本帖最后由 阿尔法孝直 于 2007-2-24 15:03 编辑 [/i]]

2007-2-24 14:56 阿尔法孝直
再加3个问题

[color=Red]   2.仇人和目标
    在英杰传中,存在仇人和目标的概念。
    以英杰传WINDOWS版为例,在内存中,每只部队的附加属性占据14个字节,说明如下:
      偏移+00  占2字节  人物代码(刘备=0000,关羽=0001)
      偏移+02  占1字节  战场代码(00=我军第1只部队、0E=我军第15只部队,0F=敌军第1只部队)
      (注:00-0E是我军,共15个位置,但不一定用完,[color=Blue]0F-2C是敌军,共30个位置,但不一定用完[/color])
      偏移+03  占1字节  部队横坐标(以左上角为0,0)
      偏移+04  占1字节  部队纵坐标
      偏移+05  占1字节  仇人代码(FF表示没有仇人)
      [color=Blue]偏移+06  占2字节  目标横纵坐标(0000表示没有目标)[/color]
      偏移+08   占1字节  不明
      偏移+09  占1字节  部队撤退标志(00=消失 01=未出场 02=正常 04=撤退)
      偏移+0A  占1字节  部队状态(从低位开始:第2位为1表示混乱,第3位为1表示全屏移动,第6位为0表示伏兵,第8位为1表示行动结束)
      偏移+0B  占1字节  部队AI类型(见后)
      [color=Blue]偏移+0C  占1字节  部队士气
      偏移+0D  占1字节  部队策略值[/color]
    仇人指部队特别想攻击的敌人,在计算部队攻击对象时,仇人会得到附加的行动价值(见后);目标指部队想要到达的地方。[/color]

11、我记得邺III敌方快40个人了。
12、如果“目标”为左上角,应该如何表示?
13、兵力呢?是哪一个偏移?

[[i] 本帖最后由 阿尔法孝直 于 2007-2-24 14:58 编辑 [/i]]

2007-2-24 15:06 武骧金星
我见过敌人的AI应该有6种

1,(x,y)移动:该人物会奔向坐标(X,Y),到达目标后自动变成休息

典型例子:徐州1的于禁等人

2,(x,y)无攻击移动:该人物会奔向(X,Y)且沿途不会攻击或施展计策,到达目标后自动变成休息

典型例子:忘记了~不过肯定是有哈

3,(X,Y)休息:勾引型敌人,XY的含义不明

一般来说常见的是(0,0)休息,而(X,Y)休息似乎和(0,0)休息没甚区别~

4,(X,Y)不动:人物会冲向(X,Y)后自动变成不动

典型例子:信都的倒霉酒鬼

5,人物XX移动:人物会向人物XX所在位置移动,如果XX退场则自动变成攻击最近敌

典型例子:巨鹿的张颌

6,(X,Y)强行移动:人物会直接瞬间移动到(X,Y),没有实际价值

典型例子:被张飞单挑掉的吕布

屏幕的左上角为(0,0)

2007-2-24 15:09 武骧金星
如果你用DOSBOX的话说不定可以展示~反正XP下是不行的

2007-2-24 15:21 阿尔法孝直
第一项AI=1
第三项AI=2
第四项AI=3
其余的呢?
还有X,Y哪个是横坐标,哪个是纵坐标?

2007-2-24 15:27 武骧金星
具体对应关系我不知道的啦~这个要龙吟来回答才行~我又不懂汇编语言~

X是横坐标

这么一想数起来也蛮麻烦的~要是增加一个可以直接显示坐标的指令就好了~LZ可以努力一下哟

不过我个人还是觉得考虑得那么清楚就不是打仗了嘛~

2007-2-24 16:00 阿尔法孝直
[quote]原帖由 [i]武骧金星[/i] 于 2007-2-24 15:09 发表
如果你用DOSBOX的话说不定可以展示~反正XP下是不行的 [/quote]

我就是在XP下用DOSBOX出问题的~~~

2007-3-3 11:34 阿尔法孝直
[quote],(x,y)无攻击移动:该人物会奔向(X,Y)且沿途不会攻击或[color=Red]施展计策[/color],到达目标后自动变成休息[/quote]

那么,在南阳之战,当我军破阵之后,敌军好像都变成“无攻击移动”。可是,他们会激励!!!

2007-3-11 21:09 阿尔法孝直
龙吟冬眠了吗?

2007-3-15 12:14 阿尔法孝直
我发现还有一个“XX无攻击移动”,典型例子就是洛阳之战的徐庶。

2007-3-18 14:41 阿尔法孝直
哪一个老大帮我把这个主题移到“步步为营”里,万分感谢!!!!!!!

2007-3-19 16:11 岱瀛
应作者要求,移动到步步区。
:loveliness:

2007-3-19 19:25 阿尔法孝直
哈哈,谢谢岱瀛兄!(这个人名字真难写)

2007-4-2 13:13 阿尔法孝直
:victory:
今天测试了一下,证明假情报策略失败加权值等于0~299的随机数(就是不加300的加权值)
测试方法:找一战有AI=3(原地不动的)且12级以上的弓兵(弩兵、投石车也行),在他旁边放一个我军部队(一定不能放在可以水攻的地形,且这支部队等级、智力要高,最好为妖术师,保证假情报命中率为0),他无法攻击,也无法用水计,也不让他用激励、援助,只能用假情报。
测试结果:弓兵会用假情报(敌军不会选择行动价值为0的行动方式)
结论:证明假情报策略失败行动价值等于0~299的随机数(就是不加300的加权值),不恒等于0

[[i] 本帖最后由 阿尔法孝直 于 2007-4-3 12:08 编辑 [/i]]

2007-4-3 01:01 cwnraul
问个问题:
为什么对方的武术家队老喜欢用计?(焦热、火龙)
但这些计从来不会成功。(就算成功,打击力似乎都还比不上他攻击啊)

2007-4-3 13:03 阿尔法孝直
[quote]
六、补给系策略全分析
  补给系策略分为单体补给系策略和群体补给系策略。
  单体补给系策略有:单体援助系(援助、补给、救济)、单体激励系(激励、支援、鼓舞)、看护系(看护、治愈、救命)。
  群体补给系策略有:群体援助系(大援助、大补给、大救济)、群体激励系(大激励、大支援、大鼓舞)。
  1.允许补给
   对于单体援助系策略,被补给部队兵力满时不能补给。
   对于单体激励系策略,被补给部队士气满且不处于混乱状态时不能补给。
   对于看护系策略,被补给部队兵力满、士气满且不处于混乱状态时不能补给。
   对于群体援助系和群体激励系策略,即使被补给部队兵力、士气都满也可以补给。
  2.补给效果
   1)对于单体援助系和群体援助系策略
[color=Red]    基本兵力恢复值=策略基本威力+补给方智力×补给方等级÷[color=Blue]20[/color][/color]    兵力恢复随机修正值是一个随机整数,在0到(基本兵力恢复值÷10-1)之间。
    补给效果=基本兵力恢复值+兵力恢复随机修正值
    如果补给效果+被补给方当前兵力>被补给方最大兵力,则补给效果=被补给方最大兵力-被补给方当前兵力
    【单体援助系/群体援助系策略基本威力】
    援助 600  补给 1200 救济 1800
    大援助 600 大补给 1200 大救济 1800
    『说明』
    99级的诸葛亮,可以带来100×99÷20=495的补给加成。在加上10%的随机修正,其援助策略最高值可以达到
    (600+495)*1.1=1204,(恐怖!)

    3)策略的行动价值
     (1)如果使用单体补给类策略
[color=Red]        基本值=策略基本威力+使用者智力×使用者等级÷[color=Blue]20[/color][/color]        随机值=0~(基本值÷10-1)之间的随机数
        补给值=基本值+随机值
        如果接受补给者当前兵力+补给值超过最大兵力,则补给值=最大兵力-当前兵力
        如果补给值小于接受补给者最大兵力的10%,则补给值=0
        加权值=补给值+策略附加值
       【单体援助系策略基本威力】
        援助 600  补给 1200 救济 1800
       【单体援助系策略附加值】
        援助 100  补给 50 救济 0
       (PS:使用补给时的计算因子中智力×等级除以的是[color=Blue]20[/color],与实际补给值计算除[color=Blue]50[/color]相比,扩大了补给的价值。)
[/quote]

敢问:除50哪里来的?

2009-12-15 14:41 muzhi
龙吟分析的攻击性策略和补给系策略的价值有问题
下面对同一个敌军步兵进行分析

根据龙吟的分析,此步兵使用火龙烧不在树林的人的基本值A为
策略基本威力A+步兵策略能力-防御方策略能力-100 = 500+步兵智力x步兵等级/50+步兵智力-防御方策略能力
则加权值为 (500+步兵智力x步兵等级/50+步兵智力-防御方策略能力)+随机值A
而在有可以援助而且援助后不会满血的目标时,援助的补给值=基本值B+随机值B,而
基本值B = 策略基本威力B+步兵智力x步兵等级/20 = 600+步兵智力x步兵等级/20
则加权值为 补给值+策略附加值 = 700+步兵智力x步兵等级/20+随机值B

援助加权值下限减去火龙加权值上限的差是
Diff=200+随机数B-随机数A+防御方策略能力+步兵智力x(步兵等级x3-100)/100
因此,根据龙吟的结果,只要有援助后不会满血的目标,敌人步兵就不可能火龙
但是实际上从汝南的曹仁到雒II的杨怀,我看到的全是正好相反的现象
这两个价值的计算肯定有哪里有问题

[color=Silver][[i] 本帖最后由 muzhi 于 2009-12-15 15:29 编辑 [/i]][/color]

2009-12-15 14:59 阿尔法孝直
[url]http://www.xycq.net/forum/viewthread.php?tid=23414[/url]
的最后几楼土狼提到过……

2009-12-15 15:06 muzhi
[quote]原帖由 [i]阿尔法孝直[/i] 于 2009-12-15 14:59 发表
[url]http://www.xycq.net/forum/viewthread.php?tid=23414[/url]
的最后几楼土狼提到过…… [/quote]

呃...是我调研不够...而且我还写错东西了...回去改...

[color=Silver][[i] 本帖最后由 muzhi 于 2009-12-15 15:08 编辑 [/i]][/color]

页: [1]


Powered by Discuz! Archiver 5.0.0  © 2001-2006 Comsenz Inc.