您的位置 首页 > 数码极客

【1713游戏】千面科学丨从科技到游戏,树状图如何影响我们的思维与观念

戴一

我们对树应该都不陌生,其最为显著的特征就是不断分叉。类比自然界中树的形状,在其他领域中我们有了各种各样的树,本文将从数学上的树讲起,回顾其简单历史、性质和在其他领域的应用,并聚焦于游戏中的科技树,讨论游戏中采用这种树状结构的含义,尤其是历史模拟游戏中对历史的阐释起到的作用,以及这种思想外溢之后对大众文化的影响。

一、图论和计算机中的树

让我们从图论说起。最早使用图(Grah)这一术语的是英国数学家、律师詹姆斯·约瑟夫·西尔维斯特(James Joseph Sylvester,1814-1897),他在1878年用化学图(chemico-graphical image)表示数学与化学中分子的关系。图论中的最基础最简单的图被称为无向图(与有向图区分)或简单图(与多重图区分),包括节点和边两部分,边是用来形容节点之间的关系。上述语言是图论的语言(也可以等价转化成集合论的语言,两者关系类似于我们高中学数学用到的数形结合思想,即解析几何可以用代数方法解决几何问题),和日常生活中差别不大,比较容易理解。如图1中是有三个节点三条边的一个无向图、简单图。所谓无向,指的是边是没有方向的,不指向特定的方向(显然有向图可以视为是无向图的特殊子集,因为其方向确定了);所谓简单,指的是两节点之间只能有一条边连接。

图1:无向图、简单图

图论的树(Tree),指的任意两节点之间都有且仅有一条边的无向图;森林指的是任意两点之间至多仅有一条边的无向图。这和自然界中的概念就不太一样了,自然界中很多树组成一片森林,但是图论中,一棵树就可以是森林,但森林不一定是一棵树。

一棵树中,如果指定一个特殊节点称之为根,这样的树称之为有根树,有根树中其他节点到根的距离可以分层计算,称之为树的高度。熟悉计算机或者编程的朋友会发现这就是编程中常见的树的概念,其中最为基础和简单的就是n叉树,n=2时就是最简单的二叉树,所谓n叉树指的是有根树的每个节点下的子树都至多有n个。另外,树根据节点之间有无顺序可以分为有序树和无序树(也叫自由树),有序树指的是树中任意节点的子节点之间有顺序关系;无序树则任意节点的子节点都没有顺序关系。如前面说有向图可以视为特殊的无向图,类似有序树也可视为特殊的无序树。

在运用之前,补充一个无环的概念,无环就是节点之间没有形成闭环,图1就是一个有环图,我们日常运用的图大多数都是有向无环图(directed acyclic graph,DAG)。这里要着重指出,我们前面说过树是无向图,抽象一点说根和子树之间并不存在时间先后的必然性,并不是先有了根才能长出分叉,这和自然界中树先有根才能不断生长分叉是不一样的。但是由于人的思维过程和计算机存储的限制,很多时候即便我们意识到无向图、无序树的存在,仍是在按有向图、有序树的方式进行思考、处理。换句话说,单纯从数学上说,有向图和无向图、有序树和无序树肯定是有区别的,但是当我们用图和树来处理其他实际问题时,大多数时候树就坍缩成了有向无环图、无序树就坍缩成了有序树。

这些概念一时半会理解不了也没有关系,下面我们将举例进行说明。

二、科学技术中的树状图

树状图(dendrogram)这个词来自古希腊的树(déndron)和绘图(grámma),我们通常用它进行聚类分析(例如引文分析),也称树形图(tree diagram),与之类似的词还有树结构(tree structure)、树模型(tree model)。

这样的例子很多,在系统发育学中用来表示物种之间的关系时,称为系统发育树(phylogenetic tree),也就是我们熟知的演化树(evolutionary tree);在系谱学中,用来表示不同的家族关系,称之为系谱树(genealogy )或家族树(family tree),有意思的是,通常演化树的根在下面,树往上长,家族树通常祖先在上面,树往下长;在语言学中,用来表示字符串语法关系,称之为分析树(parse tree),也叫具体语法树(concrete syntax tree,CST),与之相对的是计算机中的抽象语法树(abstract syntax tree, AST),也称语法树(syntax tree),用于仿造自然语言的语法对计算机语言进行分析,值得一提的是,1965年语言学家、哲学家乔姆斯基(Avram Noam Chomsky,1928-)在《句法理论的若干问题》(Aspects of the Theory of Syntax)中同时使用了tree structure和tree model;在项目管理中,用来表示不同项目或行为之间的关系,称为决策树(Decision tree)。

这些树基本上都是有向图,即都是有方向的。演化树不用说,不同时间诞生不同物种;家族树也类似,不可能先有孩子再有父母,如果同一父母的孩子从左到右按年龄大小排列,这就还是一个有序树;决策树也一样,只有前一行为决策之后才会导致后续决策。当然树状图也并不总是表示时间的先后顺序,还可以用来表示贝叶斯概率,例如流传病学的树状图表现的是一个概率因果关系,而非时间。

