npc

使用AI行为树开发任务系统

我只是一个虾纸丫 提交于 2021-02-20 01:08:54
·本篇日志是 http://gad.qq.com/article/detail/39709 的后续扩展日志,感谢 AI分享站 的启发。 任务系统在游戏开发过程中伴随着DEMO版本一直修改到RELEASE版本,无时无刻都在修改,时刻反复经受着策划和运营的折磨。无数的惨痛教训使我痛定思痛,放弃传统的硬编码方式转而寻求一种动态的实现方式,一种设计优秀的任务系统在这个过程中能让程序员独善其身,任凭风浪起,稳坐钓鱼船。这就是我想说的行为树任务设计思想。 下面我们来简单描述一下任务系统,任务系统一般可以分成这3个部分 ·可执行任务的条件,例如:角色等级,职业限制等等。这部分在detect中判定 ·任务执行过程中的细节,此处能拆分出若干项行为 ·任务的完成条件,有些任务是服务器判断完成条件的(杀怪等), 有些是客户端判断完成条件的(和NPC完成一次对话等) 任务可以拆分出的各种细节,每一个可以抽象成行为树的行为节点,这样根据任务的具体细节设计出一棵行为树。各个行为节点中的内嵌脚本可以交于策划填写具体的逻辑。程序部分的工作主要是实现角色的基本逻辑单元以及一些黑板功能,逻辑单元之间的组合交织就通过脚本实现。原本繁杂易修改的逻辑脱离出硬编码方式,这样的好处显而易见了。 我们看一下这个简单的例子: 有一个简单的任务:寻找NPC,然后和NPC对话至完成对话,并完成该任务 这个任务的具体细节有3步,第一步

上周热点回顾(2.19-2.25)

五迷三道 提交于 2021-02-19 10:51:02
热点随笔: · 听说你开发.NET还在用VS,小哥哥给你推荐全平台的Rider ( 愤怒的TryCatch ) · 到底该不该使用存储过程 ( 陈宏鸿 ) · 游戏服务器设计之NPC系统 ( 知然 ) · SqlSugar ORM 入门到精通【一】入门篇 ( 孙凯旋 ) · 使用websocket实现在线聊天功能 ( <天上白玉京> ) · .NET Core使用swagger进行API接口文档管理 ( OMango ) · 【Java】多线程初探 ( 外婆的彭湖湾 ) · 孤立的SQL用户 ( DB乐之者 ) · 使用Spring Boot搭建应用开发框架(一) —— 基础架构 ( bojiangzhou ) · 话说区块链,它真的不是比特币 ( 望星辰大海 ) · 高可用Redis服务架构分析与搭建 ( Horstxu ) · SQL注入详解 ( 飞天小子 ) 热点新闻: · 微软正式开源Blazor ,将.NET带回到浏览器 · 一个五线小城市青年的回乡偶记 · 刘强东宿迁往事:回老家一小时发350万红包 把京东客服搬回家 · .NET Core 2.1路线图 · 悲催的80后,躲不过的养老危机 · 逃离硅谷吃起盒饭 科技精英回国追逐几何增长机会 · 微软精心打造的Vista系统,为什么死得这么快? · 中科院阿里云发布国内首个超导量子处理器 · 微软再发力Python

MMORPG游戏的人工智能(AI)和行为树设计

久未见 提交于 2021-02-19 02:43:51
  文 / alchemistli    什么是MMORPG的AI?   玩MMORPG的地球人都知道,MMORPG的AI实在是弱智的要死。即使是在WOW这样顶级的游戏中,AI也是有限得掉渣,绝大部分NPC都像一个木桩一样,哪怕是精心设计的BOSS也就只有一些战斗AI。尽管有很多人把动画,或者自动寻路之类的功能也叫做AI,但是我们并不讨论这种基本功能。我们讨论的AI是指,可以使得NPC好像一个真人一样活动的AI。拥有这样AI的NPC看起来就不再是那个只有血条和攻击力的模型,而给玩家的感受会是一个有信念、欲望和意图的生命。从更广泛的意义上说,如果整个游戏世界是“高AI”的,那么这个游戏世界会充满着自由度。这意味着玩家可以在游戏中“创造”出前所未有的武器、科技甚至会有能力改变整个游戏世界外貌和文明。如果真正出现这样一款MMORPG,那么赢得粉丝们的惊声尖叫应该并不意外。品管中心孕育中的项目“失落的大陆”目前就正在向这个方向努力中,希望能够取得一定水准的突破。    AI系统   一个典型的AI系统包括,感知,导航和决策三个字系统。对于游戏来说,感知系统是可以“作弊”的,不需要NPC去“感知”世界,系统可以直接告诉NPC世界是怎样的。而导航系统,不属于今天的讨论范围。而决策系统才是让NPC看起来可以有自己的意图和信念,所以我们接下来主要讨论一下决策系统。    AI决策系统的常见模型  

