知识体系 下 游戏的结构 九

资源

微观的游戏结构

首发于微信公众号

不知道大家想没想过这些问题:为什么存在“游戏类型”?为什么说卡牌、SLG、MMO 是成熟的商业模式?为什么有的游戏要设计一堆玩法?

只要搞清楚游戏设计的结构,这些问题都会有答案。

和宏观的游戏结构一样,先找到组成游戏设计结构的各要素,再把他们围绕游戏的本质组织起来。

微观的游戏要素

这里只考虑设计的基础要素,所有设计都可以通过这几个基础要素组合完成。

当然并不是必须有这些要素才叫游戏,部分要素也可以没有。

规则是一个游戏的核心,越复杂的游戏规则就越多。

规则一般不负责直接触发情绪,它只负责限制玩家的“行动方向”。比如一些卡牌游戏突破后才能继续升级,玩家就会去寻找突破道具;限制玩法参与人数,玩家间就会博弈等等。

规则包含三个类型,一个是系统规则,一个是战斗公式,一个是环境规则。不需要三种都有,但至少包含系统规则。

系统规则无处不在,核心玩法、非核心玩法、功能系统里都有系统规则,它是为了让玩家形成并专注于目标,专注才能进入心流,产生沉浸感。所以系统规则是游戏的核心。

战斗公式会影响玩家对属性价值的判断,驱动玩家积累属性,或者影响战斗策略,所以也是一种规则。

环境规则包括物理、天气、地形等类似客观世界的规则,当然你也可以自己设定一个规则。MMO、开放世界类型的游戏环境规则相对重要一些,因为很多玩法是通过物理规则设计的。

需要强调一下,不是所有数字都是数值,比如回合数、倒计时等基础设定,它属于规则。

大部分游戏都有数值,数值有两个作用,一个是为了让玩家直观的对比,通过对比产生情绪刺激。比如身上的装备都是 10 点攻击,突然掉一把 15 点的,会比较开心。

另一个作用是控制、调整情绪节奏,玩家什么时候触发什么事件、多久达到什么强度,是通过数值直接或间接控制的,一般来说这才是主要作用。

叙事主要是文字,也可以结合动画讲故事。

既然游戏是虚拟世界,那世界观就成为吸引玩家的一个重要手段,好的叙事能增强沉浸感,也是建立目标的一个重要手段。

叙事就是建立游戏世界观,讲过,不再赘述。

指角色、卡牌、载具、装备等玩家要培养的东西。

载体是建立代入感的媒介,如果没有载体,玩家不能理解获取资源有什么意义。

当然有些简单的游戏没有,这样的游戏就没什么代入感,情绪刺激水平就弱。比如一些休闲游戏,仅仅是好玩,刺激并不强。

资源是设计出来让玩家追求、交换用的。可以是货币、代币、道具,包括局内和局外的。

它的特征是有产出有消耗,如果不能消耗其实就跟“等级”的逻辑相同,是用来控制节奏的,应归到数值要素中。

资源的作用本质是做为数值阶段的缓冲,比如 50 升 51 需要 3 天,干玩 3 天是个痛苦无聊的过程。如果改成消耗 100 个资源,这 100 个资源需要积累 3 天,相对就平滑很多,因为能看到进度在涨。

知识体系

此时资源就变成了短期目标,能给玩家更加明确的“进度感”。而且一般会设计一些通用资源,收集总不会亏,也能增加一点成长感。

然而现实中玩家希望“作弊”,所以才有了免费游戏。免费游戏提供了“作弊”手段——花钱买进度,这就是免费游戏存在的原因。

免费游戏的付费设计是宏观要素中的玩家和开发商间的博弈结果,没有对错,不做价值判断。

这里的视觉不包括叙事中的角色立绘设计、模型设计等,而是指特效、动效等跟叙事无关但能看得到的视觉刺激。

比如整体美术风格、UI 的美术设计、震屏特效、视角、运镜等等,一般视觉要素的作用是提示、暗示、营造氛围。

我们很多时候会把视觉跟叙事混在一起,但还是有区别的。比如一个立绘或动画既包含了叙事,也包含了美术风格,此时比较难以区分。

我们可以这样理解,角色立绘的设计如服饰、表情、纹身等是为了叙事,但用什么样的美术风格表现它,则是视觉。

动画也类似,角色的微动作、对白是为了叙事,而打斗动作、镜头、特效则是视觉。

