设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2966|回复: 13
打印 上一主题 下一主题

[已经解决] 在战棋中,什么样的电脑才算聪明?

 关闭 [复制链接]

Lv3.寻梦者

梦石
0
星屑
1185
在线时间
1564 小时
注册时间
2008-7-30
帖子
4418

贵宾

跳转到指定楼层
1
发表于 2011-2-10 16:21:06 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
>>> 我们的讨论限制在下面的条件下:
  • 角色、怪物的HP、移动距离、攻击范围是公共知识;
  • 衡量水平相当的角色或怪物的能力的排列顺序(也就是对于任意一个成员,大概知道对方的能力由大到小的排列)的经验公式是公共知识;
  • 对于战局中的任何一个成员,都可以估算任意一个其他成员能给自己造成的伤害范围;
  • 战局是没有战争迷雾的;
  • 尸体是不可以复活的;
  • 行动顺序按照速度值展开;


>>> 那么,我们关心什么?


  • 聪明的电脑应该给玩家造成尽可能多的伤害;
  • 聪明的电脑应该将自已收到的伤害减少以给玩家造成更多的伤害;
  • 聪明的电脑的每一步行棋都是有意义的;
  • 聪明的电脑能够正确分析出玩家的行棋意图;


>>> 如何保证电脑能给玩家造成尽可能多的伤害而自己受到较少的伤害?

2更像是1的前提,而1和2,可以根据 damage_expect() 函数计算这个衡量指标(不用担心他的具体实现,理解为一个抽象函数)。

我的一种想法是,每个电脑只关心离自己最近和自己可以给予最大伤害的目标,当然,有时候需要在两者之间均衡。在玩家每一部行棋后,move_to(actor, x, y) ,电脑会使用 find_damage_max_target(enemy) 和 find_nearby_actor(enemy) 来获得目标,然后使用 damage_expect(actor, enemy) 来衡量,只是这个过程是复杂的,需要考虑行棋路线的变化和状态的变化;

同时,这个利用了贪心策略的思想并不是正确的:子过程的最大收益并不能保证全局最大收益。

>>> 保证电脑的每一步行棋都有意义?

这个就更麻烦了,针对一个可移动距离为 n 的成员,在 ZTBS 中,他的最大可移动范围为:2*n*(n+1) 个单元格。如果要枚举更深的移动,那么这个时间就会更长。

>>> 如何能正确分析出玩家的行棋意图?




保证电脑的每一步行棋都有意义都很难了,如何保证电脑能了解玩家的行棋意图呢?算法不聪明,自然被带上独木桥。

突然发现 ZTBS 默认的 AI 多么聪明:直接朝最近的目标靠近,不管三七二十一,打吧。于是,就上演了上面的那幕。如果帕吉尔很厉害,就可以一夫当关万夫莫开,法师部队在后面输出了。

那么,什么样的电脑才算聪明?有哪些有效的算法?不一定要给出具体的实现,说个思路就行。


See FScript Here:https://github.com/DeathKing/fscript
潜心编写URG3中。
所有对URG3的疑问和勘误或者建议,请移步至发布页面。
欢迎萌妹纸催更

Lv1.梦旅人

垃圾死人

梦石
0
星屑
50
在线时间
285 小时
注册时间
2009-1-27
帖子
2420

贵宾

2
发表于 2011-2-10 16:30:00 | 只看该作者
能够懂的先攻击我方范围内的法师(也就是高输出者)和先攻击我方低防或残血者的电脑就是聪明的电脑了- -

点评

高攻一回合输出我150HP,残血输出我50HP,先秒高攻损失250点,先秒残血损失350点。速度顺序 我、高攻、残血。  发表于 2011-2-10 16:52
努力努力再努力
回复

使用道具 举报

Lv3.寻梦者 (暗夜天使)

名侦探小柯

梦石
0
星屑
3299
在线时间
3619 小时
注册时间
2006-9-6
帖子
37400

开拓者贵宾第3届短篇游戏大赛主流游戏组亚军第5届短篇游戏比赛亚军

3
发表于 2011-2-10 16:30:33 | 只看该作者
H3默认的AI就是【聪明的电脑应该给玩家造成尽可能多的伤害】,于是玩家们就是利用了这点设计了可以极小损伤的攻略方式……
回复

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1185
在线时间
1564 小时
注册时间
2008-7-30
帖子
4418

贵宾

4
 楼主| 发表于 2011-2-10 16:33:46 | 只看该作者
回复 无心孤云 的帖子

我两刀可以秒掉一个高输出,一刀秒掉一个残血的低输出的情况,我是不是改选择秒杀高输出呢?

