游戏开发论坛

 找回密码
 立即注册
搜索
楼主: Cipher

[讨论] 我也发一个AI流程图新人求指教

[复制链接]

89

主题

822

帖子

847

积分

高级会员

Rank: 4

积分
847
发表于 2005-8-16 10:20:00 | 显示全部楼层

Re:我也发一个AI流程图新人求指教

我所要说的就是策划所需要进行的工作,作为执行策划,他所要进行的工作就是量化系统的每个模块,而不是去设计什么流程,如果你们强行需要制作所谓的AI流程图,你们自己可以试试,不要所策划难以承受就是一般的程序员也难以承受。至于什么蝙蝠跟什么相关,我就不说了,这不是我操心的事

另外说一句,我不是程序员,我也不是策划,哈哈,我是兼做做系统分析的,我的工作就是把量化的策划案转化为程序模块。那么我大致讲一下传统怪物的AI在程序中是如何工作的

系统会去检查当前怪物的状态,状态分为,死亡,寻路和攻击3个状态
根据这3种状态,会分别触发相应的事件

死亡状态细分分为2个:尸体状态和重生等待状态,这2个状态下,执行的动作很单一,尸体状态下,可以允许规定的玩家搜索尸体并获取战利品,并到达一定时间后将尸体销毁,进入重生等待状态。当重生等待时间结束,根据怪物重生条件刷新怪物,进入寻路状态

寻路状态也很单一,就是走来走去,策划会规定怪物寻路的范围和寻路的规则(比如规定路线,随机路线等等),并根据周围环境和系统条件触发下一状态,比如进入死亡状态或者战斗状态

怪物进入战斗状态后,确定是否需要追击或者逃跑或者转移攻击对象,不同的怪物根据自身设定进行下一步动作,一般都由脚本来完成,脚本的编写由执行策划来完成,策划不需要知道怪物攻击的流程,而只要设定每个怪物所使用的技能和魔法。那么我们就要问了,程序员是如何知道不同的怪物下一步需要干什么呢?
其实很简单,假如有100种怪物,每个怪物有10种魔法10种技能,那么我们会为这100种怪物记录20个状态和20个值,每次在进行下一步判断的时候检查一下10种魔法10种技能的状态和10种魔法10种技能的值,并调用对应的对象方法
比如我们计算当前概率大于5%,则对攻击对象实施1级中毒,我们只要调用玩家1级中毒的函数就可以了,至于玩家中毒后如何属性变化,如何反击,如何使用技能,那是玩家对象和中毒魔法对象的设定,策划会有专门的方案去处理,程序员会有单独的模块来实施

所以说,在程序员眼里,没有简单对象和复杂对象之分,所有的对象都是一致的,即使战斗AI非常复杂,在他们眼里无非最后都演变成属性方法和事件,只是花费的工作量大小多少而已

这样我们策划所要做的工作是什么呢?
我们策划所关注的就是像上面讲的,我的蝙蝠是不是有特点,是不是符合游戏背景需要,是不是复合怪物经验经济和区域平衡,技能魔法是不是具备一定智能。

而且,策划可以根据需要,随时进行调整,改变策划方案,甚至删除,而不需要去改变AI流程,因为本身就没有这个东西

有些东西大家交流是好的

0

主题

145

帖子

150

积分

注册会员

Rank: 2

积分
150
发表于 2005-8-16 17:38:00 | 显示全部楼层

Re:我也发一个AI流程图新人求指教

明白了,你们设计的是那种弱智的怪物,见到人就打,随机使用魔法,傻打到死,只是为主角送经验值用的。

0

主题

34

帖子

34

积分

注册会员

Rank: 2

积分
34
发表于 2005-8-16 19:58:00 | 显示全部楼层

Re:我也发一个AI流程图新人求指教

晕,楼主是来讨论AI设计的。。。你们贴一个对象描述的东西叫他OO
我倒不知道,设计AI时候,判断的过程不以流程形式而以OO形式怎么设计。

你那个蝙蝠的属性确实是这样。恩,蝙蝠攻击、逃跑、放魔法也可以看作蝙蝠这个对象的事件;通过这些事件与另外的对象(比如玩家人物)互动。但是这个蝙蝠在什么情况下,以什么样的几率做什么样的行为,这难道没有判断吗???

楼主的过程图并不是游戏的过程,而是一个判断的过程啊。难道强调OO就要忌讳“过程”二字,搞文字狱啊- -b

0

主题

34

帖子

34

积分

注册会员

Rank: 2

积分
34
发表于 2005-8-16 20:24:00 | 显示全部楼层

Re:我也发一个AI流程图新人求指教

恩,我收回上面说的话。因为我发现33楼写的那么多东西,画下来就是个流程图- -!

不过你这样的单一AI模式,是不是所有怪物的行为都是完全随机数?如果策划不去考虑AI的平衡,你是不是会觉得怪物太苯或者太强呢- -!