这里比较有意思的是具体语法树和抽象语法树的区别。来看简单的例子,图2是一个简单的具体语法树。S代表句子(sentence),N代表名词(noun),VP代表动词短语(verb phrase),V代表动词(verb),NP代表名词短语(noun phrase),D代表限定词(determiner),这就是我们中学语文学过的基本的语法分析,我们可以说句子是由词语组成的,也可以说词语组成了句子,这里是没有方向的,完全取决于我们的出发点。但是如果用抽象语法树表示,用来检查一个句子是否完整,我们就会用上一些if句判断,有没有主语、主语是不是名词,是就进入下一步继续判断,不是则直接输出答案,这里的树本质上就是一个决策树,因为我们前置加了一个条件:判断一个句子是否完整。也就是说,抽象的语法被命名为具体语法树;具体用来验证编译的反而被命名为抽象语法树。

图2 具体语法树

另一个一般情况下被视为无向图的是百科全书式的图谱,最早是德尼·狄德罗(Denis Diderot,1713-1784)和让·勒朗·达朗贝尔(Jean le Rond d'Alembert,1717-1783)为《百科全书》(Encyclopédie)制作的具象人类知识系统(Figurative system of human knowledge)有时也被称为狄德罗和达朗贝尔之树(the tree of Diderot and d'Alembert),图3为网络流传的中译本。这成为知识分类的范本,今天包括情报学、图书馆学、生物分类学等等,仍在采用这种形式和表达。包括我们最常见的年表,本质上也是一种树状图,以年份为节点记录发生的事情,但节点和节点之间是有顺序的。

图3:具象人类知识系统

和前述语法树一样有趣的是,这种图谱本身是不包含什么明确方向的,但在计算机普及的今天,如果我们要进行分类,一定是先有父类才有子类的,比如我们要处理科幻是属于科学还是文学,人脑可以是这样的思维过程:科学(文学)下面有个分类是科幻,或者科幻是科学(文学)的分支。但是在计算机操作过程中,你一定是先建立一个父类科学或文学,父类应该包含什么要素和条件,再用子类去匹配。某种程度上这就是目前强AI努力的方向,因为现有的AI都是人为的规定好规则(父类),AI按照规则行事,这就是我们常说AI没有创造性的原因,一个最为简单的例子就是它不会创造规则(唯一有可能例外的是涌现),人类可以完成分类、发现新的种类、发明新的分类规则,机器只能按照已有的分类规则进行分类。类似的,AI也无法理解规则。例如前面我们说到家族树中的有序树,年龄按从小到大或者从大到小排列,人类能明白这两种排列的本质在于时间,年龄越大的出生越早,目前的AI还理解不了排列背后的含义。

三、游戏中的科技树

