游戏开发论坛

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

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

[复制链接]

1

主题

61

帖子

61

积分

注册会员

Rank: 2

积分
61
发表于 2005-8-9 15:22:00 | 显示全部楼层

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

严重同意12楼的……
就算是纯粹学程序设计的,对于面向过程的流程图也是会看得莫名其妙的

对于楼主的流程图不如分开来作,以一个NPC为中心,设计一个流程图更简单。
比如:当自身血少于多少时后退,玩家在距离多少时进攻。对于医疗的判断,不需要战斗类NPC进行判断,应该有专门的医疗NPC对周围我军单位自动进行判断加血等工作。


菜鸟一个,多多包涵

23

主题

163

帖子

241

积分

中级会员

Rank: 3Rank: 3

积分
241
QQ
发表于 2005-8-9 16:43:00 | 显示全部楼层

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

我个人觉得太复杂了,这个图不是设计程序,而是让程序知道你的NPC到底要干什么有什么状态和行为而已,这么复杂。。。。。。。

22

主题

371

帖子

387

积分

中级会员

Rank: 3Rank: 3

积分
387
 楼主| 发表于 2005-8-9 17:30:00 | 显示全部楼层

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

感谢大家的指点
同志们我感动啊,突然就出来这么多评论,待我来回:

to:Marshall
设定目前有二十几页左右,实现的难度……没有打算和能力要实现……争取升华到不用棋盘和棋子下围棋的境界……

to:bigbook2000
感谢,如下文所述,因为要把它改成面向对象的,到时漏洞补好后再来请教。

to:fengsan,pklinqi
是太复杂了,大家都这么说。可是我还觉得要说的东西还没有说完,纸面就已经没了,该是把太多的东西集中在一张图里的原因?

to:ArmStd,dis510
感谢指点,晚些时候我把它改成面向对象的,再来请教。顺便说一下,这个AI并不打算应用于全部兵种,在第一帖里我写了,这是用于一个普通攻击组的敌人,标准情况下的。支援组、火力组或是不利状况下之类的AI还没有写哪。


21

主题

794

帖子

859

积分

高级会员

Rank: 4

积分
859
发表于 2005-8-9 17:56:00 | 显示全部楼层

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

感觉是在将N页内容浓缩到一页来看……

关于面向对象问题……刚学,不发表意见……

如果能够把不同状态的变化设计成全新AI间的切换,估计就更好理解了吧……

21

主题

794

帖子

859

积分

高级会员

Rank: 4

积分
859
发表于 2005-8-9 18:03:00 | 显示全部楼层

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

给楼主一点建议:

和公司的系统分析师搞好关系,然后给他玩《火纹》,用不了多久,他会帮你写出一份非常成熟的流程图,在这个基础上来进行充分改进……一个超级经典的AI就出炉了。

学习时请不要忘了自己的同伴和业界前辈的作品。

0

主题

24

帖子

24

积分

注册会员

Rank: 2

积分
24
QQ
发表于 2005-8-10 14:26:00 | 显示全部楼层

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

我看了30秒。。。没看懂的说。

18

主题

445

帖子

455

积分

中级会员

Rank: 3Rank: 3

积分
455
发表于 2005-8-10 15:04:00 | 显示全部楼层

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

论坛里难得一见的好贴

22

主题

371

帖子

387

积分

中级会员

Rank: 3Rank: 3

积分
387
 楼主| 发表于 2005-8-10 17:57:00 | 显示全部楼层

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

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

?????]有?橙恕⒁?]有援助(修?汀⒅委?)?ο螅?揖?溆腥?漳?耍ㄍǔ6际怯校?r,似乎可能?生需要治?的角色追著具?渲委?能力的角色跑?因?榇私巧?赡芤宦分北既?漳?饲叭ァ??柚委?的角色在後面一路苦追...


不会,因为支援组,也就是专业治疗人员的AI是不同的,会以需要治疗的人物为优先。现在的写法其实是有问题的,就是战斗组的成员即使携带有医疗装备也不会就近医疗旁边的同伴,但我实在没有纸面再展开这一项了,展开以后会更复杂……

关于行动点数判定,我忽略了状态导致的行动不能,感谢提醒。要在最前面回合开始时加入状态判定

远距离攻击问题,等我再想想……

0

主题

145

帖子

150

积分

注册会员

Rank: 2

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

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

那你就分几页来写吧。

22

主题

371

帖子

387

积分

中级会员

Rank: 3Rank: 3

积分
387
 楼主| 发表于 2005-8-11 20:29:00 | 显示全部楼层

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

