行为树,彼得原理和组织行为学
本周四,SAGITEAM 的肥宅同学精心准备,做了一次内部分享,关于 行为树。
SAGITEAM 制作的部分小游戏使用了 行为树 作为游戏 AI 的实现基础。行为树解放了程序员的一部分工作力,让策划同学能更加全面和直接地控制游戏中的行为。在开始使用行为树之前,SAGITEAM 已经将 FairyGUI 加入美术岗位的工作流中,让美术同学跳过程序员直接实现 GUI,成功避免了程序员提刀追砍产品经理,美术同学在一旁助威的杯具。
本文并不是一篇讨论行为树的技术文章,而是在此次分享结束后我站在 团队管理、个人成长以及工作效率 角度的一些关联思考。为了方便阅读,下面摘录一些 PPT 内容。很欣慰这次肥宅同学的文案中”既然“没有什么错别字!
肥宅的讲稿摘录
行为树可以做什么
- AI(AI的行为逻辑)
- 通过胜率控制本场难度
- 较为复杂的抽奖逻辑
- 游戏外的更多领域
行为树和状态机的比较
优点
- 行为逻辑和状态数据分离,任何节点写好以后可以反复利用
- 重用性高,可用通过重组不同的节点来实现不同的行为树
- 呈线性的方式扩展,易于扩展
- 可配置,把工作交给程序之外的人
- 能够胜任”AI” “掉宝”等等场景
缺点
- 每一帧都从 Root 开始,有可能会访问到所以的节点,相对 State Machine 消耗更多的 CPU
- 任何一个简单的操作都必须要使用节点
如何构建行为树
- 思考需求,分解动作,包括需要的参数
- 和程序沟通核对,调整具体需求
- 程序完成后,核实节点是否有效并且满足需求
问题思考
- 美术可以利用行为树做什么
- 策划如何更好和程序沟通
- 面对有些行为树不太好实现的功能需要如何解决
关于行为树的讨论
肥宅的分享结束后,大家的讨论格外激烈(如果不是我拦着,估计肥宅的分享就讲不完了)。下面我列出这些讨论过的问题以及大家讨论出的解决方案。
第一,有些功能用行为树很难实现
肥宅同学认为一些行为很难用行为树来实现。但阿森(程序员)认为这些行为不能实现的原因是对行为树的思维方式不了解导致。此处策划和程序各自表明了自己的观点,但我认为双方都没有站在对方角度想问题。
我认为策划理解程序思维是非常有必要的。行为树的使用涉及到很多程序术语,在对情况程序运行方式不了解的前提下,策划会陷入一个思维模式的陷阱中无法自拔。此时程序员要主动去对策划进行教学,帮助策划勇敢地走出第一步。在这一步中程序员会消耗较多的精力,甚至需要帮助策划去思考。但这个消耗是值得的。
策划也需要在这个阶段中努力学习程序术语,积极与程序沟通以理解程序的思维方式和逻辑。这个过程可能很痛苦,但这个痛苦依然是值得承受的。
第二,什么时候应该选择行为树,什么时候应该选择状态机?
Nef 同学提到了 AI 实现的三重境界:
- 用
If/Else
硬编码; - 使用状态机,基于事件编程;
- 使用行为树。
这三重境界越来越高级,对使用者的要求也越来越高。SAGITEAM 的作品”天才射手“中使用了状态机,现在的新作中开始使用行为树,说明我们对自己的要求更高了。
木易同学认为策划同学应在游戏设计之初就确定选择。并非所有的游戏都适合使用行为树。一些比较简单的 AI 可能更适合使用状态机或者硬编码。如果策划能够在项目开启之初就想好方案,就能避免返工,让产品开发更快捷。
这就需要策划更深入地思考项目,做出更加精确的规划。这是对策划要求的进一步提升。
第三,行为树的优势
对于这一点,湃总讲得很清晰。他认为行为树可以提高协作效率。就像我们使用 FairyGUI 提升美术和开发之间的协作效率一样,行为树也能将对 AI 行为的改变限制到策划岗位,所有的调整都不需要程序员参与。这样既保证了策划同学对于行为思考和实现的一致性,又解放了程序员的生产力。
彼得原理
上面的讨论大部分是程序员在向策划发出质问,或者对策划岗位提出更高的要求。在 SAGITEAM,我一贯主张并持续推进下面几点:
- 策划需要熟悉美术、程序和运营
- 程序员必须会 PS 切图
- 美术需要了解程序的思维方式
只有这样,我们才能尽量晚地接触到 《彼得原理》 所提到的 上升悖论 限制:
在层级组织里,如果我们积极进取、不断晋升,那么我们迟早会升到一个超出我们能力的位置,陷入工作不胜任的困境之中,成为组织的障碍和负资产。
彼得原理在 1969 年提出,它与 1955 年提出的 帕金森定律 和 1948 年出现的 墨菲定律 一起被称为西方管理学上的三大发现。彼得博士甚至提出,如果人类无节制地追求进步和发展,人类本身也迟早会进入生存不胜任的状态。
我并不担心人类的生存不胜任。我更关心 SAGITEAM 成员的成长。彼得原理所提到悖论有一个很重要的前提,就是 ”在层级组织里“。现代互联网创业公司的扁平化结构,削弱了层级观念对整个组织的影响。坚持小团队规模,强联系和职能侵入的工作方式,也能在一定程度上缓解不胜任困境。然而,这些方案都只能做到“缓解”,如果希望团队和成员进一步成长,除了给大家提供学习目标和方向之外,还必须想办法从底层激发团队成员的热情,让成员推着团队走。
组织行为学
这次关于“行为树”的培训,就是一个自我激发的例子。行为树的使用是在产品设计的过程中,由策划推荐给程序员,再从程序员反推至策划的。它不是一个自上而下的产物,而是一个自下而上的过程。在木易同学意识到行为树的重要性时,我们制定了一个全员分享计划,让所有人都参与到行为树的学习中来。这次分享又造成了更深入和积极的讨论,进一步影响着 SAGITEAM 全体成员的思维模式。
我觉得这个过程是 组织行为学 的一个极好范例:
组织行为学(英语:Human Behavior in Organization),是通过研究一定组织体系内人的心理和行为表现及其规律,从而提高预测、引导和控制人的行为的能力,以实现组织既定目标的一种社会科学。
组织行为学是研究在组织中以及组织与环境相互作用,人们从事工作的心理活动和行为反应规律性的科学。它采用系统分析的方法,综合运用心理学、社会学、人类学、生理学、生物学、经济学和政治学等知识,研究一定组织中人的心理和行为的规律性,从而提高各级领导者和管理者对人的行为预测和引导能力,以便更有效地实现组织预定的目标1。
组织行为学的目的只有一个,就是改变工业化时代建立起来的那套边界清晰,分工明确,职责固定的管理方式。把它变得更灵活、更能激发创新、更适应当下快速变化的商业环境。
现代管理的目的不是约束个体,而是要激活个体2。生态就像一片肆意生长的草原,它不是控制出来的,而是失控的结果3。管理的目的是把企业还原到最小的颗粒度:人,然后通过激发个体的活力让团队保持活力。
缺乏创新、目标僵化、缺乏工作参与度,归根到底就是缺乏探索欲。探索系统是人类大脑的一个生理结构,是进化赋予人类族群的整理算法。它激发人类主动离开舒适区,去寻找新的可能性。一旦产生对外探索的欲望,它就会刺激身体,释放出积极的生理信号,让你感觉到接下来进行的工作充满了强烈的使命感和意义。
长久地停留在舒适区,会让探索系统失灵。对探索者行为的约束(例如限制创新方式),对探索者错误的惩罚都会导致探索行为止步不前。我们需要建立更自由的创新方式,创建安全区,保护探索者的激情和梦想。
要升级我们的探索系统,当然需要对探索者提出更高的要求。
SAGITEAM 值得这样做。
SAGITEAM 也正在这样做。
所以,不要害怕我对你要求太高。
欢迎加微信吐槽
公众号:曾嵘胡扯的地方
- 文章ID:2676
- 原文作者:zrong
- 原文链接:https://blog.zengrong.net/post/behavior-tree-and-organizational-behavior/
- 版权声明:本作品采用 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 进行许可,非商业转载请注明出处(原文作者,原文链接),商业转载请联系作者获得授权。