铁血丹心

 找回密码
 我要成为铁血侠客
搜索
查看: 2754|回复: 7

KOEI的战棋游戏是怎么制作的

 关闭 [复制链接]
发表于 2007-2-2 17:53 | 显示全部楼层 |阅读模式

马上注册,结交更多侠友!

您需要 登录 才可以下载或查看,没有账号?我要成为铁血侠客

x
原贴地址http://dx.xycq.net/forum/thread-125155-1-2.html

自己哒话:记得以前玩英杰传的时候第一关轻松过去
到第二关打了一天多才过了 (第一天打不过去第二天继续)
打过了第二关开始上手了打到白帝又出现困难也是打了俩天才打过
这个游戏我打通关似乎用了1个月时间..
现在我会想..为什么第二如此简单我居然会打了那么久...


我们的曹操传MOD,现在基本上是用Van的编辑器+各种辅助工具制作的,我们以为已经很自动化了。但是,无论哪个MOD,我们总是常常被抨击说太难了,设计不合理什么的。那么光荣的游戏又是怎么做的呢?
写游戏引擎是肯定的,但是他们必然也会和我们一样写剧本的,我们调试,测试麻烦,BUG多等问题,他们一样有啊,他们如何规避这个风险呢?或者说他们如何 更好的处理呢?
从曹操传,或者说从目前我们看来,没有发现他们有什么高招。我只是奇怪一点,Ekd5.exe居然有个倒出函数。作为一个可执行的最终Exe,为什么要有这样一个导出函数呢,没有去试,但是一直有点怀疑。
刚刚,小笨给我看了三国在线的两篇文章,是关于英杰传的反汇编的。第二篇讲到了英杰传有个隐藏的Debug菜单,于是我按上面说,试了一下,果然如此 。不由有点恍然大悟,KOEI原来藏着另外的窍门。
下面转小笨给我看的两篇文章
三国志英杰传中战场随机因素的分析
作者:hblongbow  来自:三国在线