听觉就是音乐和音效。

恰当的时候播放对情绪的影响还是比较大的,尤其是跟故事、场景结合得好背景音乐,《最终幻想 14》就是个好例子,《暗黑 3》的配乐也很棒。

但是现在玩手游一般会把声音关掉,再好的声音玩家也不听,所以手机游戏的音乐很难发展起来,这种情况可能很长时间都不会改变。

我不擅长这部分,就不多讲了。

控制包含两个方面,一是操作方式,二是可控制的物体。

叙事

玩家的操作方式会影响游戏体验,键盘、摇杆、手柄各有特色,目前大多数手机游戏都是仿鼠标和摇杆,因为手机上没键盘。习惯其中一种后很难适应另一种,像我习惯键鼠,换手柄就非常不习惯。

这些操作方式极大的影响游戏设计,比如手机上不会有需要复杂操作的游戏;手柄玩射击游戏很难受,不可能体会到《CSGO》那样的竞技体验。

至于可控制的物体,是指游戏设计中可操作的物体个数、范围、频率、规则。即使是相同平台,不同游戏这些操作内容也不尽相同,这对游戏体验同样有影响。

未来可能控制方式会有其它的,如手势、脑电波之类的,操作对游戏的影响可能会弱化。

比如新功能解锁、地点指引、战斗前提示难度、可交互道具发光、血量提示等等。

信息的作用是降低玩家的寻找成本,毕竟把时间花在找东西上不是个有趣的过程。还要提示玩家当前的状态,避免突发危险事件让玩家毫无准备。

为什么把提示信息当成一个设计要素,它有这么重要吗?

开始我也觉得好像提示信息不算什么设计要素,产生不了什么大作用。而且它其实是规则和视觉的结合,独立做为一个要素不符合逻辑。

后来仔细想了想玩过看过的游戏,提示信息似乎贯穿了整个游戏,而且都是独立设计的。

各种各样的提示让体验更连贯,好的提示设计能提升沉浸感。比如好的新手引导能让玩家在不出戏的状态下理解游戏。

各种 HUD 就是为了让玩家了解状态,各种 UI 规则设计本身就是一种提示,重大事件前的提示让玩家开始进入心流。

所以提示信息其实已经在各种细节处影响了游戏的整体体验,如果不单独作为一个要素去思考很容易遗漏重要的游戏体验。

微观游戏的性质

微观层面的游戏必然具有宏观层面的性质,就不再赘述。但微观层面还会多一些宏观上看不出来的性质。

可以这么理解,宏观层面的性质是给外行看的,微观层面的性质是从业者需要了解的,具有这些性质才能算是“好游戏”。

这里又要强调一下我的知识体系旨在设计长期运营的电子游戏,这些性质是为了这个目标服务的,它不一定适合所有游戏。

节奏就是为了影响人的情绪。

如果一张画只有一个颜色、一首曲子只有一个音节、一部电影只有一个画面,整个体验一定非常枯燥,不值得欣赏。

人脑对不同形式的情绪刺激产生和消退的周期不同,因此大部分情绪产品的时间不尽相同,但各自又有接近的时长,一部电影 2 小时左右、一首歌 4 分钟左右,大家非常默契。

游戏节奏的形成,可以看作各设计要素组成的结构在玩家脑中建立了“沉浸系统”,也就是玩家完全理解并沉浸在游戏中了。

玩家通过行为输入,游戏根据规则变化,通过“沉浸系统”在脑中输出情绪。

输出情绪的过程就是节奏,规则就是结构,结构搭得好,玩家容易理解接受,游戏的节奏感就好。

要在玩家脑中建立“沉浸系统”,就要让玩家理解整个游戏的规则,如此才能形成一幅清晰的地图,只要给玩家一个目标,玩家自然会找到路线去达成目标。

对长期体验节奏影响最大的就是规则和数值,规则是达到目标的路径,数值是达到目标过程的节奏规划,其它要素是为了辅助这两个要素存在的。

目标是需要设计者创造出来的,所以并不是设计要素,设计不好的话玩家是找不到或不认可的。

这跟游戏宏观上“有目标”的性质不冲突,就像宏观上青蛙都是四条腿,但个别会有六条腿。理论上游戏都应该有目标,但糟糕的游戏可能没有。

让玩家形成游戏目标一直是游戏设计的重点,毕竟有目标才有心流,才能有沉浸感,才能触发情绪。

