原地址: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)实现网游奖励掉落系统的更多相关文章

  1. 使用行为树(Behavior Tree)实现游戏AI

    ——————————————————————— 谈到游戏AI,很明显智能体拥有的知识条目越多,便显得更智能,但维护庞大数量的知识条目是个噩梦:使用有限状态机(FSM),分层有限状态机(HFSM),决策 ...

  2. 行为树(Behavior Tree)实践(1)– 基本概念

    原文地址:http://www.360doc.com/content/15/0107/11/15099545_438831036.shtml 自从开博以来,每天都会关心一下博客的访问情况,看到一些朋友 ...

  3. (转)行为树(Behavior Tree)

    转自:http://www.cnblogs.com/konlil/archive/2011/04/23/2025954.html 如果要让游戏里的角色或者NPC能执行预设的AI逻辑,最简单的用IF.. ...

  4. 《Note --- Unreal 4 --- behavior tree》

    Web: https://docs.unrealengine.com/latest/INT/Engine/AI/BehaviorTrees/index.html Test project: D:\En ...

  5. (转)火溶CEO王伟峰:Unity3D手机网游开发

    今天看到这篇文章,感觉很不错,尤其是那句“Unity3D的坑我觉得最严重的坑就是没有懂3D的程序员,把Unity当成Office用”. 转自http://blog.csdn.net/wwwang891 ...

  6. 后缀树(suffix tree)

    参考: 从前缀树谈到后缀树 后缀树 Suffix Tree-后缀树 字典树(trie树).后缀树 一.前缀树 简述:又名单词查找树,tries树,一种多路树形结构,常用来操作字符串(但不限于字符串), ...

  7. 手机网游开发指南 - 需要多NB的技术

    Agent`K 似乎在三天打鱼N天晒网.只能呵呵了,懒散的家伙. 移动互联网越来越火,其中的网络游戏更是火,熊熊大火. 作为攻城师的你,作为小投资者的你,作为满脑子创意想要实现的你,肯定在四处打听:手 ...

  8. 网游中的网络编程系列1:UDP vs. TCP

    原文:UDP vs. TCP,作者是Glenn Fiedler,专注于游戏网络编程相关工作多年. 目录 网游中的网络编程系列1:UDP vs. TCP 网游中的网络编程2:发送和接收数据包 网游中的网 ...

  9. Behavior Tree

    http://www.craft.ai/blog/bt-101-behavior-trees-grammar-basics/ https://github.com/libgdx/gdx-ai/wiki ...

随机推荐

  1. Map,HashMap

    Map(映射),又称为字典(Dictionary),是由关键字(Key)及其对应的元素值(Value)所组成的元素单元(Element)的表单式集合. 通常,对于Map而言,使用给定的Key,可以迅速 ...

  2. GestureDetector.OnGestureListener

    为了加强鼠标响应事件,Android提供了GestureDetector手势识别类.通过GestureDetector.OnGestureListener来获取当前被触发的操作手势(Single Ta ...

  3. meteor 实现 微信分享

    Template.hello.events({ 'click button': function () { // increment the counter when button is clicke ...

  4. iOS学习之UITableView编辑

    一.UITableView编辑 UITableView编辑(删除.添加)步骤: 让TableView处于编辑状态. 协议设定:1)确定Cell是否处于编辑状态:2)设定cell的编辑样式(删除.添加) ...

  5. Apple Watch应用开发经验谈:我遇到的那些坑

    本文作者张忠良是滴答清单Apple Watch版应用的开发工程师,他用了一周的时间使用纯Objective-C语言完成了Apple Watch版滴答清单应用的开发工作.在这里,他从开发角度阐述了个人对 ...

  6. SharePoint 2010 RBS 安装和配置遇到的一个问题

    在按照微软官方的文档按照配置的时候遇到下面问题: <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event ...

  7. C# SQL增删查改

    DBHelper: /// <summary> /// 执行查询 /// </summary> /// <param name="sql">有效 ...

  8. 50.ISE布局布线错误

    ERROR:Pack:1654 - The timing-driven placement phase encountered an error. 原因:时钟输出引脚直接接在I/O上了: 方法:在时钟 ...

  9. .gitignore无效,不能过滤某些文件

    利用.gitignore过滤文件,如编译过程中的中间文件,等等,这些文件不需要被追踪管理. 现象: 在.gitignore添加file1文件,以过滤该文件,但是通过git status查看仍显示fil ...

  10. [shell基础]——数组

    数组赋值 1. 逐个数组元素赋值 # array[0]=11 # array[1]=22 # array[2]=33 # echo ${array[@]} 11 22 33 33 2. array( ...