--------------------------------------------------------------------------------
这几天对游戏进行了反汇编,发现了几个关于策略杀伤力方面的很有趣的规律,拿出来与各位朋友分享,如有兴趣,可以顺便验证一下。
0、随机数:游戏中使用除法去余数的运算来产生随机数。例如对一个大数除以47,会产生0~46之间的随机余数。
以下用rand(47)来表示上述操作,下文中各种概率都是随机数产生的。
1、关于策略
(1)杀伤兵力类:
策略失败概率:防御方智力第一修正值/(攻击方智力第一修正值-1)/4
策略成功概率 = 1-失败概率;
策略杀伤力 = (基准值 + 攻击方智力第二修正值*2 - 防御方智力第二修正值)* 地形天气因素 * (2%以内的随机增益)
第一修正值 = 智力*等级/100 + 智力
第二修正值 = 智力*等级/50 + 智力
基准值:
焦热=200,火龙=600,猛火=1000,
漩涡=300,浊流=700,海啸=1100,
落石=400,山崩=800,山洪=1200。
地形:
树林中火计为1.25
雨天中水计为1.25
其他情况下为1
兵种影响:
如果防御是方运输队、军乐队或妖术师,则防御方第一修正值加倍,
且如果计谋成功,杀伤力减半。
例如,等级10、智力40的山贼对等级15、智力80的关羽使用山崩计,
山贼的修正值为 v1 = 40*10/100 + 40 = 44
v2 = 40*10/ 50 + 40 = 48
关羽的修正值为 v1 = 80*15/100 + 80 = 92
v2 = 80*15/ 50 + 80 =104
计谋成功的概率为 p = 1 - (92/43/4) = 46%
如果成功,杀伤力为 800 + 48*2 - 104 = 792~806人。
如果山贼对等级12的孙乾用计,则,
孙乾的修正值为 v1 = (74*12/100 + 74)*2 = 164
v2 = 74*12/ 50 + 74 = 91
计谋成功的概率为 p = 1 - (164/43/4) = 5%
如果成功,杀伤力为 (800 + 48*2 - 92)/2 = 402~410人。
作为简化处理,如果双方条件差不多,则计谋成功率为75%左右,
用计方智力高出30点,成功概率一般在85%以上。
(2)混乱类:
失败概率 = 防御方智力第一修正值/(攻击方智力第一修正值-1)/2
修正值计算方法同上。
例如,等级12的刘备对等级10的步兵队使用假情报计:
刘备的修正值为 v1 = (64*12/100 + 64) = 71
步兵队修正值为 v1 = (30*10/100 + 30) = 33
计谋成功概率为 p = 1 - (33/70/2) = 76%
(3)恢复兵力类:
恢复量 = (用计方等级 * 智力 / 20 + 计谋基准值) * (10%以内的随机增益)
基准值:援助 = 600, 补给 = 1200,救济 = 1800。
例如,等级30的马良使用援助计,可以恢复
30*90/20 + 600 = 735~806 人
2、关于混乱状态:
(1)进入混乱状态:
战斗中即时检测,如果士气值降到30以下,则随机陷入混乱,概率60%(除5取余看是否小于3)。
与等级、能力无关。
与中计方当前是否混乱无关(即“变得更加混乱了”和“混乱”效果一样)。
(2)从混乱中恢复:
战斗中即时检测,概率为百分之
(士气 + 统御力) / 3
例如,士气值100的张飞中计混乱后,激励一次就恢复的概率为
(100 + 83)/3 = 61%
士气值24的简雍混乱后,下一回合就自动恢复的概率为
(24 + 36)/3 = 20%,
每回合都用同样方法计算,故两回合之内恢复的概率为 (1 - 0.8*0.8) = 36%,
三回合恢复概率49%,等等。
与曾经陷入混乱的次数无关(即从“更加混乱”和“混乱”中恢复算法一样)。
3、反击:
发生反击的概率 = 被攻击方武力 / 150
与其他能力、兵种等无关。
例如武力62的潘宫反击概率为41%,武力69的董梁反击概率46%等等。
-----------------------------------------------------------------------------------------------------------------------------------
关键在这一篇,更猛.
三国志英杰传中隐藏的DEBUG菜单
作者:hblongbow 来自:三国在线
麻雀虽小,五脏俱全,三国志英杰传这个游戏中还有一个隐藏的DEBUG功能。
在战斗中,点下鼠标右键,会出现“功能”下拉菜单,里面有回合结束、胜利条件、全军撤退等,这个隐藏的DEBUG菜单就在“功能”的最后一项,“游戏结束”的下面,在我们玩的普通版本里不会出现,但是通过修改MAIN.EXE文件,可以使它现形!
允许DEBUG功能后,战斗中屏幕左上角会不断打印当前位置的两个坐标,黑底白字,而且察看敌军角色信息时,
原有的“经验值”一栏会打印出该角色的AI类型。AI类型前辈们已有总结,在此不赘述,常见的有
休息、移动、攻击最近敌等等。
DEBUG菜单里面有7个子功能,其文字说明是未经汉化的日文,所以如果不经过进一步的修改,由于内码不兼容,在显示DEBUG菜单时会死机。
因此可以给这7个子功能取一下中文名称,从上到下依次为:
1. 事件继续:
:“事件继续”一项,实际是“随意移动”。即:
在点击“事件继续”后,人物可以移动到任何地方!并且在无法移动的地方若站上人,防御力极高,几乎普通攻击只能打1滴血。
2. 立即胜利:
本次战役立即胜利。
3. 无人操作(展示方式)