建立目标的手段一般是通过叙事和规则,可以分别建立系统目标和数值目标。之前的文章讲过,不再赘述。

游戏是所有娱乐和艺术中唯一有策略性的品类。因为策略需要选择,选择需要参与其中,其它品类都没有“可参与”的性质。因此,我不认为一个只能看的东西是游戏,即使它是用游戏软件做出来的。

因为游戏的策略性,我们就可以利用策略设计,让玩家获得更丰富的情绪体验。毕竟用对策略带来的兴奋感不是其它情绪可以替代的,很多人就是喜欢智商上的优越感。

策略性有几类,一类是固定策略,虽然可以设计一定的随机范围,但玩久了还是能知道是固定的套路。比如卡牌、RPG 游戏基本都是这类。

一类不固定的,一般是人和人之间的博弈导致的策略不同。如果未来能有接近真人的 AI,也可能替代人人博弈。

一类是解谜,这种特殊一些,是设计者跟玩家的博弈,利用一些引导、诱导、误导手段让玩家做决策,不像前两种,解谜的策略路径通常极少,只不过这个路径不太好找。

关于游戏的策略性之前的文章也讲过,不再赘述。

以前说过长线游戏最重要的目标是不断打破适应性偏见,让玩家保持新鲜感。如果没有新鲜感,玩家一定会流失。所以游戏的性质之一是持续的新鲜感,当然只有好游戏才会有。

以前有个逻辑是付费玩家因为有沉没成本,相对未付费的玩家更容易留下来。

短期上事实确实如此。但长期来看,玩家不会仅仅因为付费很多而长期留存,如果后续的内容不再有趣,留下来每天都很难受,沉默成本不会成为阻止玩家流失的理由。

目前能持续提供新鲜感的底层结构有三种:一种是平台型,以 Minecraft 为代表;一类是支持不断迭代内容的游戏,以数值养成游戏为代表;一类是短平快的 PVP 游戏,以 Supercell 的几个 PVP 产品、各个 MOBA、《CSGO》等为代表。

第一种只提供底层规则,非常扁平,也因此很难做差异化。第二种则各种要素都利用得比较充分,沉浸感最好,但只能不断增加深度,对新玩家不太友好。第三种成本最低,但极端偏向规则,对设计者的能力要求极高。

除了为留存,为了新增也需要新鲜感,为了在众多竞争者中吸引目光,区别足够大比“好得很平均”强,这是有实证支撑的。

打破适应性偏见的方法之前的文章也写过,不再赘述。

微观游戏的价值

之前宏观的游戏结构说过,整个游戏产业是围绕情绪价值产生的,那么游戏设计作为产业价值的源头,必然还是为了产生情绪价值。

游戏设计的各要素是围绕游戏的情绪这个本质结合在一起的。我建立知识体系的目的也是为了搞清楚如何更好地触发情绪。

结构就是把各组成要素有组织的结合在一起,达到局部之和大于整体的效果。如果没有产生更大的价值,那这个结构就是没有设计好。

所以我确定了一个基本公理: 游戏的价值在于能否创造独特的情绪价值;相同成本下能否创造更强的情绪价值;玩家能否更容易获得相同的情绪价值。

满足其中任意一条,都有其价值,满足得越多,价值越大。

体验是触发情绪的手段,所有体验的营造都是为了触发情绪。体验的最小组成单位是情绪,体验就是一段连续的情绪波动,艺术作品的好坏甚至可以用情绪波动强度来衡量。

因为游戏的宏观性质,可以同时刺激多个感官,游戏就可以有更多手段营造体验,让玩家沉浸其中,触发丰富的情绪变化。

额外提一句,不要简单的把“情绪”理解为恩怨情仇,宁静、悔恨、忘怀等等都是情绪。

杨德昌说过,电影让人的寿命延长三倍, 游戏则是延长“更真实的寿命”

利用微观游戏要素,可以排列组合出无数种结构,营造不同类型、强度的体验,并且各要素随着时代会发生变化,每个时代都有最适合自己的结构。

我要研究的知识体系,就是希望找到更好的结构,设计独特的体验,触发更强烈或丰富的情绪。

到现在就可以回答开头那几个问题了,这些问题的本质都是结构问题。

为什么存在“游戏类型”?

