原文长得吓人,个人能力有限,没法短时间一口气翻完,故分段发布
IEEE Transtraction on Games(IEEE游戏汇刊),CiteScore 4.2,Impact Factor 2.3,中科院SCI分区 计算机科学3区 ,目前少有的专注于电子游戏的学术期刊之一,内容涵盖电子游戏的科学、技术和工程等方面。
开放获取(OA)是学术界、出版界、情报界为了推动科研成果利用互联网自由传播而采取的行动, 作者向出版社支付文章处理费后,文章一旦发表即公开,可以在互联网上免费获取。且允许任何用户阅读、下载、复制、传播、打印、检索、连接其全文,将其编进搜引、作为软件数据或用于任何合法的目的。
程序化内容生成(下简称PCG)诞生自 1980 年代,并在游戏开发的发展过程中扮演着不可或缺的角色,尤其是在《我的世界》《无人深空》等开放世界游戏。但PCG也并非绝无缺点,滥用将导致游戏内容和/或游戏玩法变得重复。相比于使用PCG生成其他游戏元素,借助PCG生成谜题的应用却少有耳闻,业界的尝试主要集中在严格意义上的益智游戏上,而不是作为游戏元素的一部分融入到其它类型的游戏中。尽管如此,该领域仍有大量已有工作和空白研究空间。本文详细调查了PCG在谜题开发方面的现有工作,回顾了32类谜题中的11种方法。为了进行分析,本文确定了与这些方法相关的总共七个显着特征,这些特征用于显示技术之间的共性和差异性,并为未来的研究提供参考。
程序内容生成(PCG)在数字游戏中流行了数十年。从《Rogue》(1980)中的地牢和关卡,到《文明》和《我的世界》中的地形和资源,再到《无人深空》中的整个行星和太阳系,PCG经常被用于创建各种类型的游戏世界。
除了用于构建游戏世界,PCG还被用于创造叙事元素。《矮人要塞》便是其中最经典的例子,它通过程序生成了详细的背景故事,同时也为《我的世界》提供了直接灵感[1]。由人工智能(AI)驱动的角色也成为PCG的主题,例如《十字军之王II》,它以程序生成的方式创造角色特征,改变非玩家角色(NPC)的决策,从而导致有趣的家庭戏剧。而2014年的《中土世界:暗影魔多》通过独立生成每个敌人的个性并在整个游戏中保持一致,让玩家感觉他们正在与特定的敌人作战。
PCG的好处显而易见:
- 专用于内容生成的系统,降低创建游戏世界、背景故事和角色所需的人力和资源成本。
- 由于使用算法生成的特殊性,内容可以以近乎无限的方式扩展。
但使用PCG的游戏也面临着一种挑战:生成的内容可能会变得重复和乏味。往大型开放世界游戏中填入足够量的精彩内容是相当具有挑战性的一项工作,尤其是对于那些使用程序生成世界的游戏来说更甚:由于PCG无法遮掩游戏内容玩法的乏味性,《无人深空》至今依旧有玩家在因此给予差评 [2] 。
本论文中,我们将“谜题”定义为:一种玩家可以基于先前的知识(来源于游戏内或游戏外部)和/或通过探索解决方案空间[4]来解决的问题。
在数字游戏中,“谜题”是许多游戏类型的特征之一,并以多种形式呈现:
虽然PCG在生成游戏世界、行为、人物等游戏内容上广受欢迎[3],但是在创建谜题方面的应用却十分有限。在这一领域,目前业界的努力主要集中在严格意义上的益智游戏谜题上,而不是在创建融合在其他类型游戏中的谜题,以通过为玩家提供有趣且增强趣味性并改善游戏体验上。
谜题的程序化生成与其他游戏元素的程序化生成面临着类似的挑战。与其他类型的内容相比,程序生成谜题成为主流的一个障碍可能是严格的可解性限制。如前文所述,PCG内容往往存在内容重复的问题,而对于谜题来说,这种重复性可能表现为单一类型的谜题在游戏场景中大量重复利用,例如《质量效应 2》中的旁路谜题。应用 PCG 的结果通常是不可预测的,这可能是一种阻碍,但也是一种好处,尤其是它可以帮助设计师发挥创造力时。
在故事驱动的小型游戏中,谜题生成可以用来提高游戏的可玩性;这类游戏常被抱怨只能玩一次。改变游戏故事中的谜题可以提供多种多样的体验,而不需要设计者编写分支故事线。
已有文献(见[3]和[5])对PCG内容开展了调查研究,其内容涵盖了三维物体、游戏系统等常见游戏结构/元素。但由于这些调查范围过于广泛,在某些细分领域上,提供的信息有限。我们的调查旨在特别关注PCG在谜题生成方面的研究。
程序化谜题生成的研究大多集中在特定的谜题上,因为创建一个生成器至少需要了解一些特定的谜题规则。因此,我们在使用的文献研究方法是基于*谜题类型*来回顾谜题生成方面的研究;
需要读者注意的是:这些分类并不是基于对谜题的正式调查,也无意作为谜题的分类标准。它们只是基于我们对不同谜题流派在文献中讨论方式的了解,以及对相关谜题的近似分组,分类标准只为我们能有条不紊地回顾大量的工作而划定。我们将在下文举例一部分无法被准确划分类别的游戏。
出于同样的原因,类别在相似程度上也有所不同。本文中,类与类之间的谜题相似程度有可能天差地别。图1中的11个谜题类别大致是根据该类别中谜题的差异性而排列的。我们在图中所做的估计不应被视为一种正式的衡量标准,而是基于我们对这一领域的解读所做出的明智评估。对谜题领域本身的详尽划分我们只能交给后续研究解决,本文的重点将放在PCG技术上。
此外,谜题分类并不具有排他性,有些谜题会属于两个(或更多)分类的交叉点。例如基于时间的谜题(《Braid》、《塔洛斯法则》)或编程谜题(《Lightbot》、《Opus Magnum》、《人力资源机器》)。
此外,我们还希望通过这种方法找出谜题生成研究中的 "空白点",为未来的游戏开发提供学术参考。
根据Togelius等人[6]在其基于搜索的PCG调查中所设计的分类标准,我们定义了PCG方法的七个显著特征:
本调查中涉及的一些谜题类型起源于纸质或其他有形形式,而另一些谜题类型,例如基于物理原理的谜题,由于其交互性和动态性,只能真正存在于数字游戏中。动态谜题也为谜题的生成带来了独特的挑战,本文将对此作进一步讨论。传统谜题通常被原封不动地数字化,即在不改变核心谜题机制的情况下将其移植到数字平台上。数独和填字游戏就是此类谜题的典型代表。
传统谜题与数字谜题的一个显著区别是,后者可以将暴力破解(如穷举)作为游戏机制的一环。在《证人》(The Witness,2016)中的每一组迷宫谜题中,解谜者都必须通过使用穷举来解开几个小谜题,从而找出其中的规则。但也有一些基于计算机的谜题并不适合暴力破解,例如《塔洛斯法则》中的路径构建谜题。
另一个区别是时间性的存在:传统谜题仅在解题竞赛中使用时间限制,而数字化谜题更多地将时间作为一种机制或制约因素。典型例子如《俄罗斯方块》,如果没有时限因素存在,该游戏的挑战性将大打折扣。
不同媒体中的各种谜题都会或多或少地用到空间思维。例如用不规则的碎片拼成一个立方体的互锁谜题,就是基于空间思维的非数字三维谜题的一个例子。而在数字游戏中,解谜者则需要运用空间思维来构思物品在空间中的合理摆放位置,从而形成谜题。这种描述既适用于二维谜题,也适用于三维路径构建谜题[10]。
以 1982 年的一款日本视频游戏命名,在这款游戏中,玩家要在一个受限的网格区域内推动箱子,将它们推到目标位置。
这类谜题的最大特征是不会丢失任何物品/角色,也不会在棋盘上添加任何物品/角色;解题方法是对原始配置进行重新排列。
Sturtevant [20] 研究了使用大规模 BFS--一种完整的无信息搜索方法--来分析和生成 《Fling!》 的关卡。 借助该算法,Sturtevant 试图回答 [6] 中提出的一个问题,即基于搜索的 PCG 能否与自上而下的方法相结合。
他的研究重点是开发一种工具,用于分析和探索《Fling!》谜题,而不是从头开始生成它们(尽管它也可以用于生成谜题)。该工具使用一个终局数据库,通过逆向搜索给出所有大小在1至10之间的《Fling!》棋盘解法。对于任何给定的棋盘,该工具可以确定以下指标:使用正向广度优先搜索(BFS)可以合法到达的状态数量;使用深度优先搜索(DFS)和终局数据可以导致目标状态的合法移动;以及添加/移除棋子对谜题的可解性产生的影响。因此,该工具可以用于采用生成和测试的谜题生成方法。
对于给定的《Fling!》棋盘,其难度最直观的度量方式是从初始配置到达的状态数量。实验证明,级别(难度)与状态空间中的状态数量之间存在着强烈的相关性。与推箱子游戏一样,更多的领域特定度量标准可能会有用,例如,计算玩家不得不切换要投掷的球的次数。
下一章预告:华容道类、拼图类、积木、迷宫类与叙事类谜题的PCG内容的应用案例
[1] A. Handy, "Interview: Markus ‘notch’ persson talks making Minecraft", Mar. 2010, [online] Available: https://www.gamasutra.com/view/news/27719/Interview_Markus_Notch_Persson_Talks_Making_Minecraft.
[2] D. Heaven, "When infinity gets boring: What went wrong with No Man's Sky", Sep. 2016, [online] Available: https://www.newscientist.com/article/2104873-when-infinity-gets-boring-what-went-wrong-with-no-mans-sky/.
[3] M. Hendrikx, S. Meijer, J. Van Der Velden and A. Iosup, "Procedural content generation for games: A survey", ACM Trans. Multimedia Comput. Commun. Appl., vol. 9, no. 1, 2013.
[4] S. Colton, "Automated puzzle generation", Proc. AISB02 Symp. AI Creativity Arts Sci., pp. 99-108, 2002.
[5] N. Shaker, J. Togelius and M. J. Nelson, Procedural Content Generation in Games: A Textbook and an Overview of Current Research, Berlin, Germany:Springer, 2016.
[6] J. Togelius, G. N. Yannakakis, K. O. Stanley and C. Browne, "Search-based procedural content generation: A taxonomy and survey", IEEE Trans. Comput. Intell. AI Games, vol. 3, no. 3, pp. 172-186, Sep 2011.
[7] A. M. Smith and M. Mateas, "Answer set programming for procedural content generation: A design space approach", IEEE Trans. Comput. Intell. AI Games, vol. 3, no. 3, pp. 187-200, Sep 2011.
[8] J. Togelius and N. Shaker, "The search-based approach" in Procedural Content Generation in Games: A Textbook and an Overview of Current Research, Berlin, Germany:Springer, pp. 17-30, 2016.
[9] K. Compton, A. M. Smith and M. Mateas, "Anza island: Novel gameplay using ASP", Proc. 3rd Workshop Procedural Content Gener. Games, pp. 1-13, 2012.
[10] A. M. Smith, E. Andersen, M. Mateas and Z. Popović, "A case study of expressively constrainable level design automation tools for a puzzle game", Proc. Int. Conf. Found. Digit. Games, pp. 156-163, 2012.
[11] "Increpare/puzzlescript: Open source html5 puzzle game engine", [online] Available: https://github.com/increpare/PuzzleScript.
[12] A. Khalifa and M. Fayek, "Automatic puzzle level generation: A general approach using a description language", Proc. Comput. Creativity Games Workshop, 2015.
[13] C.-U. Lim and D. F. Harrell, "An approach to general videogame evaluation and automatic generation using a description language", Proc. IEEE Conf. Comput. Intell. Games, pp. 1-8, 2014.
[14] J. Taylor and I. Parberry, "Procedural generation of Sokoban levels", Proc. Int. North Amer. Conf. Intell. Games Simul., pp. 5-12, 2011.
[15] B. Kartal, N. Sohre and S. Guy, "Generating Sokoban puzzle game levels with Monte Carlo tree search", Proc. IJCAI-16 Workshop Gen. Game Playing, pp. 47–54, 2016.
[16] J. Culberson, "Sokoban is PSPACE-complete", Proc. Inform., vol. 4, pp. 65-76, 1999.
[17] Y. Murase, H. Matsubara and Y. Hiraga, "Automatic making of Sokoban problems", Proc. Pacific Rim Int. Conf. Artif. Intell., pp. 592-600, 1996.
[18] J. Taylor, T. D. Parsons and I. Parberry, "Comparing player attention on procedurally generated vs. hand crafted Sokoban levels with an auditory stroop test", Proc. Conf. Found. Digit. Games, 2015.
[19] B. Kartal, N. Sohre and S. J. Guy, "Data-driven Sokoban puzzle generation with Monte Carlo tree search", Proc. 12th Artif. Intell. Interactive Digit. Entertainment Conf., pp. 58-64, 2016.
[20] N. Sturtevant, "An argument for large-scale breadth-first search for game design and content generation via a case study of fling", Proc. AI Game Des. Process, pp. 28-33, 2013.
评论区
共 3 条评论热门最新