使用行为树(Behavior Tree)实现网游奖励掉落系统
原地址:http://blog.csdn.net/akara/article/details/6165421
[原创]使用行为树(Behavior Tree)实现网游奖励掉落系统
by AKara 2011-01-24 @ http://blog.csdn.net/akara @ akarachen(at)gmail.com @weibo.com/akaras
奖励/掉落系统,涵盖物品,经验,金钱等网游中可直接给予玩家的元素。
一个简单,直观,可扩展的掉落系统对网游中的产出控制起非常重要的作用。
奖励/掉落系统 的设计归结起来有如下要点:
* 概率控制
* 物品控制
* 数量控制
* 嵌套控制
只要这几点的控制抽象和组织得好,掉落系统自然好用。
实现的方案很多,或简洁高效,或复杂强大...但每次几乎都要按照新游戏
特色需求重新定制策划案和程序基础模块;是否存在一种可以作为其底层
逻辑描述的结构供策划和程序人员长期使用,而兼具简洁,直观,可扩展?
又一次试试 行为树(Behavior Tree) 吧。
---------------------------------------------------------------------
又先贴本文相关的图
词意解释:
Root:根节点
WRSel:加权随机选择节点
Seq:序列节点
Cond:条件节点
Act:行为节点
R:概率权值公式
N:数量公式
e:游戏实时环境参数集
而具体的行为树(Behavior Tree)概念,可参考我之前写的文章:
<<使用行为树(Behavior Tree)实现游戏AI>> by AKara
http://blog.csdn.net/akara/archive/2010/12/19/6084786.aspx
上图中描述了一次具体的奖励掉落规则,而且也可以看到里面很简单地加入
规则的嵌套的支持(参考"R(e)Root"子树)。
---------------------------------------------------------------------
使用行为树(Behavior Tree)来实现奖励掉落系统有如下优点:
> 基于游戏实时环境参数集作概率控制
> 基于游戏实时环境参数集作数量控制
> 支持简单的子规则树调用
> 直观的树结构
> 既定环境下的节点概率演算测试
> 易扩展的节点可见性控制
> 功能节点规则成熟
> ...
---------------------------------------------------------------------
行为树(Behavior Tree)不只用于 AI条目的管理 或 奖励掉落系统的组织,
稍加留意或可发现还能应用于很多方面。
更重要的是:行为树(Behavior Tree)使设计者和实现者用同种规范来达成目标。
相关文章
- 冷链智能仓储系统助力物流企业降本增效
- 【单片机】51单片机最小系统
- 详细介绍如何在ubuntu20.04中安装ROS系统,以及安装过程中出现的常见错误的解决方法,填坑!!!
- BSC链智能合约质押挖矿模式系统开发
- 高并发系统设计之限流
- Prometheus+Grafana+钉钉部署一个单机的MySQL监控告警系统
- 如何实现在iOS系统播放WebRTC低延时视频流?
- Linux系统下的Proxy配置实现(linux代理配置文件)
- Linux系统下实现网卡休眠的方法(网卡休眠linux)
- 系统Linux下新建文件夹的简易步骤(文件夹创建linux)
- 系统只用Linux:实现真正的终极无极限(电脑只装linux)
- 信息探索Linux系统: 面对信息更精准(查看linux的系统)
- 性能Linux优化:让系统运行更加高效(linux优化系统)
- Linux系统用U盘装家—实现快速安装新系统(linux系统装入u盘)
- 探索Linux系统中I/O状态的方法(linuxio查看)
- 福特新一代车载信息娱乐系统放弃与微软合作,转而选择QNX平台
- 异常中的异常——借助系统异常处理特例实现匪夷所思的漏洞利用
- 轻松实现LDAP搭建,完美运行于Linux系统!(ldap搭建linux)
- 开启RTC功能实现Linux系统的高精度时间同步(rtclinux)
- 优化Linux系统当前连接数量优化策略(linux当前连接数量)
- Oracle助力JDE打造卓越系统(oracle跟JDE)
- Linux mtrace: 实现系统内存跟踪的利器(linuxmtrace)
- 轻松部署Linux系统:利用WDS实现快速部署(wds部署linux)
- 如何正确安装SQL Server系统?(怎么装sqlserver)
- 安卓系统中MSSQL多线程开发实现(安卓mssql线程)
- Linux系统密码锁定保护用户隐私(linux 密码锁定)
- ARM Linux串口通信:实现嵌入式系统的稳定数据传输(armlinux串口)
- 如何在Linux系统中正确地读取文件?(linux下读取文件)
- 实现高效数据存取系统使用Redis缓存(系统redis缓存)
- 使用Redis搭建安全的单点登录系统(用redis实现sso)
- 自制redis缓存系统极速提升服务性能(仿redis实现)