游戏类型即特定的游戏结构,因为特定的结构更容易触发某种情绪,吸引喜欢这类情绪的玩家。而这类玩家数量庞大,自然就形成了稳定的游戏类型。

为什么说卡牌、SLG、MMO 是成熟的商业模式?

很直接,因为玩家愿意为这类游戏提供的情绪价值付费,而其它类型如塔防、文字冒险、即时战略等游戏不太容易。本质上是因为能触发玩家付费的情绪种类有限,这几个游戏类型恰好能触发这些情绪。

这也是最被玩家诟病的地方,因为能刺激付费的游戏结构就几种,大多数商业游戏只能翻来覆去的做这几种。

为什么很多游戏要设计一堆玩法?

答案是为了切换游戏体验,触发不同情绪。玩法单一的游戏触发的情绪长期来看必然单一,会很无聊。

多个玩法间切换,可以等某个玩法的情绪消退后再去玩,就可以长期让玩家维持对整个游戏的新鲜感。

那些一个玩法玩一辈子的游戏如《DOTA》,是因为情绪峰值触发的概率极低,两次间隔的时间足够长,第二次触发时第一次已经衰退,所以不会觉得无聊。

下面讲各设计要素是如何运行以产生情绪价值的。

设计要素的运行方式

既然游戏设计的目的是触发情绪,手段是营造体验,各要素必然围绕如何营造能触发玩家情绪的体验来形成结构。

前面说过,长期体验最核心的就是规则和数值,也是游戏的独特价值所在。

前面也说过,对玩家来说规则是路径、数值是节奏,那么玩家的目标是什么呢?

目标有两种,一种是游戏的终极目标,通过叙事或规则建立的系统目标,如统一世界、拯救公主等,或者是不言自明、默认的潜在目标,比如击败对手、解谜过关等等。

另一种是通过规则和数值建立的数值目标,是显性的阶段目标,比如获得某个卡牌、装备,再把它们养成到什么程度。

规则、目标、数值三者组成了游戏的核心循环,三者循环的过程形成体验,触发情绪。

规则是最初的驱动力,因为必然需要让玩家感受到游戏的乐趣并沉浸其中才能建立目标,不感兴趣的东西肯定不会想要,数值则是让达到目标的过程有节奏感。

剩下的要素就是让前进的过程更有沉浸感、有趣,都是辅助作用。

说一个个人观点,大部分艺术都可以看作节奏、路径、目标的集合,其它都是装饰。

比如音乐就是什么时候(节奏)播放什么声音(规则)让听众产生什么情绪最终形成什么体验(目标);绘画就是在什么位置(节奏)放什么颜色(规则)让观众产生什么情绪最终形成什么体验(目标);电影就是什么时候(节奏)用什么桥段(规则)让观众产生什么情绪最终形成什么体验(目标)。

再说其它要素。

叙事除了能建立终极目标以外,也可以让过程变得有趣,毕竟好剧情还是挺吸引人的。

同时叙事和规则共同形成了对载体的价值观建立,玩家知道在这个世界观里,它是什么,我该怎么获得和培养它。这就建立了短期数值目标,之后就是用数值控制养成节奏。

资源就是用来控制养成节奏的,当然也可以是用来让玩家“作弊”用的。资源需要规则和叙事来做包装,以此提升代入感,直接叫“经验书”不太合适,虽然曾经“直接”非常有效。

视觉的主要目的是直观,然后是美观。玩家在游戏中的操作能及时通过画面反馈回来,这种反馈现实中没有,所以体验会更好,如果还能好看自然更好。就像你讲的每个烂笑话都有人笑,而且还笑得很开心。

听觉则是烘托叙事氛围的好手段,可以极大的增强沉浸感和情绪峰值。

一般游戏为了增减上手成本会在操作上做设计,这是个硬门槛。一般游戏都会尽量降低操作门槛,让游戏留存好些。“魂”系游戏则是刻意提高操作难度,让玩家获得强烈的成就感,当然失败了就是强烈的挫败感。

“魂”系游戏触发的情绪之所以强,就是因为难度极高,需要全神贯注,玩家一定会进入心流,最终战胜的时候就会触发强烈的情绪,极高的终值体验让玩家觉得整个过程很爽,很希望再次体验,就进入了斯金纳箱状态。

提示信息就是为了在尽量不出戏的前提下,减少无趣的寻找过程。

游戏设计的中间结构

以前的文章讲过,我把游戏拆解成几层:

从核心玩法开始,就是利用微观游戏的要素围绕体验组合成的基础结构。

这是个设计游戏的工具,类似游戏引擎是制作游戏的工具,尚未形成游戏,但已经初具结构,可以简化、标准化设计流程。

当然这里的标准化是指有比较确定的衡量标准,不是生产标准品。

这个工具作用有三个:一是精细化设计,更精确的控制游戏体验,能更精准的触发情绪。二是提供判断标准,已经立项或完成的游戏,可以用它判断成功率。三是提供创新方法。

这个工具也是一个系统,结合宏观要素,整个系统就能极大提高成功率和效率。并且是系统就可以迭代进化,不断提高正确率。

这个工具为什么能产生这几个作用,有两个原因,一是因为正确的拆解方式,而且拆得足够细。二是因为它是由逻辑和实例支撑的,而逻辑有很强的解释、预测能力。

但由于实例不一定可重复,所以需要持续寻找实例背后的逻辑,以增加成功率。当然最终的成功仍然不可能是 100%,因为很多细微的逻辑目前不可观测,还有混沌理论决定的不可预测性。

未来设计游戏一定需要这样一个系统性的“工具”。

九

10 年以内,我预计游戏的复杂度最多再增加一个层次。拿卡牌游戏举例,卡牌收集是一层,升星是第二层,再增加一层就是指给升星中的每个星级单独设计一个养成玩法。当然也可以向上增加层次。

事实上这已经很复杂了,很难出现像电影、小说里描述的高度拟真、复杂的游戏,玩个游戏都这么复杂,干嘛不去学习?

未来游戏的方向既然不会往高复杂度走,就只有两条路:一是局部要素优化,比如更好的美术、更有趣的玩法、节奏更好的数值等,可惜局部优化没有尽头,而且收益越来越低。

二是结构性创新,即更优的游戏结构,品类融合算是其中一种。这种创新难度大,需要对结构有非常深的理解,但成功的收益也大。

创新必须会拆解,怎么拆就体现了对结构的理解程度,理解越正确,拆解的正确率就越高。

拆完之后还要排列组合,组合出什么样的结构更合适,不仅考验对结构的理解,也考验对本质的理解。

我们常见的 MECE 就是一种结构,但它很“平”,复杂度很低,对真实世界的解释力不够。

目前比较复杂的结构是深度神经网络(DNN):

它比较接近人脑思考的方法,所以是目前人工智能发展的主要路径。用这个结构去解释真实世界非常有效,所以我创建的知识体系结构也是基于此。

这也是我把游戏设计分层的原因,可以每层近似独立的设计,最终再整合在一起。

总结

人类的进步得益于不断发明新工具,让我们有更精确的测量、控制手段,把以前觉得是玄学的知识变成可学习的逻辑。

初看不可量化的东西,比如天气,目前已经能比较好的预测短期变化;再比如航海,以前只能通过指南针、观星,现在则通过雷达、卫星等定位系统精确的航行;曾经不可知的细胞、粒子,现在都已经是常识。

游戏行业之所以尚未工业化,除了程序、美术仍在探索外,策划在设计上没有足够精确的“工具”也是原因之一。

目前行业没有比较好的对设计原理的研究,或者仅仅是收集一些心理学、经济学理论来支持局部设计。不系统、不完善,又没有整体目标,又搞不清楚本质,结果就是学了跟没学一样。

导致设计的每个系统可能都有历史经验、科学理论的支持,但合到一起就不成样子,结果就是“说起来很有道理,但是不好玩”(做游戏的应该都经历过)。

如果仅仅堆砌原理就能搭建知识体系,那硬盘应该是世界上最伟大的智者。

所以建立知识体系除了“储存”的能力以外,还需硬盘不具备的抽象能力,即对本质和体系的掌握。

没有本质做锚,知识就是空中楼阁;没有体系,知识就是一堆散沙。

想搞清楚本质和体系,就需要掌握认知体系的哲学层,也就是俗话说的“逻辑”、“洞察”、“智慧”。

这也是为什么我要建立认知体系的原因,必须看到更广阔的“整体”,才知道自己所处的“局部”。


有哪些体系结构模式

一、体系结构定义:

体系结构是一个计算机术语,由G. Amdahl于1964年首次提出体系结构概念,为以后计算机系统的设计与开发奠定了良好的基础。 体系结构包括数据流系统、调用-返回系统、独立部件、虚拟机、以数据为中心的系统(库)、特殊领域风格、特殊结构风格、不同风格合成建立的异构结构、最初始最基本的主程序/子程序九大内容。