2018"百度之星"程序设计大赛

喜欢而已 提交于 2021-02-15 02:30:07
1001 $ 1 \leq m \leq 10 $ 像是状压的复杂度。 于是我们(用二进制)枚举留下的问题集合 然后把这个集合和问卷们的答案集合 $ & $ 一下 就可以只留下被选中的问题的答案了。 之后扫一遍随便判一下重。 1002 非空子串中字典序最小的子串长度一定是 $ 1 $ 。 咱们就记录一下每一个字母出现次数的前缀和, 每次询问就找到出现过的最先的那个字符就星了。 1003 整数规划好像是个NPC问题, 所以我们肯定不能直接上整数规划。 咱们来尝试把问题转换一下。 n=2 x1---y1 \ / X / \ x2---y2 看起来像是个二分图。 二分图我们可以想到什么呢? KM算法。 它有一个奇特的性质, 就是假设 $ x_i $ 和 $ y_j $ 被一条边 $ a_{i,j} $ 匹配上, 那么 $ x_i $ 的标签 $ l_i $ 和 $ y_j $ 的标签 $ r_j $ 有这样一个式子是成立的: $ l_i + r_j \geq a_{i,j} $ 题目要求 $ l_i + r_j \leq a_{i,j} $ ? 把它变成 $ - l_i - r_j \leq -a_{i,j} $ , 然后硬上KM就好了。 注意标签的初始值。 1004 如果你有好办法, 请教教我这个蒟蒻吧。 1005 我们先想一下动态规划。 设 $ f_{i,j} $ 表示以第 $ i

浅谈P/NP问题

北城余情 提交于 2021-02-11 09:08:58
  克雷数学研究所(Clay Mathematics Institute,CMI)是在1998年由商人兰顿·克雷(Landon T. Clay)和哈佛大学数学家亚瑟·杰夫(Arthur Jaffe)创立,兰顿·克雷资助的一家非牟利私营机构,总部在麻萨诸塞州剑桥市,机构的目的在于促进和传播数学知识。克雷数学研究所给予有潜质的数学家各种奖项和资助,该 研究所在2000年5月24日公布的七个千禧年难题,它们是:   (1)霍奇猜想   (2)庞加莱猜想   (3)黎曼假设   (4)杨-米尔斯规范场存在性和质量间隔假设   (5)NS方程解的存在性与光滑性   (6)贝赫和斯维讷通-戴尔猜想   (7)P=NP?   这七个问题被研究所认为是“重要的经典问题,经许多年仍未解决”。解答任何一题的第一个人将获颁予一百万美元奖金,所以这七个问题共值七百万美元。   近20年过去了,在这7个问题中,只有庞加莱猜想得到了解决。对于普通的程序员来说,前6个难题或许过于遥远,但是你一定听说过NP问题的大名。 水浒英雄卡的故事   在我读高中的时候,小浣熊干脆面中的水浒英雄卡曾经风靡一时。当时1998年央视版的《水浒传》刚开播不久,再加上课本上《鲁提辖拳打镇关西》和《林教头风雪山神庙》的助攻,同学们收集英雄卡的热情空前高涨。   卡片虽然精美,但是每袋干脆面只有一张英雄卡,想要收集齐全颇为不易

游戏测试三部曲—问自己的三个问题

