使用行为树(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)使设计者和实现者用同种规范来达成目标。
使用行为树(Behavior Tree)实现网游奖励掉落系统的更多相关文章
- 使用行为树(Behavior Tree)实现游戏AI
——————————————————————— 谈到游戏AI,很明显智能体拥有的知识条目越多,便显得更智能,但维护庞大数量的知识条目是个噩梦:使用有限状态机(FSM),分层有限状态机(HFSM),决策 ...
- 行为树(Behavior Tree)实践(1)– 基本概念
原文地址:http://www.360doc.com/content/15/0107/11/15099545_438831036.shtml 自从开博以来,每天都会关心一下博客的访问情况,看到一些朋友 ...
- (转)行为树(Behavior Tree)
转自:http://www.cnblogs.com/konlil/archive/2011/04/23/2025954.html 如果要让游戏里的角色或者NPC能执行预设的AI逻辑,最简单的用IF.. ...
- 《Note --- Unreal 4 --- behavior tree》
Web: https://docs.unrealengine.com/latest/INT/Engine/AI/BehaviorTrees/index.html Test project: D:\En ...
- (转)火溶CEO王伟峰:Unity3D手机网游开发
今天看到这篇文章,感觉很不错,尤其是那句“Unity3D的坑我觉得最严重的坑就是没有懂3D的程序员,把Unity当成Office用”. 转自http://blog.csdn.net/wwwang891 ...
- 后缀树(suffix tree)
参考: 从前缀树谈到后缀树 后缀树 Suffix Tree-后缀树 字典树(trie树).后缀树 一.前缀树 简述:又名单词查找树,tries树,一种多路树形结构,常用来操作字符串(但不限于字符串), ...
- 手机网游开发指南 - 需要多NB的技术
Agent`K 似乎在三天打鱼N天晒网.只能呵呵了,懒散的家伙. 移动互联网越来越火,其中的网络游戏更是火,熊熊大火. 作为攻城师的你,作为小投资者的你,作为满脑子创意想要实现的你,肯定在四处打听:手 ...
- 网游中的网络编程系列1:UDP vs. TCP
原文:UDP vs. TCP,作者是Glenn Fiedler,专注于游戏网络编程相关工作多年. 目录 网游中的网络编程系列1:UDP vs. TCP 网游中的网络编程2:发送和接收数据包 网游中的网 ...
- Behavior Tree
http://www.craft.ai/blog/bt-101-behavior-trees-grammar-basics/ https://github.com/libgdx/gdx-ai/wiki ...
随机推荐
- C# 将DataTable装换位List<T> 泛型
public List<T> GetList<T>(DataTable dt) where T:new() { List<T> DateLists = new Li ...
- SQL基础学习篇--字符函数
字符函数可与SELECT,UPDATE,DELETE RIGHT()----从右侧开始选择 SELECT RIGHT(列,字符数量) FROM 表 LEFT()----从左侧开始选择 SUBSTR ...
- 基于HTML5的可预览多图片Ajax上传
一.关于图片上传什么什么的 在XHTML的时代,我们使用HTML file控件上传图片一次只能上传一张.要一次上传多图,做法是借助于flash.例如swfupload.js.可惜,使用复杂的点,比如f ...
- linux CentOS 系统下如何将php和mysql命令加入到环境变量中
在Linux CentOS系统上安装完php和MySQL后,为了使用方便,需要将php和mysql命令加到系统命令中,如果在没有添加到环境变量之前,执行“php -v”命令查看当前php版本信息时时, ...
- MVC4.0 使用Form认证,自定义登录页面路径Account/Login
使用MVC4.0的时候,一般遇到会员登录.注册功能,我们都会使用Form认证,给需要身份验证的Action进行授权(需要登录后才能访问的Action添加[Authorize]属性标签),登录.注册的时 ...
- 4.FPGA芯片管脚解释
用户I/O:不用解释了. 配置管脚: MSEL[1:0] 用于选择配置模式,比如AS.PS等. DATA0 FPGA串行数据输入,连接到配置器件的串行数据输出管脚. DCLK FPGA串行时钟输出 ...
- JS全局屏蔽回车事件
window.onload = function (){ document.body.onkeydown=function(event){ if(event.keyCode==13){ event.k ...
- Differences Between Xcode Project Templates for iOS Apps
Differences Between Xcode Project Templates for iOS Apps When you create a new iOS app project in Xc ...
- 【收藏】Linux下tomcat内存配置
常见的内存溢出有以下两种: java.lang.OutOfMemoryError: PermGen space java.lang.OutOfMemoryError: Java heap space ...
- Leetcode Variant-Plus N
Given a non-negative number represented as an array of digits, plus N to the number. The digits are ...