刘备军会自动行动,不需玩家控制.在回合结束时狂点鼠标可以退出这种方式.
4. 控制友军
可以控制友军,例如界桥之战中公孙瓒的部队.
5. 控制所有(包括敌人)
这个够狠,如果用这个模式,大概可以打出2n个99级吧.
6. 部队及友军等级均+5
每用一次,战场上刘备军和友军的每支部队等级均加5,但是策略值和当前兵力不增加.
7. 当前回合数+5
等于说每用一次,自动跳过5个回合。呵呵,除了测试之外,好像没什么用处。
以下是所有的修改。先将MAIN.EXE复制成MAIN.EEE,然后把下面的内容做成一个文本文件INPUT.TXT ,
在DOS窗口中,切换到MAIN.EEE所在目录,执行 DEBUG < INPUT.TXT即可,然后将MAIN.EEE再复制成MAIN.EXE即可。
n main.eee
l 3000:0
a
;禁止战局初始化时清除DEBUG标志
e 5000:6590 90
e 5000:6591 90
e 5000:6592 90
a
;指定DEBUG标志
e 6000:9ED8 02
a
;菜单项:事件继续
e 6000:9F6A A8
e 6000:9F6B C6
e 6000:9F6C A5
e 6000:9F6D F3
e 6000:9F6E C4
e 6000:9F6F 7E
e 6000:9F70 C4
e 6000:9F71 F2
e 6000:9F72 00
a
;菜单项:立即胜利
e 6000:9F75 A5
e 6000:9F76 DF
e 6000:9F77 A7
e 6000:9F78 59
e 6000:9F79 B3
e 6000:9F7A D3
e 6000:9F7B A7
e 6000:9F7C 51
e 6000:9F7D 00
a
;菜单项:展示方式
e 6000:9F80 AE
e 6000:9F81 69
e 6000:9F82 A5
e 6000:9F83 DC
e 6000:9F84 00
a
;菜单项:控制友军
e 6000:9F89 B1
e 6000:9F8A B1
e 6000:9F8B A8
e 6000:9F8C EE
e 6000:9F8D A4
e 6000:9F8E CD
e 6000:9F8F AD
e 6000:9F90 78
e 6000:9F91 00
a
;菜单项:控制敌军
e 6000:9F98 B1
e 6000:9F99 B1
e 6000:9F9A A8
e 6000:9F9B EE
e 6000:9F9C BC
e 6000:9F9D C4
e 6000:9F9E AD
e 6000:9F9F 78
e 6000:9FA0 00
a
;菜单项:等级+5
e 6000:9FA3 B5
e 6000:9FA4 A5
e 6000:9FA5 AF
e 6000:9FA6 C5
e 6000:9FA7 A5
e 6000:9FA8 FE
e 6000:9FA9 2B
e 6000:9FAA 35
e 6000:9FAB 00
a
;菜单项:当前回合号+5
e 6000:9FAE 52
e 6000:9FAF 6E
e 6000:9FB0 64
e 6000:9FB1 2B
e 6000:9FB2 35
e 6000:9FB3 00
a
;"事件继续"的提示讯息
e 6000:A062 "OFF"
e 6000:A065 00
e 6000:A06F "ON"
e 6000:A072 00
a
;提示讯息
e 6000:A07A "OK"
e 6000:A07C 00
e 6000:A0DB "OK"
e 6000:A0DD 00
e 6000:A0EC "OK"
e 6000:A0EE 00
a
;跳过DEBUG方式下的左上角坐标打印
e 5000:8216 EB
e 5000:8217 03
w 3000:0
q
----------------------------------------------------------------------------
7个菜单选项,我们看到,控制友军控制敌军,明显是一种对S制作的调整,回合+5,显然是对回合数仔细测试时候要的。而无人操作方式,这个应该就是KOEI认为关卡是否过难还是过于简单的重要尝试了。
所以,换个角度想,我们制作MOD的时候有时能否故意把弄些和我军一样的人进行电脑K电脑的一次比拼呢。
p.s : 不过我最新试了下,这个展示的功能有点问题

----------------------------------------
我按照原文作者的方法,依样画葫芦,改了Exe,整个英杰由于比较小,就一起打包了,大家可以下下来看。

这,对步步那些追求英杰终极打法的人不知道是不是一种打击。
最后,虽然不认识hblongbow ,但是在此对他表示深深的感谢。

[color=blue,strength=4);]点击下载英杰传

评分

参与人数 1 +5 收起 理由
fengcoco + 5

查看全部评分

【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
头像被屏蔽
发表于 2007-2-2 18:07 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2007-2-3 08:47 | 显示全部楼层
战棋类型的游戏要想玩好,首先你应该学习看点关于类似的游戏攻略。。
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2007-2-3 12:08 | 显示全部楼层
看不明白,先谢谢楼主为MOD制作提供资料
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2007-2-3 13:50 | 显示全部楼层
帅极了
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2007-2-5 23:46 | 显示全部楼层
我看不懂不过我倒是很想学习制作站旗类MOD~
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2007-2-6 10:41 | 显示全部楼层
好复杂的数字计算!投机胜利?
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2007-2-6 11:59 | 显示全部楼层
KOEI??
出过太阁这游戏的吧
战棋类的模式是不是貌似太阁里合战的模式??
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。

本版积分规则

小黑屋|手机版|铁血丹心

GMT+8, 2024-11-16 10:39

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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