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

Project1

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

SOU系统敌人AI收集思路贴

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1323
在线时间
831 小时
注册时间
2007-12-25
帖子
1558
跳转到指定楼层
1
发表于 2010-10-27 19:14:03 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
准备写VX的ARPG。

现在的开发进程




要挑战RM→ARPG的手感问题。

虽然现在还没有做到敌人这一块,但是现在就开始收集意见了。

构思:

设置方式:


所有的敌人的AI都在这里设置(比XAS里面的设置移动路线简单几百倍)

一回合算5秒钟(整个 就像回合战一样的设置方式),五秒钟内怪物会根据设置生成一个行动。
然后怪物就会执行这个行动。攻击,逃跑就不说了。

技能,技能是整个SOU最深奥的一块,不会的人只需要插入技能脚本就可以了。每个技能有一个攻击范围(模糊的。比如会移动的技能怪物没法算AI),怪物会在这个范围内搜做目标(队友或者自己或者敌人),若技能范围内没有目标,则向最近的一个目标靠近。一直到搜索到目标为止,然后执行攻击,攻击完毕后进行下一次行动策划。
若5秒(一回合)内没有完成,则放弃攻击计划再次策划。

防御,在设置怪物防御动作并不是怪物在那里不动然后降低受伤。而是向最近的一个回复单元移动。

整个分析上所述,可以说让Ruby不堪重负。当然那是高段AI怪物的设定。满屏幕那种怪物电脑就是受得了,玩家也受不了。

普通AI,不启用寻路,简单的根据相对位置决定方向。不启用步行目标搜索,只针对主角。
SOU除了3D,基本上可以实现全部你能想到的。

期待吧……
精卫赤龙腾   
总是存在一种强大,去完成似乎不可能的事情.
无畏战乾程   
或是需要一种勇气,去挑战几乎不存在的胜利.
一味玄真魂     
这是拥有一种恒心,去化解根本没有解的困难.
烈卫开天径    
只是带着一种决心,去争取残存的最后的希望。

Lv2.观梦者

花开堪折直须折

梦石
0
星屑
681
在线时间
943 小时
注册时间
2010-7-17
帖子
4963

贵宾

2
发表于 2010-10-27 20:39:48 | 只看该作者
抢到一个宝贵的沙发~~不过貌似已经有过很多ARPG脚本了呢~~喵~
大家好,我叫节操,有一天,我被吃了。
http://forever-dream.5d6d.com
永恒の梦制作组论坛

129993099
永恒の梦制作组QQ群
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
215 小时
注册时间
2007-8-16
帖子
80
3
发表于 2010-10-27 20:45:36 | 只看该作者
技能有什么难的?
比如把移动速度提高到6+,几步后移除,做成冲锋的样子

早期我做事件版的时候,所有技能都带一个范围,一般以一个事件块做为目标点。
比如有个地狱BOSS:他锤地的时候,把地面上随即几个地方塌陷,冒出火山,每个火山有3*3个范围,  方法是把一个事件移到随即个位置,释放动画,收集这个坐标,和其他事件位置相计算,靠近本事件造成伤害。

AI我当时设置2个,一个是每个敌人单独处理的AI,另一个就是上面那范例说的,但是上面那个是循环运作的,一个敌人处理完后,在处理下一个。

例子:一群10个骷髅,10个法师骷髅,
可以给这群骷髅穿插执行,
第一个骷髅先判定是攻击还是后退,安插一个开关,改变到独立处理中,
如果是进攻可以有向目标冲锋,投掷骨头,如果距离近则一次近战技能,如果后退,独立处理中改变向法师骷髅靠近,或向最近一个骷髅靠近。
然后判断法师,我是做的先判定其他骷髅血少的有哪些,带入变量30~60号中,在判定这个骷髅的位置,如果都不符合,在判断主角的位置,是施展法术,或则召唤或则传送靠近等。
这个方法也可以写成一个阵法,判定与主角的位置和近战骷髅位置,改变自己行动向哪个位置(带入独立处理中向一个地点靠近,比如靠近2号骷髅后面2格,则是每次移动收集2号位置和方向在加减2格就是了)

这个循环很快的,差不多5帧就可以判定完一个骷髅了。所以在游戏中根本看不出来时逐个处理的。XP版的我设置过50个敌人不卡。更多的没尝试。

点评

那个是08年做的,当时自认为达到 暗黑破坏神的水准了=。= 结果发布出来反响平平的……那帖子还在,但是只有魔法表格了,下载地址没了……  发表于 2010-10-29 00:01
发现强人,于是想要前辈的工程学习学习,晚辈最近也在写事件ARPG  发表于 2010-10-28 20:36
可以给我看看你的么  发表于 2010-10-27 21:10

评分

参与人数 1星屑 +100 收起 理由
九夜神尊 + 100 赞认真的回复

查看全部评分

回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1323
在线时间
831 小时
注册时间
2007-12-25
帖子
1558
4
 楼主| 发表于 2010-10-27 21:03:24 | 只看该作者
本帖最后由 九夜神尊 于 2010-10-27 21:07 编辑

回复 五彩西瓜 的帖子

Statu   Object  →  soul   灵魂

SOU系统不会使用任何开关以及变量,事件操作。全脚本!
可以自由创建事件,消除事件,动画播放器,带有攻击属性的物品(攻击器)。