时光总嘲笑我的痴心妄想 提交于 2021-02-11 00:29:35
啄木鸟软件测试培训网:www.3testing.com 第一问:【是否可以正常玩?】   就是按照策划文档中规定的流程顺利的跑了一遍,修复 测试 过程中发现的BUG,比如宕服,程序报错,文字描述错误,NPC或者怪物摆放错误、奖励配置错误等明显的错误。也要思考一些隐藏的游戏设计漏洞,比如刷金、通过N多小号获取超额利益、切换场景或者地图和上下线操作引起数据丢失、奖励是否合理等等。需要更多的思考和大胆的假设,宁愿保守一些,也不要放出去后出现太大的问题。    第二问:【是否玩得顺畅?】   操作是否方便快捷?提示是否清晰明了?玩家是否根据游戏内指引可以顺利游戏?NPC怪物链接是否有错?地图打点是否有误?游戏路线是否合理清晰?寻路是否正确?耗时与收益是否平衡?等等   如果是活动,会不会由于人多而影响体验?怪物数量是否满足需求?活动的空间是否足够容纳玩家?信息量会不会过载导致服务器卡?整体时间是否持续过长?是否会由于时间过长导致单调。   有些情况不好直接测试,需要直观感受和经验之谈,有问题则需要找策划当面讨论:例如放了多少怪,为什么放这么多,是怎么考虑的?是否合理?由于一些用户习惯的不同,有些方面尽量征求更多人的意见。比如可以多拉几个人集体讨论或者参与活动得出比较接近的实际结论。    第三问:【数值是否平衡?】   好了,能玩了,而且玩的顺畅!接下来就要问自己数值是否平衡?  

游戏测试三部曲—问自己的三个问题

筅森魡賤 提交于 2021-02-10 22:51:16
啄木鸟软件测试培训网:www.3testing.com 第一问:【是否可以正常玩?】   就是按照策划文档中规定的流程顺利的跑了一遍,修复 测试 过程中发现的BUG,比如宕服,程序报错,文字描述错误,NPC或者怪物摆放错误、奖励配置错误等明显的错误。也要思考一些隐藏的游戏设计漏洞,比如刷金、通过N多小号获取超额利益、切换场景或者地图和上下线操作引起数据丢失、奖励是否合理等等。需要更多的思考和大胆的假设,宁愿保守一些,也不要放出去后出现太大的问题。    第二问:【是否玩得顺畅?】   操作是否方便快捷?提示是否清晰明了?玩家是否根据游戏内指引可以顺利游戏?NPC怪物链接是否有错?地图打点是否有误?游戏路线是否合理清晰?寻路是否正确?耗时与收益是否平衡?等等   如果是活动,会不会由于人多而影响体验?怪物数量是否满足需求?活动的空间是否足够容纳玩家?信息量会不会过载导致服务器卡?整体时间是否持续过长?是否会由于时间过长导致单调。   有些情况不好直接测试,需要直观感受和经验之谈,有问题则需要找策划当面讨论:例如放了多少怪,为什么放这么多,是怎么考虑的?是否合理?由于一些用户习惯的不同,有些方面尽量征求更多人的意见。比如可以多拉几个人集体讨论或者参与活动得出比较接近的实际结论。    第三问:【数值是否平衡?】   好了,能玩了,而且玩的顺畅!接下来就要问自己数值是否平衡?  

起底!榨干“黑户”最后价值的产业链丨深度