0

主题

145

帖子

150

积分

注册会员

Rank: 2

积分
150
发表于 2005-8-16 22:02:00 | 显示全部楼层

Re:我也发一个AI流程图新人求指教

AI用流程图也很危险,还是状态图好。

89

主题

822

帖子

847

积分

高级会员

Rank: 4

积分
847
发表于 2005-8-17 09:41:00 | 显示全部楼层

Re:我也发一个AI流程图新人求指教

我想知道大家对于流程的概念是什么样子的

面向OO的设计不是说没有流程,也不是说没有过程,UML模型中有状态图并没有流程图,在很多人眼里都觉得这是一回事,我们姑且就当他是一回事,但有一个OO概念是要有的,因为他会简化你的工作

89

主题

822

帖子

847

积分

高级会员

Rank: 4

积分
847
发表于 2005-8-17 09:58:00 | 显示全部楼层

Re: 我也发一个AI流程图新人求指教

明白了,你们设计的是那种弱智的怪物,见到人就打,随机使用魔法,傻打到死,只是为主角送经验值用的。


这不是用面向过程就可以解决的

我不知道你所谓的魔法是什么概念,所谓AI是每个怪物自己的属性,比如我可以给怪物设计一个技能,见到人后隐身,我也可以不给怪物这个属性,我可以让怪在HP小于一定的值时寻求帮助,我也可以让他战斗到死。还有比如我可以让远程攻击的怪物在受到近身攻击的时候自动远离玩家。

这些东西只要策划能想到,他可以随时给怪物添加,而不需要去变更AI流程,因为这些只是怪物的一个属性,程序员在编写代码的时候只要给怪物添加新的技能即可

大家可以想象一下,不要因为我拿一个所谓的弱智的蝙蝠就认为我的做法就只能设计弱智的怪物,还是抄来的,我想这不是我所要表达的

我所要表达的是,如何简化策划的工作,将策划从关心程序实现解放出来,而更去关注我们策划本身的东西,因为我们策划往往费尽心思为程序员考虑的东西在实际应用中程序员并不买我们的账(很多程序员有轻视策划的思想存在)

我们关注我们所关注的,只有当程序员提出我们的策划案实现起来有困难时,我们再根据程序员所提出的条件来进行修改,一开始就把问题复杂化会束缚我们的创意

9

主题

39

帖子

195

积分

注册会员

Rank: 2

积分
195
发表于 2005-8-17 10:14:00 | 显示全部楼层

Re: Re: 我也发一个AI流程图新人求指教

bigbook2000: Re: 我也发一个AI流程图新人求指教



这不是用面向过程就可以解决的

我不知道你所谓的魔法是什么概念,所谓AI是每个怪物自己的属性,比如...


bigbook2000所介绍的是开发过程中实用的方法。

楼主的AI流程图其实不是我们理解的单个单位的特殊AI,而更多近似一套通用的战斗规则流程,但是其中又混杂了很多AI的成分。

从整个图上来说,作为流程图是并不合适的,我们可以发现其中许多都构成单独的AI,是不能用流程来做的。比如其中的拾取AI、医疗AI等,他们并非串行关系。建议把战斗流程与AI区分开来,否则会很混乱。

为此实际制作中一般是采用bigbook2000所提出的方法,也就是制定AI的list,规定不同的触发条件及对应事件。另外,bigbook2000所给的蝙蝠示例并非一个AI设定表,而是怪物/NPC设定表,其中会制定AI表中的对应编号,这个是必须的。因为不同单位的AI类型通常会有所不同,需要为它们指定对应的AI。


4

主题

240

帖子

256

积分

中级会员

Rank: 3Rank: 3

积分
256
QQ
发表于 2005-8-20 12:12:00 | 显示全部楼层

Re: Re: Re: 我也发一个AI流程图新人求指教

书紫恒年: Re: Re: 我也发一个AI流程图新人求指教



bigbook2000所介绍的是开发过程中实用的方法。

楼主的AI流程图其实不是我们理解的单个单位的特殊AI,...

楼上说的很实在的说   
严重认同

0

主题

145

帖子

150

积分

注册会员

Rank: 2

积分
150
发表于 2005-8-22 18:38:00 | 显示全部楼层

Re:我也发一个AI流程图新人求指教

“面向过程”?
您老先生给个明确的定义?
“UML模型中有状态图并没有流程图,在很多人眼里都觉得这是一回事,我们姑且就当他是一回事”
天啊,你跟谁学的计算机,有限状态机懂不懂?听人说过活动图向流程图(其实是象petri网图)没听说过状态图象流程图的,你老先生画个象流程图的状态图给小弟我开开眼。

你老不会是刚学编程学了点vb看了两眼oo就来这神侃吧。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-7-3 19:18

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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