只要需要产生伤害就必须创建一个攻击器,攻击器有自己的移动方式,攻击频率,攻击范围,攻击次数,生命时长
以及前前后后的一切,一个技能可能创建N个攻击器,每个攻击器同样可以再产生攻击器。攻击器的属性
和chartaire相同,可以移动,受阻,穿透也可以寻路。同样可以播放动画。

由于太灵活,所以使用起来只有会脚本的人才能写出来。

对于 Game_Event  Game_Player  Game_Companion(同伴) 采用同样的处理方式。

除了技能的制作,别的东西都要搬到RM的界面里。让即使不懂脚本的人也能使用!

PS。我再仔细看看你的骷髅法师。
精卫赤龙腾   
总是存在一种强大,去完成似乎不可能的事情.
无畏战乾程   
或是需要一种勇气,去挑战几乎不存在的胜利.
一味玄真魂     
这是拥有一种恒心,去化解根本没有解的困难.
烈卫开天径    
只是带着一种决心,去争取残存的最后的希望。
回复 支持 反对

使用道具 举报

Lv2.观梦者

铃铃塔的守护者

梦石
0
星屑
626
在线时间
961 小时
注册时间
2010-10-24
帖子
2768

贵宾

5
发表于 2010-10-27 22:16:25 | 只看该作者
sou系统是神马?

点评

正在开发的一个VX用的ARPG系统,除了技能。别的都可以用 事件做。  发表于 2010-10-27 22:45

魔法麻将独立游戏制作中,欢迎热情的测试员与UI设计师合作开发~
回复 支持 反对

使用道具 举报

Lv1.梦旅人

前进之卒

梦石
0
星屑
55
在线时间
20 小时
注册时间
2010-8-17
帖子
176
6
发表于 2010-10-27 23:07:00 | 只看该作者
表示非常期待这个系统,ARPG的手感和敌人的AI表示鸭梨很大,从楼主表述的内容来看,如果此系统真能完善,ARPG游戏系统会有个突破。敌人备注那块也可以用来设置行为。国外有个ARPG系统利用的就是备注来设置相关敌人AI和攻击技能。

点评

手感方面,给我制作动作图的神马知道,  发表于 2010-10-27 23:36
手感方面,给我制作动作图的神马知道,  发表于 2010-10-27 23:36
手感方面,给我制作动作图的神马知道,  发表于 2010-10-27 23:35
开始拼吧!
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1323
在线时间
831 小时
注册时间
2007-12-25
帖子
1558
7
 楼主| 发表于 2010-10-27 23:37:13 | 只看该作者
回复 红灯 的帖子


    手感方面,给我做动作图的神马知道。
stetus.active  状态+行动。摒弃网格!细节可以到微调每一帧动画。
唯一的缺点就是技能太难做,一个技能就是一个脚本页,甚至上千行脚本。


点评

大鸭梨撸过……  发表于 2010-10-31 17:21
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
215 小时
注册时间
2007-8-16
帖子
80
8
发表于 2010-10-27 23:45:34 | 只看该作者
我想大概你没怎么明白我的意思,总结下
你考虑的问题是敌人过多的时候,计算起来比较卡的问题。
我觉得可以循环处理,一个敌人AI判定完成后在判定下一个,打需要10帧,5个也就2.5秒处理间隔而已。
这个说细了内容就很多,讲的艰难。说几个抛砖引玉吧:
我做的时候有敌人呆滞问题,比如敌人超过50个,一个事件处理时间太长,敌人就呆在那等半天。   我就增加2个公共事件穿插在敌人处理事件中(敌人全局AI)  1,是把敌人编组,每一组由一个并行处理事件处理。  由于敌人随机的,所以还需要2来保证分配组的合理性。    2,是把所有敌人分配一个攻击序列,一个组中,序列号最大者,处理事件该目标的事件,这个序列分配很复杂,有浮动序列和固定序列,   固定序列负责分组,浮动序列负责攻击先后。
固定序列是按生成敌人时,随机分配的技能所决定,这个分组很有技巧的,我一时也说不完,大致就是把激活的敌人按数量比如10个敌人为一组,组先各分一个最大的数值,在分一个最小的数值,在分最大,在分最小…………,这样到最后,每组都为从高到低的排列了,好处是不会出现速度快的挤在一个组里,而是攻击快的攻击慢的都分在一个组里,相互穿插。这个处理也就1帧,而且是在激活一个敌人或则死亡一个敌人后处理,所以不费处理事件。
浮动就是像英雄无敌5那样排列方法,每处理完一个敌人后,则会按照固定序列增加相应数值,序列最大的优先处理,还可以根据和角色的距离,等来分配浮动序列。。。

  当时我做的时候,敌人还会持续施法等,还可以被中毒减速等状态,也能够狠好的运行。
做出大菠萝那样的智能,绝对可以的。
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1323
在线时间
831 小时
注册时间
2007-12-25
帖子
1558
9
 楼主| 发表于 2010-10-28 00:06:07 | 只看该作者
回复 五彩西瓜 的帖子

看明白了点,很实用而且是我没想到的好办法。
我还没想过把敌人按特征分组处理。
先这样,花一晚上时间想改怎么统一处理。
估计又是一个管理器。(这系统管理器一堆)
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
554 小时
注册时间
2007-6-25
帖子
1188
10
发表于 2010-10-28 17:37:47 | 只看该作者
…………我只不过想吐槽系统的名字罢了
不过以5秒为一个回合会不会太长了?

点评

……着实让我惊讶了!  发表于 2010-10-28 20:16
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-29 05:23

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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