作者mimjy (米其)
看板GameDesign
标题[转录][心得] 关於夏夜攻防战 - 其五
时间Fri Jun 16 00:02:28 2006
有了基本的动作STATE之後,Seeker总算有了最初的行为模式。
有仔细比对的人可能已经发现,在State的部分我还漏讲了一些地方。
1.SEARCH: "持续一段时间的搜索判定" 但是我不希望我的Seeker只有在原地
四处张望而已,我希望他能够东走走西走走,能拥有"四处寻找"的感觉
於是我在SEARCH状态下另外给了一组subState
SubState of SEARCH:
[ MOVING <-------------> LOOK ]
DETECT
LOOK : 让Seeker四处张望, 过一段时间之後给定下一个"LOOK"的位置
MOVING : 移动到刚刚经由LOOK给定的位置上
期间, 搜索蚊子的STATE "DETECT"是一直在进行的
这样,就可以得到一只在搜索蚊子时东跑跑,西看看的Seeker了
2. FIRE
这个State也被分成几个SubState
在讲这个之前,先来谈谈游戏中的武器设定概念。
每把武器其实有
(1) ammo:在同一个位置发射的弹量
(2) changePosition : 跑位次数
两个影响武器发射次数的参数
举两个极端的例子:
香菇气球的攻击,主要是从不同的角度制造干扰用弹幕
因此其参数设定上, ammo=1, changePosition=4 如此设定可以让四颗香菇气球
由不同的位置升空
而西瓜机关炮则是属於直接攻击型,有没有跑位反而不是那麽重要
於是参数设定变成ammo=22, changePosition=1
因此,FIRE的subState就被设计成如下:
subState of FIRE
ChangeMode --------> Shoot <------------> ChangePosition
^ |
^------------------------------------------
当完成武器的选择, State由CHANGEMODE转移到 SHOOT
当弹药打完, 由SHOOT转移到CHANGEPOSITION
当跑位次数到达设定, 转回CHANGEMODE
至此,简单的Seeker AI已经完成。
下一篇,我会讲基本的子弹控制以及碰撞。
(续)
文章转自暨大霞蔚山城 ★ HenryBBS (henry.twbbs.org)
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 163.22.18.97