RPG多人回合制战斗框架设计《六:战斗AI》
RPG战斗框架包含以下四部分的内容:
一、基本战斗流程
二、战斗角色设计
三、战斗伤害计算
四、技能设计
五、BUFF设计
六、战斗AI
RPG战斗的ai主要用在战斗NPC上
以战斗来看,应该有攻击意向,攻击方式,注重攻击或者防御,如何应对受击,对不同的情况有特定应对方式、如潜行/突袭,追击意向,技能释放意向等等。
其实电脑怪物要智能些,符合策划需求,像玩家一样,会特定时候放技能,血少时候逃跑等
战斗角色要存在ai的功能
class CNpcWarrior(CWarrior):def __init__(self, ai_func):self.m_ai_func = ai_func
AI = 条件 + 行为
一个怪物执行多个AI即可以完成想要的只能效果
比如:
AI1 = 血少时候 + 逃跑
AI2 = 最后一回合时候 + 释放技能
AISet = AI1 + AI2
怪物即可用AISet去实现
条件:
class CLimit(object):m_id = 101m_name = "血量低于指定值"def is_limited(self, warobj, wobj, hp):if wobj.get_hp() < hp:return Truereturn Falseclass CLimit(object):m_id = 102m_name = "非某回合"def is_limited(self, warobj, wobj, bout):if warobj.m_bout != bout:return Truereturn False
行为:
class CAction(object):m_id = 101m_name = "逃跑"def do_action(self, warobj, wobj, *args):wobj.escape()
AI父类:
# -*- coding: utf-8 -*-import ai.limit
import ai.actionclass CAIBase(object):m_id = 0m_name = ""m_opt = ""m_limits = []m_actions = []def __init__(self):lst = []for id in self.m_limits:ob = ai.limit.load_limit(id)lst.append(ob)self.m_limit_objects = lstdef __call__(self, *args):limit_args, action_args, warobj, wobj = argslimit_exp = self.m_optfor i, id in enumerate(self.m_limits):limit_exp = limit_exp.replace("%d" % id, "%s" % ("self.m_limit_objects[%d].IsLimited(warobj, wobj, *limit_args[%d])" % (i, i)), 1)if eval(limit_exp):for i, id in enumerate(self.m_actions):func = ai.action.load_action(id)func(warobj, wobj, *action_args[i])
ai 字类:
class CAI(CAIBase):m_id = 1001m_name = "血少非某回合逃跑"m_opt = "101 and not 102"m_limits = [101, 102]m_actions = [101]
多个ai集合
class CAISetBase(object):m_sid = 0m_ai_list = []def __init__(self):lst = []aiidlst = []for aid, args in self.m_ai_list:func = ai.load_ai_func(aid, *args)lst.append(func)aiidlst.append(aid)self.m_ai_objects = lstself.m_ai_list = aiidlstdef __call__(self, warobj, wobj):for func in self.m_ai_objects:func(warobj, wobj)
# -*- coding: utf-8 -*-class CAISet(CAISetBase):m_SID = 1002m_AIList = [(1001, (((100, 5),), ((None,),))),(1001, (((100, 5),), ((None,),))),]
RPG多人回合制战斗框架设计《六:战斗AI》相关推荐
- RPG多人回合制战斗框架设计《五:Buff设计》
RPG战斗框架包含以下四部分的内容: 一.基本战斗流程 二.战斗角色设计 三.战斗伤害计算 四.技能设计 五.BUFF设计 六.战斗AI 五.BUFF设计 BUFF类似被动技能,存在战斗角色身上,只不 ...
- RPG多人回合制战斗框架设计《四:技能设计》
RPG战斗框架包含以下四部分的内容: 一.基本战斗流程 二.战斗角色设计 三.战斗伤害计算 四.技能设计 五.BUFF设计 六.战斗AI 四:技能设计 被动技能的功能: 1.有这个技能,会有某种功能, ...
- 步步为营 .NET三层架构解析 四、Model设计(四种设计方式)
说到Model设计,我们先谈谈它的作用: Model又叫实体类,model层里面的一个类对应数据库里面的一张表, 类里面的每一个属性对应表里面的一个字段,每个属性都有自己的 GET 和 SET 方法, ...
- [新手必备]如何用c#写挂机游戏的回合制角色对战(多人vs多人对战部分)
前两篇文章中,我们讲了如何用c#搭配unity写出多人回合制游戏, 如果需要参考一下的朋友,可以点击传送门: 1v1部分,点击传送 1v多人部分,点击传送 现在,我们将进行回合制游戏最主要的部分,多人 ...
- java模拟回合制游戏大小姐_java – 回合制游戏设计:事件驱动与游戏...
我用Java创建了我的第一个游戏.这场比赛是垄断.我正在努力设计游戏以模拟其回合制结构(管理玩家转弯).我想允许单个人控和一个或多个AI控制的玩家玩游戏. 我的具体问题是我不知道是否实现游戏循环,这意 ...
- java回合制游戏女主牺牲自己_java – 回合制游戏设计:事件驱动与游戏循环
我用Java创建了我的第一个游戏.这场比赛是垄断.我正在努力设计游戏以模拟其回合制结构(管理玩家转弯).我想允许单个人控和一个或多个AI控制的玩家玩游戏. 我的具体问题是我不知道是否实现游戏循环,这意 ...
- 表演的艺术,妖尾回合制战斗系统客户端设计
妖尾历经几年开发,终于在今年6月底顺利上线,笔者从2017年初参与开发,主要负责妖尾战斗系统开发.战斗作为游戏的核心玩法系统,涉及很多技术点,希望能借几篇文字,系统性总结MMORPG战斗系统的开发经验 ...
- java用接口回调回合制游戏_类DOTA游戏如何设计多样化的技能系统?
这个嘛,我觉得我还是能答的,因为我曾经设计了DOTA2的一款RPG,虽然未完(逃 有道云笔记 有道云笔记 有道云笔记 有道云笔记 当然没翻译完,因为弃坑了233 以上是数据驱动类型的技能,还有脚本驱动 ...
- java模拟回合制游戏大小姐_[源码和文档分享]基于java的RPG回合制游戏
一.工作积累总结 1.1 简介 该项目是一个回合制RPG游戏,讲述了动物主角对抗人类,自逃出动物园开始,一路与人类对抗,提升能力,并寻找新队友组成团体,逼得人类不得不与之谈判,最终与人类达成了和平协议 ...
最新文章
- hiernate的锁机制
- wincc flexable变量组态
- 【Java案例】-Jedis操作redis教程
- 142. 环形链表 II golang
- vspy如何在图形面板显示报文_设备实时状态监控:如何进行工业生产设备数据采集?...
- NotFoundHttpException
- memcache 知识点
- 你是否需要安全运营中心?
- Linux 简单架设防火墙路由器
- python 开源爬虫工具 kcrawler 一键爬取 房价 掘金小册专栏
- Python 微信自动化工具开发系列05_根据用户信息自动回复(2022年10月可用)
- 华硕笔记本进bios按哪个键 华硕手提电脑怎么进bios设置
- 微信自定义菜单以及自动回复
- 基于中科院-CASIA-GaitDatasetB步态图像轮廓数据库的步态周期检测与步态角度特征MATLAB源码介绍
- 通过BOMC制作微码更新介质方法
- centos虚拟机桥接网络配置服务器,CentOS7虚拟机桥接网络配置
- Python个人学习小结
- 华兴资本获高瓴资本与京东金融等多家机构认购
- 读刘未鹏《暗时间》有感
- OpenCv设置摄像头参数/获得摄像头参数值
热门文章
- 常见数据加密与解密方式
- 用 Saleae Logic 16 示波器测量并分析 I2C、SPI、串口的信号
- 猴子补丁(Monkey Patching)
- 逻辑漏洞原理与实践练习题
- 牛逼了!最全的互联网公司 Java 面试题及答案开放下载
- Unity UI系统--image组件
- Windows Server 2008 R2 系统安装视频课程-深博-专题视频课程
- 泰勒公式浅谈原理(转) ----- 深度好文, 一点是如何蕴含整个世界
- python文件可以执行的环境有哪些呢
- c语言3d打印机控制程序下载,ReplicatorG-3d打印机控制软件下载 v0040 中文免费版 - 安下载...