点评

如果秒高攻出现miss或者高攻吃个回血.那么损失会更大.于是.先干掉绝对会死的是王道  发表于 2011-2-10 17:23
如果秒高输出失败的话就会受到两次攻击,秒残血比较保险呢  发表于 2011-2-10 16:52
这种情况我觉得应该选择秒残血.  发表于 2011-2-10 16:47

See FScript Here:https://github.com/DeathKing/fscript
潜心编写URG3中。
所有对URG3的疑问和勘误或者建议,请移步至发布页面。
欢迎萌妹纸催更
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
49
在线时间
83 小时
注册时间
2008-4-19
帖子
420
5
发表于 2011-2-10 16:36:23 | 只看该作者
评定一下啦- -
如果是单人AI的话就计算“被攻击的时候受到最少伤害的方法”什么的
好吧这是II让我贴的- -
回复

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
118 小时
注册时间
2010-7-28
帖子
194
6
发表于 2011-2-10 16:36:42 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

Lv1.梦旅人

虱子

梦石
0
星屑
121
在线时间
1782 小时
注册时间
2010-6-19
帖子
3597
7
发表于 2011-2-10 16:55:46 | 只看该作者
本帖最后由 Wind2010 于 2011-2-10 17:01 编辑

懂得判断危机-如果走过去会被攻击导致扣血则或降低优先度,降低的优先度由将会损失的生命决定
懂得攻击弱小群体-优先攻击血残或能秒的角色
懂得切断补给-专门附加buff(还是debuff来着?)和治疗系的角色优先攻击
将所有计划计算优先度后选择优先度最高的计划行动

好吧应该就是这样

评分

参与人数 1星屑 +200 收起 理由
DeathKing + 200 有道理

查看全部评分


http://rpg.blue/thread-175056-1-2.html
PVZ型塔防物一个
http://rpg.blue/thread-155199-1-2.html
RMXP技术讨论区手动认可帖,得到答案请认可
回复

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1185
在线时间
1564 小时
注册时间
2008-7-30
帖子
4418

贵宾

8
 楼主| 发表于 2011-2-10 17:03:52 | 只看该作者
回复 无心孤云 的帖子

在魔兽争霸3的SOLO游戏里面,我可能会选择先秒残血的,原因有以下几点:
  • 英雄可能会因为这点经验而升级,输出变多;
  • 避免对方有群补、治疗波之类的保兵手段;
  • 魔兽争霸3中即使是低级兵种,输出也是很可观的;


但是我们这个讨论和这个模型有差别,首先,在怪物的输出上就有很大的区别。

假设攻击顺序为:我,高输出(每回合输出150HP),残血(每回合输出)
先秒高输出: 第一回合受到150HP + 50HP,第二回合直接秒掉高输出,受到50HP伤害,第三回合直接秒掉残血;
先秒残血的: 第一回合受到150HP,直接秒掉残血,第二回合受到150HP,第三回合秒掉高输出;

第一种方式受到250HP伤害,第二种方式受到300HP伤害,而且都花了三回合。

不过根据我们的讨论可以知道,这个衡量可能要设计到多个因素:攻击输出的高低差异、闪避、暴击的可能性等。

点评

这个要看高输出和低输出能造成的伤害了  发表于 2011-2-10 17:46

See FScript Here:https://github.com/DeathKing/fscript
潜心编写URG3中。
所有对URG3的疑问和勘误或者建议,请移步至发布页面。
欢迎萌妹纸催更
回复

使用道具 举报

Lv2.观梦者

虚構歪曲

梦石
0
星屑
364
在线时间
1198 小时
注册时间
2010-12-18
帖子
3928

贵宾

9
发表于 2011-2-10 17:28:40 | 只看该作者
插一句。优先攻击祭司型角色。
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
49
在线时间
2287 小时
注册时间
2008-8-3
帖子
1505
10
发表于 2011-2-10 21:58:36 | 只看该作者
不一定要总是着眼于伤害,也可以着眼于其他方面。
1.分析玩家方的战力组成,进行战术的分类。譬如玩家方AOE多或强,就进行多小组散兵线;玩家方加buff的单位强力,就前方硬顶+快速偷袭,等等。
2.地形的利用,电脑在战棋中总有一拥而上的倾向,而且还是分批去送经验的……
3.combo,简单而有效的combo可以很容易的对对方造成伤害。
4.各兵种划分利用价值,一定程度上优先打击利用价值高的。

先就写这么多,想到在加。
我们缺乏的不是想象力,而是驾驭想象的能力
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-25 02:34

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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