在几个小时的作业后,我觉得bigbook2000提出的以面向对象的方法来策划AI开发是错误的,我走了弯路。
如下图,我做了一张各个对象的示图,就面向对象来说,希望还能混得过去。
在这张图中,绝大部分内容都是在我的策划文档中已有的,只不过区别在于,之前我是用清单而不是面向对象的示意图来表示。比如说,以前我的文档是这样的:

队员属性
名称        描述
AP        行动点数,各种行动均消耗一定的AP,AP用完后不能做出任何行动,在没有特殊条件的情况下(例如:晕倒),下一回合开始时全部恢复。
生命值        ……
……

或者说这其实就已经是面向对象了,只不过现在的图表把它变成更接近程序的架构而已。可是,这有什么意义呢?这应该是程序员的工作而不是策划的工作,他们做这件事可以做的更有效率而且更好。就移动来说,我用了方法:移动,下含四个子方法:通常,快速等等,以程序来说大概应该是叫方法的overloading,(半吊子的VB程序员,错了见谅),而真正的程序员可能会指出,用一个属性:移动方式,加一个方法:移动会更好。那我现在把它画成这样岂不是浪费自己的时间且误导,我只要用文档来说明一下队员可以有四种移动方式就可以了,我既不必也没有足够的能力去管具体的实现方式。
武器、装备、物品都是一样的。

bigbook2000说,我们并不需要去分析玩家怎么开始,遇到事件流程怎么分支,玩家的玩法怎么进行,并举出了星际和英雄无敌的地图编辑器作为例子,这肯定是正确的。但是,地图编辑器、玩家的行动等有一个最大的特点:它不是AI。地图编辑器根本没有AI,玩家行动只能触发AI。作为地图编辑器,很明显面向对象是完全必要且易用的,大部分时间我们都在“放置”一个个对象。而AI,你不给他一个过程,告诉他要先干什么后走哪一步的话,那是没法用的。
你提出的“战斗本身就不是一个过程,从程序代码的角度来讲,他是由各个事件触发而形成的”根本是错误的。那是在写应用程序,不是在写AI,这一点我看得很清楚。尽管很烂,也写过几个VB应用程序,VB的特点就是“事件触发的”,在各个控件的事件中加入代码就可以形成VB程序的大体结构,和C++不同。玩家的操作对游戏来说,是事件;状态的改变,是事件,但AI的行动是过程。面向对象没办法表述AI的思考。AI思考本身是过程的,顺序的,渐进的。
或许Bigbook2000误解了我的第一张图,在此图中,是以电脑方的视角来描述的,因此所有的“己方”,从游戏者的角度来看就是“敌人”,而所有的“敌人”,就是指游戏者的队员。你是否把它当成是描述游戏者行为的图表了?——描述游戏者行为完全没有必要,他们不必按照任何流程来行动。从这个意义上来说,用户界面也就是游戏者实际操控的界面其实很接近一个应用程序,用户的行为是不可预知的,必须以事件驱动的方式来写用户界面。地图编辑器是UI-User Interface-用户界面,而我要表达的是AI-Artifical Intelligence-人工智能。

不使用流程图,要怎样才能表现AI?我想只有两种方法。第一,就是编上序号的文档。比如说:

(注意这里还是以AI的视角来写的,参见上文)
0、回合开始
1、找到离敌人最近的队员
2、命令该队员向其攻击

在序号更多、流程更复杂了以后,就不得不用跳转,比如说,如果xxx成立,那么转到第y步。找起错误和漏洞不如流程表容易。有点像早期的basic程序,带行号的那种。跳转就是goto语句,而goto因为最擅长把人弄晕不是快要被VB摒弃了么。

第二种,面向对象,更加程序化的写法,很难想象要怎么清楚表述AI。比如:
如果 队员.队员A.视野矩阵 含有 敌人1,那么
队员A.攻击(目标=敌人1)

倒,我是在写伪代码喔

从策划的角度来说,我宁可写文档来描述。而AI大概是现在的策划案中唯一还需要流程图的。其他的要么用表格,要么干脆已经被策划和程序抛弃。哦,漏了一个,科技树的话也是图更直观好用。

Armstd在楼上提到,“?]有推演模?M?,???在的我也不知道?共??枰?O?多少模?(物件、事件判?啵┕δ埽?会徇M行分?取用。”我觉得我也深有体会。在设计和模拟中才逐渐知道需要哪些东西,考虑哪些状态和事件。试着画了一下流程表就发现可以直观地添加节点,联系和分支,只要拖来拖去就可以了。
sf_2005811202847.gif
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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