二、体系结构由来:

在传统的程序设计领域中,人们使用流程图来表达系统的基本功能和实现的具体逻辑,但是,流程图实际上仅仅是源程序的图形化表示,无法给系统的分析和开发者提供更多的信息,所以没有在实际的系统开发过程中得到广泛的应用。 随着软件系统的规模和复杂性的增加,对软件系统的整体结构(数据和控制的逻辑)进行分析和描述成为大型系统开发的一个不可缺少的重要部分,显然,使用流程图是无法达到这个目标的,我们必须使用新的方法和概念来对系统的整体结构进行把握。

三、体系结构的分类:

1.数据流系统,包括顺序批处理、管道和过滤器;

2. 调用-返回系统,包括主程序和子程序、面向对象系统、层次结构;

3. 独立部件,包括通信进程、事件隐式调用;

4.虚拟机,包括解释器、规则基系统;

5. 以数据为中心的系统(库),包括数据库、超文本系统、黑板系统;

6. 特殊领域风格;例如过程控制、模拟器;

7. 特殊结构的风格,例如分布式处理、状态转移系统;

8. 不同风格合成建立的异构结构;

9. 最初始、最基本的主程序/子程序。

四、结构范式:

1.管道和过滤器

每个组件具有输入和输出的集合,从流中读出数据作为输入,产生输出数据的流。 整个系统可以看成多个过滤器复合形成的数据处理组件。

过滤器A

过滤器B

过滤器C

管道

特点:

过滤器之间是相互独立的(不能共享状态),其中一个过滤器的操作和行为不能影响另外过滤器的操作和行为,流的传送没有副作用。

过滤和流的传送可以是并发的,可以同时有多个流的传送存在于系统之中。

实例:

一个最著名的实例是unix的shell编程,多个对数据进行处理的程序(组件)通过管道联结起来,产生总和的效果;还有传统的编译器,源代码经过词法分析、语法分析、中间代码生成、目标代码生成等步骤生成输出的目标代码。

优点:

整个系统的功能是多个过滤器作用的总和,这样可以简化系统的分析和设计,可以经过需求的分析之后将整个系统作为一个过滤器处理,然后再逐步的细化成为多个相互连接的过滤器。

支持组件的重用,同一个过滤器可以多次出现在系统的不同位置。

易于维护和增强,过滤器可以被替换,可以增加新的过滤器到系统中而不改变原有的过滤器,不改变原来系统的基本功能。

本质上的并发性支持,这种体系结构由于本质上是与各个独立的过滤器的状态无关的,与并行的流的通过次序也是无关的,所以并发是一个基本的体系结构自然具有的特性。

缺点:

由于过滤器之间本质上是独立的,所以设计者必须独立考虑每一个过滤器的输入、处理和输出的过程,对于过滤器逻辑上的共同点和相互关系无法在设计中加以体现。

由于蠢亮这种体虚派系的批处理特性,所以不适合开发和用户交互的应用程序。

系统的多个处理流之间的共同特性无法提取、多个过滤器之间的共同特性也无法提取,所以增加了设计的复杂性。

2.面向对象的体系

在这种体系中,数据和数据上的操作被封装成抽象数据类型或者对象。 系统由大量的对象组成,在物理上,对象之间通过函数或者过程调用相互作用;在逻辑上,对象之间通过集成、复合等方式实现设计的复用。

对象D

对象B

对象A

对象E

对象C

对象调用

对象调用

对象调用

类A

类B

类C

类G

对象A

对象E

类F

复合

继承

物理结构逻辑结构

特点:

面向对象系统分析和设计的资料已经太多,这里就不再详细说明了。

玩家

优点:

由于封装,实现了灵活性和扩充性,隐藏了实现的细节,提高代码的质量;

使用继承和多态、提高了软件的可重用性。

缺点:

最主要的缺点是,由于对象之间的交互是通过明确的对象函数调用进行的,所以当一个对象需要实现一个特定功能的时候,必须知道哪一个对象提供这种服务,这就降低了系统的灵活性。 管道和过滤器模型不需要明确指明数据的来源和去向。

事件驱动的体系

对象E

结构

对象E

对象E

事件分发的总线

事件的创建

事件接收者的注册的创建

