摘要: 离散事件模拟(discrete event simulation),这个东西可能在游戏领域用得并不是很多,它是模拟仿真领域的一个仿真模型,用来模拟在时间轴上一系列离散事件后,整个系统的变化情况,这么说,可能还是有点抽象,给大家举一个使用离散事件模拟的一个经典的例子,如何计算银行柜台排队的平均等待时间 阅读全文
posted @ 2018-01-17 23:25 概率学概论 阅读(216) 评论(0) 推荐(0)
摘要: 行为树从本质上来说,是一颗逻辑树,它把所有的行为逻辑用树形结构串联起来,仔细观察的话,可以发现行为树的核心思想有三个方面: 逻辑分离 逻辑关联 逻辑抽象 听上去很玄乎,其实是很简单的东西,可以先想想我们平时要做一个功能是怎么做的,我们会先定义一个函数,定义好输入和输出,然后在这个函数里写代码来实现功 阅读全文
posted @ 2018-01-17 23:24 概率学概论 阅读(107) 评论(0) 推荐(0)
摘要: 前些日子,经人推荐,看了一些CryEngine里AI部分的介绍,当然,作为一个大型商业引擎,AI部分涵盖了很多内容,特别的,我注意到里面关于行为树的部分,从CryEngine 3.3开始,行为树被舍弃了,取而代之的是称为“行为选择树”的模块,我并没有找到关于为何要做出这样的选择的官方说明,因此,我就 阅读全文
posted @ 2018-01-17 23:23 概率学概论 阅读(159) 评论(0) 推荐(0)
摘要: 提到参数,在我们写程序的时候,作为一个常用的提醒是,一般都会避免去使用“魔数”(Magic Number),因为它含义不清,比如if(i>5){…},如果没有任何注释的话,很难有人会理解这个“5”是什么意思。在AI中,这样静态的参数的使用更频繁,有时为了定义一些阈值,有时为了可以给游戏设计人员调整A 阅读全文
posted @ 2018-01-17 23:22 概率学概论 阅读(713) 评论(0) 推荐(0)
摘要: LOD(Level Of Detail)是3D渲染中用到的概念,按照wikipedia上的翻译,可以译为“细节层次”,它是一种根据与观察点的距离,来减低物体或者模型的复杂度来提升渲染效率的优化技术,因为显而易见的是,当一个物体离我们很远的时候,我们不需要用很复杂的多边形来绘制,只要用一个粗略模型或者 阅读全文
posted @ 2018-01-17 23:21 概率学概论 阅读(527) 评论(0) 推荐(0)
摘要: 前段时间,谈到了一种层次化的AI架构,通过“请求”来隔离出“决策层”和“行为层”,这种架构的核心是通过“请求”来起到承上启下的作用,并由此得出当前AI所应当有的行为,所以可以称之为“请求导向(Request-Oriented)”的结构。这种结构比较适用于需要频繁做AI决策的游戏场合,比如体育类游戏等 阅读全文
posted @ 2018-01-17 23:19 概率学概论 阅读(1085) 评论(0) 推荐(0)
摘要: 游戏AI和游戏设计紧密相关,我也经常说,一个好的游戏AI,不在于算法的艰深和行为的完全拟真,而在于和整体游戏性的契合,在平时工作中,也是和游戏设计师打交道的最多,有这样一句话,一个好的AI程序员相当于半个游戏设计师,所以这次就来谈谈关于AI难度的设计问题。 谈到游戏设计,有些人觉得可能是灵光乍现的东 阅读全文
posted @ 2018-01-17 23:18 概率学概论 阅读(318) 评论(0) 推荐(0)
摘要: 我们知道状态机是AI(当然,不光是AI了)中常用的一种架构,有很多中实现方式,总体来说对于表达简单逻辑,还是很有帮助的,而且实现简单,甚至用一个switch-case就可以了,但在实践中状态机有一个致命的缺点,当状态一旦多了之后,它的跳转就会变的不可维护,假设有n个状态的话,那我们就需要维护最多n* 阅读全文
posted @ 2018-01-17 23:16 概率学概论 阅读(294) 评论(0) 推荐(0)
摘要: 一直在说AI可以分为决策层(Strategy Layer)和行为层(Behavior Layer),和行为层打交道最多的,就是动画了,说到动画,游戏引擎一般都会提供完整的底层的动画系统,包括如何转换数据,如何做动画Blend等等,但这些一般不属于AI程序员的工作范畴,所以不在这次的讨论范围内,我们这 阅读全文
posted @ 2018-01-17 23:15 概率学概论 阅读(81) 评论(0) 推荐(0)
摘要: 黑板(Blackboard)是一种数据集中式的设计模式,一般用于多模块间的数据共享,我在做行为树的过程中,发现黑板非常适合作为行为树的辅助模块来使用,这次就来谈谈如何在行为树中使用黑板。 行为树的决策一般要依赖于外部的输入,如下图所示。 输入内容的来源取决于行为树用在整个AI架构的哪一层,可以是游戏 阅读全文
posted @ 2018-01-17 23:14 概率学概论 阅读(448) 评论(0) 推荐(0)
摘要: 我想通过一个例子来介绍一下行为树的基本概念,会比较容易理解,看下图: 这是我为一个士兵定义的一棵行为树(可以先不管这些绿圈和红圈是干吗的),首先,可以看到这是一个树形结构的图,有根节点,有分支,而且子节点个数可以任意,然后有三个分支,分别是巡逻(Patrol),攻击(Attack),逃跑(Retre 阅读全文
posted @ 2018-01-17 23:12 概率学概论 阅读(2146) 评论(0) 推荐(0)
摘要: 之前一篇文章中谈到了一种类似于双缓冲的AI结构,最近在整理一些东西的时候,发现这样的AI结构具有一定的通用性,而且层与层之间耦合度相对较低,作为一种层次化的AI架构,非常值得一谈。 在我的脑海中,AI一般分为两个部分,一个是决策(Decision)部分,一个是行为(Behavior)部分,决策部分负 阅读全文
posted @ 2018-01-17 23:10 概率学概论 阅读(152) 评论(0) 推荐(0)
摘要: 最近在程序中遇到一个AI决策问题,简要描述和图示如下: 在一张开阔的地图上(几乎没有障碍物),有一些会任意移动的“敌人”,我们要实现一个NPC的AI,使他在做接近目标点的移动决策的时候,能避开这些“敌人”所在的危险区域,而选择相对安全的方向去移动。 这有点类似于一个寻路算法,不过,和一般的A*算法问 阅读全文
posted @ 2018-01-17 23:09 概率学概论 阅读(498) 评论(0) 推荐(0)
摘要: 项目进行到后期,越来越多是在修复一些AI的错误和调整AI的行为。但不得不承认,AI有时候很难调试,我想主要是有两个原因,一是现在的引擎越来越复杂,改一点点地方,编译都会等很久,时间上效率不高(所以对于AI程序员来说,真的是非常欢迎那种引擎核心和游戏逻辑分开的架构);二是如果出现问题的话,情况不可重现 阅读全文
posted @ 2018-01-17 23:07 概率学概论 阅读(264) 评论(0) 推荐(0)
摘要: 最近在路上一直在思考AI中的懒惰问题,为什么会突然想到这个,实在是因为这个问题十分常见,它非常简单,但是又非常难以漂亮的解决,先从一个问题引入吧。 假设我们有一个开阔的战场,这个战场被划分成了4个小区域,A~D来表示,实心小红圈表示进攻方,也是我们控制的人。实心小蓝圈表示防守方,是电脑AI控制的人。 阅读全文
posted @ 2018-01-17 23:05 概率学概论 阅读(356) 评论(0) 推荐(0)
摘要: 双缓冲(double buffer)是在渲染中用到的基本技术,目的是为了提高绘图速度,防止屏幕的闪动,原理可以简述如下:生成两块内存,一块作为后缓冲(background buffer),一块为前缓冲(foreground buffer),前缓冲内存的是实际显示在屏幕上的内容,后缓冲可以称为工作缓冲 阅读全文
posted @ 2018-01-17 22:59 概率学概论 阅读(94) 评论(0) 推荐(0)
摘要: 在我的概念里,AI应该分为两层:决策(Decision)、行为(Behavior),当然这个是从狭义的AI角度来说的,广义上来说,AI还会包括一些其他要件,比如物理,动画等等。现在这个项目里在做Behavior模块的一些东西,从做结构开始就参与其中,期间经过了几次大的重构。 可能Behavior在不 阅读全文
posted @ 2018-01-17 22:57 概率学概论 阅读(212) 评论(0) 推荐(0)
摘要: 起因 在日常的数值设计及调测工作中,需要将设计表中调整过的数值频繁更新到配置表中,但由于两表的设计目的不一(设计表主要用于根据需要的字段设计数值以及之后的数值调整验证;配置表主要用于字段的数据配置,程序需根据配置表中字段数据读入到游戏中,所以还承担着配置表到配置文件(.csv / .xml / .s 阅读全文
posted @ 2018-01-17 22:53 概率学概论 阅读(344) 评论(0) 推荐(0)
摘要: 说明:本文仅讨论王国纪元、乱世王者这类的SLG手游战斗。 战争策略游戏的核心追求点 1、 玩家通过进行兵种选择和分配,能够战胜对方 2、 玩家通过进行兵种选择和分配,在战胜对方的基础上,以自身最小的损失换取对方最大的损失 战斗的基本元素 不同兵种 战争类SLG的战斗一定都会有一定数量士兵的参与,所以 阅读全文
posted @ 2018-01-17 22:50 概率学概论 阅读(706) 评论(0) 推荐(0)
摘要: 数值分层分段思想的运用,在游戏中,尤其是PC端网游以及手游,几乎随处可见,但是却常常被人忽略。打算写这篇文章,主要是对之前体验过的SLG手游的一个收获感想,为以后工作提供文字化参考,同时也作为一个思想上的分享。 为什么会需要数值分层分段 玩家玩游戏,最初不会去关注游戏中数值的分层分段,直到对游戏内某 阅读全文
posted @ 2018-01-17 22:46 概率学概论 阅读(1119) 评论(0) 推荐(0)
摘要: 目前,市面上RPG手游产品已处于成熟的阶段,不管是游戏中的战斗模块还是其他玩法,在RPG手游中变化不大,因而同质化现象比较严重。相比之下,SLG手游还处于成长阶段,各个方面都还有很大的提升空间,比如战报式的战斗系统、城建及科技系统、大地图玩法、全球性的对抗玩法等。下面就SLG手游中战斗系统和城建系统 阅读全文
posted @ 2018-01-17 22:43 概率学概论 阅读(571) 评论(0) 推荐(0)
摘要: 手游数值特点 相比于端游数值,手游(刀塔传奇类)数值的设计受手游系统的影响存在一些差异。这里,简单分析一下手游、端游之间一些大的差异之处,然后结合这些差异,试着进行手游数值的设计。 单角色与多角色 单角色与多角色 在游戏角色方面,大部分端游中玩家作为一个扮演者,扮演的是游戏世界中的一个角色(有时候角 阅读全文
posted @ 2018-01-17 20:23 概率学概论 阅读(2040) 评论(1) 推荐(1)
摘要: 写这篇博客的初衷,主要是想对自己这几年的数值设计工作进行一个记录、总结和提炼,以后能够温故知新,不断提升自己的设计水平。这里,我将一款端游的数值设计划分为以下几个主要的模块:战斗体系、经济体系(宏观层面)、消耗模块(成长线、日常消耗、其他消耗)、产出模块(任务、活动、玩法)、数值调优、数值配置。 战 阅读全文
posted @ 2018-01-17 17:53 概率学概论 阅读(501) 评论(0) 推荐(0)
摘要: 在之前的一篇博客中,我分析了一下关于《神武2》的游戏经济模式,游戏通过控制核心物资的产出量来保障公司的盈利,原文详见谈谈对《神武2》经济的一些看法。这次,从宏观层面上来分析一下另外一款端游的经济模式——《镇魔曲》,对于微观层面上的经济(例如物品在商店中的定价,不同物品之间的价格差异等等)暂不在这里进 阅读全文
posted @ 2018-01-17 17:50 概率学概论 阅读(472) 评论(0) 推荐(0)
摘要: 很早时候就接触过《神武2》这款回合制游戏(之前是《神武·逍遥外传》),玩了差不多有2年多时间了,整体感觉跟之前的梦幻有很多类似的地方(比如师门、跑镖、抓鬼、副本、帮派……),也有很多不同的地方。这里,主要来分析一下这款游戏中非常有意思的设计——神武币商人。 神武币商人 这里先介绍一下这个交易中心系统 阅读全文
posted @ 2018-01-17 17:45 概率学概论 阅读(1107) 评论(0) 推荐(0)
摘要: 在之前的MMORPG项目中,我曾经迭代过3版自己设计的数值表,新的一版出来后都对上一版有很大的改进,也算是对我在做数值策划不断进步的一个见证。 最开始的一版设计出来后,粗略地看是有点晦涩难懂的,而且跟组内其他同事讲解设计思路的时候,需要自己顺着Excel表的公式引用一步步查找,然后还要将Excel公 阅读全文
posted @ 2018-01-17 16:23 概率学概论 阅读(1705) 评论(0) 推荐(0)
摘要: 作为一名数值策划,不仅要学会如何搭建游戏数值架构这类宽而泛的事物,也应该要懂得针对系统策划设计出来的单个系统或者单个玩法,进行单个系统或玩法内部的数值建模,以及数值调优,以满足系统策划对其的各种合理预期。在进行数值建模的过程中,你需要针对提供的这个系统或玩法,事先考虑在数值上预留一定的扩展性(如果单 阅读全文
posted @ 2018-01-17 16:20 概率学概论 阅读(1124) 评论(0) 推荐(0)
摘要: 第一步:在名称管理器中定义名称——目录 目录:GET.WORKBOOK(1)&T(NOW()) 说明,GET.WORKBOOK(1)用于提取工作表名称,T(NOW())用于及时更新。 目录:GET.WORKBOOK(1)&T(NOW()) 说明,GET.WORKBOOK(1)用于提取工作表名称,T( 阅读全文
posted @ 2018-01-17 16:08 概率学概论 阅读(796) 评论(0) 推荐(0)
摘要: 先上效果图,再来一步一步实现,如下图所示,可以看到我将一个文件夹中的文件都显示在了excel表中,话不多说,直接开搞。 第一步:在名称管理器中定义两个名称——路径、当前工作薄 第一步:在名称管理器中定义两个名称——路径、当前工作薄 路径:=GET.DOCUMENT(2)&T(NOW()) 当前工作薄 阅读全文
posted @ 2018-01-17 16:06 概率学概论 阅读(463) 评论(0) 推荐(0)
摘要: 这里对一些容易忽略但有可能会用到的Excel的小技巧进行记录,不定期进行补充 VBA中的atpvbaen.xls和Solver的密码:Wildebeest!! VBA中的atpvbaen.xls和Solver的密码:Wildebeest!! 工作表超级隐藏: 打开VBA,对Sheet1的属性Visi 阅读全文
posted @ 2018-01-17 16:04 概率学概论 阅读(595) 评论(0) 推荐(0)
摘要: 问题 两个数x、y都服从区间为[1,5]的均匀分布,并且x、y均为整数,求解z=x*y的分布。 分析 x = randbetween(1,5),y = randbetween(1,5),x、y在其区间内的各点概率已知,利用枚举法列出z=x*y的各种可能情况,并求得各概率。 利用Excel进行求解,首 阅读全文
posted @ 2018-01-17 16:01 概率学概论 阅读(979) 评论(0) 推荐(0)
摘要: 引子 一把武器的品质有分为最下级、下级、中级、上级、最上级五档,我希望在击杀一只怪物的时候,这把武器的掉率:最下级>下级>中级>上级>最上级,问如何设计满足上面的需求? 在游戏设计的过程中,经常会碰到需要设计很多不同的概率分布来达到一个系统的设计目的,让玩家在体验这个系统的时候感受更好,所以这时候均 阅读全文
posted @ 2018-01-17 15:58 概率学概论 阅读(1737) 评论(0) 推荐(0)
摘要: 文本转数值 以文本形式存储的数值转换成数值,可以通过以下几种方法实现 value函数:=value(A1) 四则运算乘:=A1*1 四则运算减: A1【负负得正 :) 】 四则运算除:=A1/1 value函数:=value(A1) 四则运算乘:=A1*1 四则运算减: A1【负负得正 :) 】 四 阅读全文
posted @ 2018-01-17 15:53 概率学概论 阅读(440) 评论(0) 推荐(0)
摘要: 问题描述 最近在工作中需要用到圆桌随机来确定掉落的一个物品,里面有涉及到如何根据随机出的一个数值来确定这个数值所在的区间段。具体问题描述如下: 有5个物品A、B、C、D、E、无,它们的权重(为简单起见,设定总权重为10000)如下表所示: 现从1-10000中随机出一个权重值X,来判断X对应的物品是 阅读全文
posted @ 2018-01-17 15:51 概率学概论 阅读(993) 评论(0) 推荐(0)
摘要: 这篇本来是另一个理论系列中的一部分,发现写得有点多了,索性独立成章征求一下大家对这个话题的意见,权当抛砖引玉了。 对于战略航空军旗舰的各位常客,我恐怕还真得先介绍一下社交游戏。社交游戏,也就是俗称的“偷菜”、“抢车位”什么的在非死不可(因为众所周知的原因英文名略)、开心网上面的游戏,是一个所有华尔街 阅读全文
posted @ 2018-01-17 15:38 概率学概论 阅读(119) 评论(0) 推荐(0)
摘要: 一.概述 随着game of war和*** of kings的风靡,slg游戏开始越来越多进入市场。而目前的slg游戏有一个很有趣的地方,就是多没有战斗表现,而是战报的方式描述战斗。最近GL出了一款战争游戏帝国霸略,增加了战斗表现,但是说实话做的实在是不怎么样,因为背后的战斗规则没有太突出的地 阅读全文
posted @ 2018-01-17 15:18 概率学概论 阅读(4029) 评论(0) 推荐(0)
摘要: 文/Stefan Engblom 本文编译自GDC 2017的演讲视频。内容涵盖了《皇室战争》卡牌设计的核心理念以及后续的平衡处理。从搭建健康的METAGAME到平衡设计的自我修养,干货满满。 此次演讲人为Stefan Engblom,在《皇室战争》开发团队中负责卡牌平衡,游戏经济与系统设计。作为整 阅读全文
posted @ 2018-01-17 15:14 概率学概论 阅读(853) 评论(0) 推荐(0)
摘要: 文/victorshen笔者是一名游戏爱好者,有FPS游戏史12年,历经从三角洲部队、叛逆者到COD、warframe,FPS虐我千万遍,我仍待她如初恋。在工作、学习之余吃吃鸡,吃鸡400小时+,一时兴起从市场适应性和用户价值导向分析了一波PUBG。 这半年来,“吃鸡”占据了整个游戏圈的眼球,无数的 阅读全文
posted @ 2018-01-17 14:48 概率学概论 阅读(181) 评论(0) 推荐(0)
摘要: 大家好,你们能听到我讲话吗?这个演讲的内容是介绍RNG(随机数字生成)的一些黑暗秘密。如你在大屏幕上看到的,Squirrel已经介绍了一些RNG的基础概念。首先,我想详细讲解几点。他的演讲更偏重理论,而我的更偏重实际应用一些,不仅仅会讨论一些在游戏开发中遇到的RNG相关的潜在的问题,还会介绍解决这些 阅读全文
posted @ 2018-01-17 14:15 概率学概论 阅读(352) 评论(0) 推荐(0)