1980年弗朗西斯·特雷舍姆(Francis Tresham,1936-2019)发明桌游《文明》(Civilization)时就引入了科技树(Technology tree),这是最早在游戏中引入科技树的,但这款桌游和后来的文明系列(Sid Meier's Civilization)并没有什么关系。文明系列(1代诞生于1991年)、帝国时代系列(Age of Empires,1代诞生于1997年)、地球帝国(Empire Earth,1代诞生于2001年)、国家的崛起(Rise of Nations,2003)等历史战略游戏都引入了科技树。基本上都是随着时代演变逐步解锁不同的科技,每一项科技都以前一项(或几项)为前置条件。值得注意的是,technology明明只有技术的含义,但中译名总是要笼统地加入科学合称为科技,本文也基本沿用这种表述,但实际上游戏中的科技树包括自然科学、工程技术、宗教信仰、人文社科等诸多方面,直到2016年的《文明6》中才勉强将一些制度文化方面的科技单列出来形成市政树,但总体上仍是杂糅的。图4即为游戏中远古时代的科技树,显然书写并不会被认为是一项科学技术。

图4:《文明6》部分科技树

文化研究者图尔·吉斯(Tuur Ghys)就历史战略游戏中的科技树进行过深入研究,撰写了《科技树:历史战略游戏中的自由意志与决定论》(Technology Trees: Freedom and Determinism in Historical Strategy Games)等文章,出版了专著《攀爬科技树:历史战略游戏中的科技史》(Moving up the Tech Tree: The history of technology in historical strategy games)。吉斯以《文明4》、《帝国时代1》、《地球帝国1》、《国家的崛起》重点讨论了历史决定论的影响。所谓历史决定论包括三个方面:(1)科技树必然按一定顺序解锁发展;(2)科技必然影响社会发展;(3)由此影响每个时代,使得每个时代各具特色并且越来越强大。显然这是一种认为历史不断进步的技术乐观主义,今天已经被大多数学者所抛弃,但在大众心里仍颇具影响。吉斯也意识到所谓科技树其实名不副实,而且不同游戏选择的科技条目不太一样,即便选择的条目一样,赋予的效果也未必相同,这也称得上某种自由意志了吧。但是不同游戏的选择也有一些有意思的地方,比如上述四款游戏不约而同地选择了一神论,有些条目具体的效果虽然不一样但总体方向一致,比如灌溉总是增加粮食收入的,反映出某些基本共识。但是也闹过一些笑话,比如《帝国时代1》中不同国家科技树并不一样,波兰的科技树中完全没有货币,这显然不符合真实的历史。

我们需要回答两个问题:游戏中的科技树为什么这样设计,以及由此带来了什么影响。先回答第一个问题,吉斯文中也指出,与其称为科技树不如称为升级树(upgrade tree)。战略游戏中的科技树是一件新鲜玩意吗?并不是,在其他游戏特别是角色扮演游戏(RPG)中有极为类似的东西:技能树或天赋树。随着人物等级的提升,可以解锁不同的天赋、技能,让角色更强大。这和战略游戏中的科技树有什么本质区别吗?看起来历史游戏中科技不断升级、影响社会进步,本质上不就是打怪升级点技能吗?本质上都是有向无环图的底层逻辑,都是为游戏叙事服务的,让玩家知道自己的长中短期发展目标,如何规划自身发展。

当然,要了解科技树本质上是为叙事服务的,我们还可以类比看一看游戏中的情节选项分支,尤其是文字冒险游戏(TAVG)中的剧情分支流程图,就更能理解为什么科技树本质上和剧情流程毫无区别了,如图5是《底特律变人》的剧情分支。在文字冒险游戏中,通过类似的流程图(绝大部分和科技树一样是有向无环图)来推进剧情,并通过剧情分支引导玩家游玩不同的游戏剧情,通常这些流程图也是简单的单向线性的,因为如果叙事结构本身也很复杂的话,会提高玩家的上手门槛,所以即便是时间穿越或循环、无限流等内容的游戏,大部分的剧情分支也是线性的,可以使用这样的树状图描绘出来。特别是对于部分美少女游戏(galgame)等注重剧情分支的游戏而言,由于素材重复利用率高,又和TAVG高度重合,通过设计同一关卡的不同剧情导向不同结局,能一定程度上将素材重复利用率高的劣势转化成玩家多周目游玩的优势。

图5:《底特律变人》剧情分支

在其他战略游戏例如《星际争霸》(StarCraft)中,科技树基本全是军事类的,因为游戏本身只能靠战争获胜,主打的也是战争,在历史战略游戏中因为想让玩家有更好的代入感,采用了几个真实世界的科技名词而已,不然如果把长城当成美利坚或者巴西的特色科技,玩家就太容易出戏了。此外,游戏之所以设计成线性的、有回报的,是为了迎合玩家的心理,不然和现实一样,投简历、考研反复失败,失败还不会增加后续胜率,就太影响玩家体验了。

但是,这种设计很容易潜移默化地影响玩家的历史观念,导致玩家认为历史发展是线性的,导致思路被限定死。我们前面说过,树形图的有向性通常体现为时间,随着时间发展,攀爬科技树总是进步的,哪怕有些科技树是横着的(例如《文明6》),有的是从上往下长的(例如《银河破碎者》)。除了决定论这一点外,这类科技树还忽略了很多其他东西。第一,像《文明6》这样所有文明都用一套科技树(当然不同文明可以适当修饰自己的部分科技,以示区别,但这更多是为了突出游玩的趣味性和不同文明的差异性),本质上是强调科技的普适性以及文明发展的普适性,但实际上不同文明发展从根本上就不一样,《文明6》的科技树是完全欧洲中心主义的。第二,不同科技之间是否有前置条件并不像游戏显示的那样简单,而且我们说过树形图是只有时间上的顺序关系的,因此反映的仅仅是不同时间科技的影响,前序科技会影响后序科技,没有考虑同一时期科技的互相影响。第三,将社会的发展完全归功于科技进步是完全错误的,科技树的攀爬本身也简化了科技本身发展的复杂过程。

这一趋势已经从游戏扩散到了网文,很多网文作者要么本身就爱打游戏,要么受游戏文化影响颇深,导致很多穿越文、科幻文都喜欢用科技树作为行文的框架,本质上和游戏用人物升级来驱动情节是一样的。

当然这不是提出另一种游戏有害论,指责游戏特别是历史游戏误人子弟,而是指出游戏设计的逻辑必然导致某种价值观,这种价值观是蕴含于游戏设计本身的。进一步说,工具本身就是蕴含价值取向的,树形图天然就是线性的。事实上,一旦我们将科技树替换成魔法技能,就不会受这么大的影响。本质上我们仍应该牢记哲学家的教导:未经审慎的人生是不值得过的。如果游戏设计、网文习惯套用一套设计模板和框架,看的多了玩的多了也就知道套路了,玩家和读者应该避免程式化的叙事带来的潜移默化的影响,创作者也应该避免路径依赖带来的创作懈怠。

责任编辑:朱凡

校对:徐亦嘉

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“1713游戏,1713游戏交易,1713游戏官方网站,17173游戏交易平台官网”边界阅读