对象E

这是面向对象和数据抽象体系的一种变形,系统同样是由大量的对象组成的,但是对象之间的交互不是通过明确指明对象的函数或者过程调用进行的,相反,系统提供事件的创建和发布的机制,对象产生事件,一个或者多个对象通过向系统注册关注这个事件并由此触发出相应的行为或者产生新的事件。

实例:

一个最著名的例子是GUI的模型,鼠标、键盘或者其他输入设备产生各种事件,窗口、程序或者其他对象有这些事件所触发,产生新的事件、进行数据处理或者其他操作。

优点:

用于函数和过程的调用调用不需要指明特定的对象,所以系统具有非常好的灵活性和扩展性,新的组件只需要向系统的事件处理部分注册就可以立刻加入系统中,同样,老的组件也可以方便的从系统中删除。 对于动态性要求特别高的系统,特别是如果需要在运行时对系统进行扩充,应该采用该结构。

缺点:

由于函数调用是通过事件发送进行的,所以,发出事件的对象不能确认是否有对象处理了这个事件、是否是期望的对象处理了这个事件、是否获得期望的结果,同样也无法控制事件发生的次序,系统的逻辑和时序的正确性必须通过复杂的时序逻辑和前后条件的断言加以保证。

3.分层次的体系

将系统功能和组件分成不同的功能层次,一般而言,只有最上层的组件和功能可以被系统外的使用者访问,只有相邻的层次之间才能够有函数调用。

下面是一个基本的商务处理系统的层次结构:

用户界面层

事务逻辑层

核心层

实例:

显然,ISO的OSI(开放系统互连)参考模型是最著名的层次模型的例子,通过将开放系统的功能和组件划分成7个层次,定义清晰的(很多时候是过于复杂的)层次之间的接口,实现复杂的互操作性。

优点:

系统的开发和设计可以逐步的分层次的进行,从底层的简单的功能逐步建立高层的复杂和抽象的功能。

灵活性和扩展性,由于相邻层次之间通过清晰的接口交互,所以特定的层次可以被替换和增强,甚至可以增加新的层次。

缺点:

不是所有的系统都可以分解成为清楚的层次

划分清晰、逻辑上一致的层次是非常困难的(OSI的失败和TCP/IP的成功说明了这一点)

严格的层次调用结构会降低系统的性能。

4.知识库体系

使用一个中心数据结构表示系统的当前状态,一组相互独立的组件在中心数据库上进行操作。 如果组件负责对中心数据进行选择、处理,这种体系就是传统的数据库模型;如果中心数据结构自主的引发一系列的行为,则这种体系可以看成一个黑板模型。

中心数据库(知识库)

客户组件A

客户组件B

客户组件C

实例:

大量的传统数据库应用程序实际上就是这一体系的具体实例。在很多研究系统中,使用的基于知识库的黑板模型,实际上也是这种体系

优点:

以数据为中心的体系结构,可以自然的表示大量的数据和事务处理的逻辑,适合表达以数据为重新的应用程序。

缺点:

只有很少一部分简单的数据库存储应用可以完全采用这种体系结构表示,在大量实际的商业应用中,完成师傅处理和其他逻辑的应用程序必须采用其他的体系结构表达

5.解释器体系

用户

如果应用程序的逻辑非常复杂,例如,AutoCAD的各种绘图指令,而且,用户可能以非常复杂的方式使用这个系统,一个较好的体系就是提供面向领域的一组指令(语言),系统解释这种语言,产生相应的行为,用户使用这种指令(语言)完成复杂的操作。

使用虚拟机语言描述的业务逻辑

虚拟机解释器

完成实际操作任务的基本指令

实际的问题领域

实例:

大量的开发工具、二次开发工具体现了这一思想:微软在其产品中大量使用的Visual Basic for Application,以及在AutoDesk产品中大量使用的AutoLisp语言,实际上就是给用户提供了一种面向领域的语言,然后核心解释执行这一语言的指令和指令序列。 从而扩充产品的功能,方便用户按照自己的需要定制系统。

优点:

非常好的扩展性,用户可以实现对软件系统的二次开发

缺点:

软件开发复杂,特别是这种指令集的设计非常困难。

是否可以采用一种成熟的语言作为二次开发的基础(例如,基于Java)

第九艺术学院·游戏开发系列教材·游戏架构设计与策划基础内容简介

