战棋战略制作组

创建于:2022-06-27

创建人: mioku

16 信息 15 成员
海量的小元素汇聚成巨大的历史流向,一只蝴蝶扇动翅膀。在庞大的世界框架中纵横捭阖,与偶然的随机性和必然的历史对抗,这就是大战略的魅力!

[策略][战棋]敌对AI行动!基于兴趣开发的策略战棋游戏开发日志~ 十二

mioku 2023-02-14

    首先介绍一下使用的功能库ReGoap(仓库地址:https://github.com/luxkun/ReGoap),ReGoap是可用于Unity的一个Goap库。Goap(Goal Oriented Action Planning)即[以目标为导向进行行动计划],简单理解就是给出一个目标,Goap会根据可采取的行动制定出实现目标的计划。虽然说起来很简单,上手还是需要做不少理论准备和实践测试的。有空我可能会写个ReGoap库内主要内容的使用介绍(先埋个坑)。

    接下来我会根据Goap制定计划的两大关键词来介绍一下目前实现的功能。这两大关键词即:Goal(目标),Action(行为)

    从一个战棋游戏角度来看,单位的Action(行为)总结来说主要是移动和攻击(休整、撤退等作为扩展类的策略先不考虑)。而单位的Goal(目标)大概可以归纳为防守,进攻,巡逻等等。通过调整目标之前的优先度,从高到底计算目标是否可行,计算出实现优先级的最高目标的计划。一轮Goap就算是完成了。

例如:

我们为红方步兵设置守卫营地目标的优先级为5,而攻击敌人的优先级为10。

而红方骑兵则设置守卫营地目标的优先级为10,攻击敌人的优先级为5。

行动逻辑展示

红方步兵行动时,攻击敌人的优先级更高,因而采取了攻击目标.Goap会为其制定计划:移动至蓝方步兵身旁->攻击蓝方步兵->完成目标。

红方骑兵行动时,守卫营地的优先级更高,所以采取守卫任务.Goap会为其制定计划:移动至营地->完成目标。

通过补充更多的行动和目标,处理好目标的优先级,一个简单的AI系统就完成了!!

此外,行动也具有Cost(花销),细化行动的花销可以使Goap制定出相对更优的计划。例如在移动这个行动中,移动的距离,目标点的地形都可以成为花销的计算参考。

除了AI行为,在长期断更的过程中顺便简单实现了游戏存档,回合控制等等周边功能,没什么好看的就不作展示啦。


    本次展示的AI功能还十分简陋,只有少数几个行为和目标,好在支撑更多扩展内容的框架已经搭好了。上手REGOAP真是花了不少时间(这个库的文档写的太简略了,上手使用走了不少弯路),在断更的两个月里无数次的调试和啃源码真是很头疼。晚些我会试着写篇使用介绍看看能不能帮上其他感兴趣的人的忙。

    已经是2023年啦!这个尚未命名的策略游戏也缓慢的制作了近半年的时间,虽然依旧很简陋,但我会继续制作下去的!要是对开发有什么建议,或者有兴趣合作的话(好想要美术和数值策划队友呀!)欢迎联系我! QQ:2763686216






(转发自:原日志地址
 

加入 indienova

  • 建立个人/工作室档案
  • 建立开发中的游戏档案
  • 关注个人/工作室动态
  • 寻找合作伙伴共同开发
  • 寻求线上发行
  • 更多服务……
登录/注册