原地址: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. Jquery + echarts 使用

    常规用法,就不细说了,按照官网一步步来. 本文主要解决问题(已参考网上其他文章): 1.把echarts给扩展到JQuery上,做到更方便调用. 2.多图共存 3.常见的X轴格式化,钻取时传业务实体I ...

  2. angularjs2 学习笔记(六) Form

    Angular 2 Form表单 在angular2 form表单中我们需要了解表单数据绑定.数据验证.数据提交等内容,在下面的示例中并没有实际提交到后台,这部分内容在今后webapi中加以练习. 表 ...

  3. Linux源代码情景分析读书笔记 物理页面的分配

    函数 alloc_pages流程图

  4. .NET开源工作流RoadFlow-流程设计-流转条件设置(路由)

    当一个步骤后面有多个步骤时,可以设置为根据设置条件系统自动判断该流向哪些步骤,也叫路由. roadflow没有单独的路由步骤来设置条件,流程条件通过双击连线弹出条件设置框来设置. 1.sql条件 即通 ...

  5. linux kernel 0.11 head

    head的作用 注意:bootsect和setup汇编采用intel的汇编风格,而在head中,此时已经进入32位保护模式,汇编的采用的AT&T的汇编语言,编译器当然也就变成对应的编译和连接器 ...

  6. Tutorial: Importing and analyzing data from a Web Page using Power BI Desktop

    In this tutorial, you will learn how to import a table of data from a Web page and create a report t ...

  7. ElasticSearch版本升级备忘录(1.5.2至2.3.1)

    discovery机制默认为单播,需配置discovery.zen.ping.unicast.hosts:,如果各节点使用默认端口,则只配IP即可(["172.17.4.47", ...

  8. 修改一行代码提升 Postgres 性能 100 倍

    http://www.datadoghq.com/2013/08/100x-faster-postgres-performance-by-changing-1-line/ SELECT c.key,  ...

  9. Python实现kMeans(k均值聚类)

    Python实现kMeans(k均值聚类) 运行环境 Pyhton3 numpy(科学计算包) matplotlib(画图所需,不画图可不必) 计算过程 st=>start: 开始 e=> ...

  10. 实现压缩access(*.mdb)数据库的方法

    下面的函数用来压缩access数据库 需要增加ComObj单元 //压缩与修复数据库,覆盖源文件 function CompactDatabase(AFileName,APassWord:string ...