本书闷银颤《游戏架构设计与策划基础》以当前游戏公司实际游戏策划设计方案为教学实例,深入浅出地介绍游戏策划设计的基本理论。 该书注重提高读者在游戏设计领域的综合能力,通过详细介绍游戏开发中的概念设计、原型设计、规则设计、情节设计、关卡设计原则,同时兼顾具体的关卡设计实践与游戏编辑工具使用实践,使读者能够全面了解游戏设计的原理,掌握基本的设计技能。 本书不仅提供了大量的实例和习题供读者参考和练习,而且其结构新颖紧凑,讲解通俗易懂,有助于读者更快地掌握游戏设计的核心知识和技能。 本书汇聚了作者丰富的实际游戏策划经验和教材编写经验,使读者能够迅速地跨入游戏设计的领域。 《游戏架构设计与策划基础》适合游戏开发人员作为参考用书,适合游戏开发爱好者自学使用,同时也可以作为大专院校游戏专业游戏开发课程的教材。 本书蚂败内容全面、实用性强,是游戏设计领域不可或缺的参考资料。 本书以游戏开发中的实际案例为基础,系统地讲解了游戏策划设计的基本理论。 通过深入探讨游戏开发中的概念设计、原型设计、规则设计、情节设计、关卡设计原则,本书不仅提供了一套全面的游戏设计知识体系,搏数还结合具体的实践案例,帮助读者掌握游戏设计的核心技能。 本书的编写旨在帮助读者快速掌握游戏设计的精髓,通过丰富的实例和习题,以及结构紧凑、讲解清晰的内容设计,让读者能够在短时间内建立起对游戏设计的全面认识。 无论你是游戏开发人员、游戏开发爱好者,还是游戏专业学生,本书都是你不可或缺的参考资料。

MindMaster入门教程 | 玩转九种思维结构,搞定思维导图很简单

初次接触MindMaster时,你会先遇到思维结构。 不同的思维结构代表了人们不同的思考模式。 选择合适的思维结构,可以帮助我们更好地表达复杂想法或解决难题。 MindMaster提供了九种基础思维结构:思维导图、单向导图、树状图、组织架构图、鱼骨图、时间线、圆圈图、气泡图、扇形放射图。 这些结构看似复杂,但学会后都非常实用,能帮助我们记忆、创造和思考。 在应用这些结构之前,我们先了解一下它们的理论基础。 MindMap和Thinking Map是两种常见的思维导图形式。 MindMap由英国记忆力之父东尼·博赞提出,源自脑神经生理的学习互动模式,是一种逻辑层次较强的可视化思维工具。 Thinking Map则由美国教育学博士大卫·海勒提出,源自认知心理学和语意学,是一种帮饥蔽扮助学习的语言工具,分为八种思维图示类型。 除了MindMap和Thinking Map,还有鱼骨图、组织架构图、时间线、扇形放射图等思维工具,它们能满足特定情境下的需求,是效用价值比较高的思维可视化工具。 以下是MindMaster中常用的思维导图结构:> 思维导图——构建知识框架,进行思维发散这是MindMaster中最经典和常用的思维结构,从中心主题出发,不断向四周进行思维扩散,适用于多种场景,尤其适合在头脑风暴中进行思维发散和制作学习笔记构建知识框架。 > 单向导图——分析和理解事物,表达整体和部分的关系单向导图也叫环抱图/括号图,用于分析和理解事物,可以清晰地表示出部分和整体之间的关系,是我们从小到大接触最多的思维方式。 > 圆圈图——对事物下定义,培养想象力圆圈图主要用来对一个事物下定义,很适合用于发散思维,进行自由联想,培养想象力。 > 气泡图——描述和归纳并禅事物特征气泡图主要用来描述或总结一个事物的特征,中间的泡泡是主题词汇,周围环绕的泡泡里写出这个事物的属性。 > 树状图——归类和分类树状图用来帮助烂灶我们进行归类,它的体系像一棵树,由很多枝丫构成,可以成为学前教育和小学教育中帮助形象理解的思维工具。 除了以上九种基础的思维结构,MindMaster还支持使用浮动主题和关系线等来绘制各种创意类思维导图。

  • 声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
  • 本文地址:https://m.srwj168.com.cn/keji312/28756.html
T1获得决赛优先选边权!DOTA选手诅咒BLG输 无法接受全
预售81.49万 Ultra正式亮相 1.98秒破百小米SU