♀尐吖头ヾ 提交于 2021-01-09 08:06:58
来源 | 新流财经 作者 | 松子同学 特别鸣谢 镭射财经 对本文部分素材的贡献。 “白天美团,晚上滴滴,日赚三五百元。” 29岁的网友“麦穗”,一天能同时打几份工。 在一个近200人的QQ群里,他正指点负债累累的群友们如何“上岸”。 他是逾期江湖的老人了,曾经欠了40来万的贷款,经过挣扎,现在已经看到了上岸的希望。 他们中大部分人,已经被列入行业共享的借款“黑名单”。成了黑户,不怕上征信,不怕打通讯录,他们对撸口子已经无所顾忌了,什么砍头息高费用都是浮云,撸到就是赚到了。 谁还能从贷款“黑户”身上赚到钱呢? 可是,麦穗和他那些聚集在一起想通过撸高炮“上岸”的盟友们并不知道,有一个神秘而庞大的地下组织,正在将他们引入另一个更深的陷阱。 他们打造了一条有着成套的产品的黑户流水线,他们的目标是,榨干黑户身上的“最后一分钱”。 01 逾期江湖,最有价值的是“黑户” “收黑户,不黑不要来!” “无前期费用,急用钱的可以找我,二十多分钟下款,真心帮忙,不下款不收费。” “收一批躲债的,辛苦一个月,日入4位数,你都身无分文了,我还能骗你什么?” 中介徐文和很多同行一样,每天都在朋友圈乐此不疲地发广告。尽管他们看起来是那种整天发垃圾广告的划水网友,可他们是贷款圈子里的“隐形富豪”,月入几十万的大有人在。 在贴吧、微信朋友圈、各种社群中,一群中介在极力地营销获客,他们不要优质客户

Unity2019学习:常用功能--Canvas画布

♀尐吖头ヾ 提交于 2021-01-06 11:54:43
Canvas(画布)游戏对象是其他Unity UI的基础,其他的Unity UI必须是Canvas(画布)游戏对象的下级游戏对象。 当UI内容发生变化的时候,是以画布为单位进行重绘,合理的将内容分配到不同的画布可以提高性能。 Render Mode(渲染模式) Screen Space Overlay(屏幕空间-覆盖) 屏幕空间-覆盖是根据屏幕分辨率进行渲染,不参考场景中的任何游戏对象或者摄像机,渲染之后将其绘制在其他所有内容之上。 Screen Space Camera(屏幕空间-摄像机) 屏幕空间-摄像机是将画布设置为摄像机前方视野中的一个平面。 这种模式下,必须通过Render Camera(渲染摄像机)属性来指定摄像机,且只有在被指定的摄像机中,画布才是可见的。 Plane Distance(平面距离)属性用来指定画布到摄像机的距离,该距离不会影响画布中内容的大小,但是会被距离摄像机更近的其他游戏对象遮挡。如果Plane Distance(平面距离)属性的取值在摄像机Clipping Planes(剪裁平面)属性的取值范围之外,画布仍然是不可见的。 World Space(世界空间) 世界空间这种渲染模式是将画布变成了Unity空间的一个普通游戏对象来处理。世界空间这种渲染模式的画布经常做游戏对象的名称或者说明上,如NPC头顶的名称,血条。 Canvas Group(画布组

腾讯AI足球队夺冠Kaggle竞赛,绝悟强化学习方案迁移至足球队

北城以北 提交于 2021-01-01 18:54:59
12月30日,腾讯宣布其人工智能球队摘得首届谷歌足球Kaggle竞赛冠军。该冠军球队来自腾讯AI Lab研发的绝悟WeKick版本,凭借1785.8的总分在与全球顶级技术团队的竞技中以显著优势胜出。 今年11月底,腾讯AI Lab与王者荣耀联合研发的策略协作型AI绝悟升级为完全体,首次让AI精通了所有英雄的所有技能。此次绝悟WeKick版本的整体设计正是基于绝悟完全体迁移得到,并针对足球任务进行了一些针对性的调整,展现了绝悟AI背后深度强化学习方法的通用能力。 Kaggle 竞赛 google-football 排行榜前十名, 来自 https://www.kaggle.com/c/google-football/leaderboard Kaggle创立于2010年,是全球最大的数据科学社区和数据科学竞赛平台。此次足球AI比赛由Google Research与英超曼城俱乐部在Kaggle平台上联合举办。 一直以来,足球运动团队策略以其复杂性、多样性和高难度,成为长期困扰世界顶尖AI研究团队的难题,更加稀疏的游戏激励也使得其成为比MOBA游戏更难攻克的目标。今年Kaggle首次针对足球AI领域发布赛题,为深度强化学习多智能体技术竞技和基准评测提供了一个全新舞台。深度强化学习多智能体技术竞技和基准评测提供了一个全新舞台。 比赛使用Google Research