游戏开发论坛

 找回密码
 立即注册
搜索
查看: 9248|回复: 1

[分享] 推箱子的历史,理论研究和衍生游戏介绍

[复制链接]

1万

主题

1万

帖子

3万

积分

论坛元老

Rank: 8Rank: 8

积分
36572
发表于 2018-11-12 15:02:42 | 显示全部楼层 |阅读模式
image094.jpg

文/weiyun

本文会介绍推箱子类游戏的历史,相关研究,以及各种各样的变形都是怎样在基本规则上改进的,并会重点介绍几个比较新的有代表性的作品。把这一类的游戏放到一起介绍避免了介绍相似的游戏时很多基本内容要重复写一遍,而且也更容易比较不同游戏之间的相似和不同。不过由于这类游戏实在太多,保守估计已经有几千个,所以很难保证覆盖全面。目前为止只挑选了一些重点作品进行介绍,主要是比较有特色的。还有不少游戏没有介绍,部分游戏还没有发售的会在最后单独列出来,有些漏掉的作品会看情况增补。

历史介绍

推箱子是非常经典的解谜游戏,源自日本,到现在已经接近40年的历史了。日本其实逻辑谜题一直比较流行,Sudoku,Nonogram之类的经典的谜题大都是在日本发展起来的,这要归功于谜题出版商Nikoli。电脑解谜游戏方面,日本也比较领先,70年代末才出现了第一代个人电脑,而推箱子也是同一时代的作品。它是在在1981年由Hiroyuki Imabayashi(今林宏行)设计,英文名叫Sokoban(日文倉庫番,就是仓库工人),用BASIC语言编写,运行在PC-8801上,这是日本的第一代PC。据传他当时并没有打算商业化,做出来只是给朋友玩。后来在一名软件发行公司的推销员建议下才开始商业化制作。他成立了Thinking Rabbit,自己担任社长,并发行了这个游戏。最初版本只有20关,其中前10关是正常关卡,后面10关则是带有隐藏墙壁的变化关卡,因为后面不是纯逻辑谜题了,所以一般在讨论关卡数时认为初代只有10关。两年后,也就是1984年,他们推出了2代,有50关,这也就是到现在为止很多作者模仿的经典版。此后,Thinking Rabbit分别在1989年和1991年推出了Sokoban Perfect和Sokoban Revenge,各有306关,这些关卡合起来基本就是现在市面上各种推箱子游戏关卡的来源。这四款游戏都是发布在日本NES产的个人电脑,Spectrum HoloByte在1988年才把这款游戏引入欧美,移植到了比较流行的IBM-PC,Apple II之类的平台上,是经典版的50关。

image001.jpg

在1990年,台湾大宇公司推出了仓库世家,正式将推箱子引入了中囯,此游戏一共250关。1995年,大宇又先后引进了Sokoban Perfect和Sokoban Revenge,游戏名分别叫仓库番:史上完整版和仓库番:玩家复仇版。

image002.jpg

Thinking Rabbit也是很长时间没有出什么新作,只是不断的推出沿用之前关卡的作品和授权移植,推箱子被移植到了十几个平台,包括GB,MD,PS等。但新关卡其实不多,大部分关卡也都是来自于Perfect和Revenge两作。04年之后,推箱子归属Falcon公司,他们推出了各种手机平台的推箱子游戏,大多是运营商合作的,发行则大部分是SE发行,也有Konami发行的。15年后他们重新推出Windows版,这次是Perfect Plus,First Step Plus和Revenge的再版,都是Windows平台。此后又推出了苹果和安卓版本,不过两大应用商店早就有各种推箱子仿制品,官方版本基本被淹没了,不过相比较而言官方版本的画面和关卡都是很不错的。

复杂度和相关研究

推箱子属于滑块谜题(Sliding Piece Puzzle)的一种,有一本同名的书专门介绍这类谜题,是1986年牛津大学出版的,其中介绍了各种滑块谜题。其中大部分都是实体谜题,比如15谜题,华容道之类的(顺便说一下,华容道虽然是三国背景,但直到20世纪才有记载,是晚于欧洲的同类谜题的)。推箱子之所以能归入这一类是因为箱子和滑块没有本质区别,只不过只占一格,人可以看做唯一能自由移动的滑块。在这本书里,推箱子的原版10关在上面都有列举,同时作者还对各种谜题进行了难度评分,这10关的难度基本是逐步上升的。游戏的难度变化曲线,也就是游戏的节奏对于解谜游戏来说至关重要。人对于解谜游戏的要求实际上是比较苛刻的,解谜游戏既要难,但又不能太难。这里难指的是足够复杂,能够实现各种不同的解题方向,给玩家思考的空间;而简单则是指符合玩家的水平,不能超出太多,否则人们会乱试几下就失去兴趣,实际上游戏的节奏保持稍高与玩家的水平才更能吸引人们。难度需要一个量化标准,有不少理论研究了这方面的内容,因为推箱子是有实际意义的,比如机器人的控制和物品摆放这些实际问题可以简化为推箱子,这也是游戏的初始背景,而研究人的解谜方式则对人的认知和思维过程的理解都有所帮助。不过,理论上来讲,推箱子对于人和计算机的难度都很高。

对计算机来说难度的判断依据是复杂度理论,这里简单介绍一下,计算机专业或对理论不感兴趣的话可以跳过。复杂度理论主要用计算机的理论模型图灵机作为研究对象,主要研究的内容是时间和空间的复杂度。图灵机是一个无限长纸带,划分成小格,每格有一个符号,这是内存的抽象。还有一个读写头,可以左右移动,读写纸带上的符号,这是对总线的抽象。还有一个起始状态,终止状态,一个状态转移表根据读入的符号转到下一状态,这是对CPU的抽象。非确定图灵机就是每次能转移到多个状态,最终只要其中一个是终止状态就可以。

image003.jpg

x论依据问题对时间和空间的要求分成不同的复杂性类,P是指多项式时间内确定性图灵机能判定的问题,NP指多项式时间内非确定图灵机能判定的问题。PSPACE是指确定图灵机多项式空间能判定的问题。多项式指的是所需的空间或时间能写成an^k+bn^(k-1)+…+cn+d这样的形式。n是问题的规模,在这里就是地图大小。判定指的是答案为真或假的问题,对于推箱子来说就是判定一个地图是否有解。

下面说结论:已经有人证明了推箱子问题是PSPACE-COMPLETE的,也就是说它可以用多项式空间解决,同时所有用多项式空间能解决的问题都可以在多项式时间内规约成为推箱子问题。证明的方法一般就是把一个已经证明为PSPACE-Complete的问题规约到推箱子问题。这里面包括的问题就很多了,其中一个是LBA(Linear Bounded Automata)问题,就是线性有界自动机能否接受一个输入,一般内存是有限的,LBA可以看成更接近于实际计算机的模型。另一个问题就是判断一个句子是否符合上下文相关语法。还有就是TQBF(True Quantified Boolean Formula)问题,就是判断一个只能取真和假,所有变量有全称和存在量词限定的逻辑表达式是否为真的问题。

image004.jpg

Robert A.Hearn和Erik D.Demaine合著了一本书叫《Games,Puzzles,and Computation》,这本书里就把0人游戏也就是自动机,1人游戏也就是解谜游戏,2人的博弈比如围棋等放到了一个约束逻辑框架中,证明了各种情况下的复杂性,然后又用这个框架证明各种实际游戏的复杂性。对于解谜游戏就是采用将TQBF规约到约束逻辑的方法证明的。实际上Robert Hearn是MIT的博士,Erik Demaine是他的导师,这本书原来是他的博士论文。而Erik Demaine更是研究了很多关于游戏方面的理论,包括折纸和谜题等,还开设了好几门课程,对理论研究有兴趣的话可以去他的主页看看。http://erikdemaine.org/

复杂度理论还是比较有意思的,在这方面上可以说解谜游戏,逻辑,语言和计算都是等价的。不过,对一般程序员来说,复杂性理论主要的作用是劝退,如果一个问题证明是NP-hard的话,除非想要把数学和计算机的奖得个大满贯,否则就不用费心找低复杂度的算法了。所以计算机解决推箱子问题的方法还是只能穷举,搜索所有可能的步骤寻找解,因此只能处理很小的地图,因为所需时间是随地图大小指数增长的,几百格的地图所需要的计算时间就远远大于宇宙的年龄了,而且计算机的速度提升几倍也就能处理的地图大小也就比原来+1而已,这也是区分多项式复杂度和指数复杂度的意义。

但人类和计算机的解决方法并不相同,人类不依靠搜索来解题,而是靠直觉(也就是heuristics),之前就有使用启发式算法进行搜索优化的,比如Hill-Climb Heuristic,就是把所有箱子离目标的距离之和作为优化的目标。但Petr Jarusek和Radek Pelanek认为这些方法并不能正确衡量谜题对人类的难度,他们建立了一个游戏网站记录每个人游戏时思考的时间,然后提出了一种人类模型,他们发现大多数人在初始位置附近花费的时间很多,但几乎不会在无效状态花费时间,一旦到达离最终点超过一半时就能很快完成谜题。因此他们提出了一个将随机走和有序走结合的模型,走到死路的概率为0,可以到达目标的状态权重高于其他状态,然后通过计算机多次模拟这个模型得到的平均步数来判断谜题对人的难度。他们认为人类适合抽象,问题分解和模式识别,因此还提出了另一个基于问题分解的方法,具体就是把箱子分成两组,每种分法计算在不同组之间交换最少的解法步数,最后得到所有分法的最小步数,第二种方法是每个箱子一组,计算不同箱子间交换最少的解法步数。以上两关是对人类难但对计算机容易的关卡,人类平均解决实际都超过了40分钟。

image005.jpg

其实人是喜欢挑战的,大多数游戏复杂度都很高,很少有NP-hard以下的,毕竟难才有研究的意义,如果有固定解法的话很快就会变得无聊。有的游戏,比如Wayout和Zasa就都是P类问题,作为解谜游戏而言难度上限就差了一些,相比较而言也更容易无聊。关于推箱子的研究还有几方面,其中有关卡求解器,我们已经知道不存在有效算法来求解,但是可以对特定情况优化,用一些启发式搜索算法,同时尽早排除无效的情况可以提高能解决问题的大小。还有一方面的研究是随机关卡生成,纯随机生成的关卡大概率是无解的,而且不存在有效的判断方法,难度也很难界定。随机关卡生成和求解方法其实差不多,先生成一块地图和目标点最为最终结果,然后从最终结果开始,依据不同的判断规则寻找离目标最远的情况。不过生成的时间也比较长,近年人工智能比较热门,又有人提出神经网络进行关卡生成的方法,不过有趣的大型关卡还是需要有经验的人来设计。

推箱子的衍生游戏

推箱子作为一款经典游戏,风靡世界几十年,也启发了许多游戏制作人制作出各种各样的解谜游戏,下面就从不同方面介绍各种推箱子为基础游戏在创意和玩法上的变化和发展。

  • 功能和画面的变化


作为一款80年代的作品,原版的推箱子画面自然是十分落后的,随着技术的提升,也不断有人制作画面改进的关卡,加上了不同的风格和主题,还有各种各样的功能比如自定义关卡,换皮肤等。因为这类型太多了,也没有什么特别出色的,暂时不作过多介绍了。

  • 规则的延伸


这一部分主要介绍对基本规则进行简单变形的游戏,这些游戏的规则从始至终都是不变的,只有关卡难度增加。它们分别从地形,限制条件等角度对游戏进行了扩展。

强力推箱子原版的游戏一次只能推动一个箱子,这时的箱子既是障碍,又是目标,强力推箱子取消了这一限制实际上是减弱了箱子作为障碍的功能,代表作品有Sokostrong和杨超制作的QSokoban

image006.jpg

拉箱子就是在推箱子上引入了拉箱子规则,这使得任意操作都是可以通过另一操作还原的,因此关卡只要有解就不会出现死局。Erik Demaine等人证明了这类谜题再3D情况下是PSPACE-Complete,2D且墙不占格子的情况下是NP-hard问题。代表作有Pullkoban和杨超制作的PSokoban

image007.jpg

限制箱子的位置这类游戏通常将目标点和箱子进行编号或分组,典型的包括Sokomind Plus,引入了编号箱子。

image008.jpg

这个网站引入了Modern Sokoban,加入了很多规则,其中就包括箱子分成4组。现代规则还包括格子各样的轨道,冰面,磁铁,洞等元素。完整内容在此:![]https:/www.sokobanonline.com/help/how-to-play))

改变关卡结构原版的规则是正方形关卡,有几个游戏或者游戏引擎可以处理六边形,三角形和八角形的关卡结构。不过关卡形状的改变其实只是改变了可选路径,对游戏本身的玩法其实没什么影响。代表作有各种推箱子引擎如The

MazezaM Engine

image009.jpg

YHexoban

image010.jpg

HexoSoko

image011.jpg

YANKAI'S PEAK.

image012.jpg

这个游戏是三角形的地图,用不同颜色区分不同的目标。

增加玩家普通推箱子是单可控角色的,这种规则就是允许有多个玩家,实际上这也更接近一般的滑块谜题。代表作Multiban

image013.jpg

还有另一种游戏增加了非对称玩家,比如Olaf&Elmar in the Castles of Nabokos这个游戏结合了强力推箱子和非对称多玩家玩法,游戏中控制一只大象和一只老鼠,他们占的格子不同,力量也不同。

image014.jpg

  • 改变箱子到目标点后的地形


Ghost Sokoban这款游戏推入箱子后会变成地面,

image015.jpg

image016.jpg

这种玩法和把箱子推到洞里是一样的,还有Blocco

Gunther's Kistenschieben kesto这款则正好相反,会变成墙

image017.jpg

  • 限制移动方式


Abyssal Zone

这款游戏中玩家只能顺时针移动。

image018.jpg

  • 限制步数


Sokoban Coon

image019.jpg

这款游戏对推拉以及最小和最大距离都没有限制,但限制了步数,所以游戏变成了寻找最佳策略的玩法。

  • 引入新元素


加入滑动的冰箱子

推箱子其实是最小滑动的谜题,而有一类是最大滑动谜题,就是每次推动都会移动到没有障碍的最大距离。这类谜题种类也不少,值得单独讲,但有些游戏把这种箱子引入到了传统规则中。典型的游戏有日本的Ruta

image020.jpg

和一款Java小游戏Sokobox

image021.jpg

加入固定行为的怪物

这种类型的谜题虽然有怪物,但实际上怪物行为是确定的,没有随机成分,主要以逻辑为主,并不要求动作。

Eggerland/Adventure of Lolo系列

本系列有非常多的游戏,还有日版和欧版等混乱的版本号,不过游戏玩法几乎没有变化,每关需要收集心然后打开宝箱,不同的怪物有不同的行为,比如美杜莎会在四个方向没有障碍物的时候发射石化射线,但本身不会移动,还有的怪物会在收集齐心后才会攻击。

image022.jpg

Zamby and the Mystical Crystals

这个游戏是和Adventure of Lolo差不多的一款游戏,2007年推出。也是有各种怪物,不同的是有大地图但不连续,仍然是关卡制,而且不需要移动到出口,但整体躲避怪物的玩法相当类似。

image023.jpg

引入不同能力的人物

Parcel

这个游戏相对来讲是更讲究逻辑的,游戏一共有六种人物,最终目标是所有人物都达到指定地点。不同的人物设计非常有特色。Block可以推拉箱子,也可以拿起和放下箱子,箱子可以挡住机器人的激光。Magna相当于磁铁,可以远距离吸引箱子,距离足够远的话可以消灭机器人,Hackman可以改变某些方格的连通性,Porter可以与其他人物或箱子换位置三次。Shade可以穿墙三次,Clobber可以造路三次。

image024.jpg

Berusky

这款游戏是开源的,加入了包括彩色门,炸药,锄头,单向门等多种元素。

image025.jpg

Berusky II

2代进行了3D化,之前作为Bug's Escape 3D推出,但现在已经找不到了,作者开发了开源版本,只能在Linux下运行,而且关卡比之前少。

image026.jpg

Kwirk

image027.jpg

Amazing Tater

image028.jpg

这两款都是GB上的游戏,主要目标是所有角色到达终点,游戏在推箱子上引入了旋转方块+不同大小的方块+多角色,关卡设计出色。

  • 引入其它类型游戏的玩法


推箱子+消除=interLOGIC

image029.jpg

这个游戏据说是根据1993年的同名Amiga游戏Balls制作的,此前是开源的,后来登陆了Steam,玩法是同色箱子消除,目标是消除所有箱子。

推箱子+多消+其他=Polyology

image030.jpg

除了引入消除的玩法外还增加了滑动方块,固定方块,不规则方块,交换位置方块,定时方块等多种元素。

推箱子+Platformer=Toodee And Topdee

image031.gif

这是LD41的作品,这期内容是组合不相容的类型,而本作则巧妙地将俯视角的推箱子和平台跳跃关卡放到了一张地图上,创造了用箱子搭平台之类的玩法,很有新意。

推箱子+炸弹人=Tooki

image032.jpg

这个游戏的解谜几乎都是建立在时间基础上的,其实逻辑性不是很强,游戏目标是把胡萝卜送到指定地点。

推箱子+贪吃蛇

Snokoban Dash

这款游戏结合了贪吃蛇和推箱子,还有Boulder Dash的玩法。

image033.jpg

推箱子+音乐游戏=Resynth

image034.jpg

这个游戏非常独特,游戏的逻辑部分不难,但是把箱子推到正确位置后是每个箱子发出一个音,同时不断有扫描线播放当前组合出的音效,关卡完成后就能组合出正确的音乐。

推箱子衍生的动作解谜

推箱子的单玩家特点让它可以很容易和其他类型游戏结合,包括塞尔达等游戏都加入了少许推箱子元素。下面介绍一些以解谜为主的推箱子游戏,这些游戏往往加入了非常多的元素,已经不再是纯逻辑解谜,有了对反应和时机掌握的要求。

Rescue Rover!

image035.jpg

Rescue Rover II

image036.jpg

这两款游戏是大名鼎鼎的Id Software作品,在它们推出一系列FPS代表作Wolfstain和Doom之前,它们出了两款推箱子主题的解谜小游戏,目标是从机器人手中救出狗。除了普通箱子外,其中还引入了激光,镜子,钥匙,门等各种元素,还有机器人作为敌人。

Chip’s Challenge

Chip's Challenge 2

image037.jpg

这系列最初版本是1989年在Atari Lynx上推出的,后来移植到了Window 3.1上。最初版本主要设计者是Chuck Sommerville,此后他解决了版权问题,开发了续作,并将两部作品在15年登陆了Steam。玩法是收集芯片然后到达出口,其中有各种各样的机关,道具和敌人。

Chunk's Challenge 3D

image038.jpg

这是Chip's Challenge的作者Chunk在14年的Kickstarter众筹作品,本作画面完全3D化,而且有非常多的部件可以组合,而且强调创意工坊,有编辑器让玩家自创关卡,比前作提升了很多。

Circuit Dude

可以算是Chip's Challenge的模仿者,玩法比较类似,同样支持创意工坊。

image039.jpg

Wonderland

image040.jpg

Wonderland Secret Worlds

image041.jpg

Return To Wonderland

image042.jpg

Wonderland Adventures

image043.jpg

Wonderland Adventures:Mysteries of Fire Island

image044.jpg

Wonderland Adventureslanet of the Z-Bots

image045.jpg

这系列也是一代经典,分为新三部曲(Adventure系列)和老三部曲,每关的目标是收集彩虹然后到达终点。游戏里箱子的作用主要是铺路,木箱可以浮在水上,铁箱会沉底,需要两个箱子才行,此外游戏有独特世界观和剧情,还有机器人等各种怪物和火焰发射器等。还结合了多种玩法,比如双人配合解谜,以及后续作品非对称的4人解谜,还支持关卡编辑器。本身谜题数目很多,到现在也不过时,是非常值得一玩的系列。

Push the Box

image046.jpg

这是Maximize Games推出的一款游戏,有PC和手机版本,玩法是解救各小猪伙伴到达出口,其中有各种机关和陷阱。

Ittle Dew

类塞尔达版本的推箱子,有三种道具,大地图,但是是以推箱子为核心的,普通箱子和只能最大滑行的冰箱子都有。

image047.jpg

Australian trip

这款是Steam上上市不久的游戏,已经进包,玩法和前面的都很类似,也有激光,传送带,尖刺陷阱等多种元素,澳大利亚主题,主角是一只狗。

image048.jpg

CLARC

image049.jpg

本游戏只有GOG版,Steam通过了绿光却从来没有上架。游戏玩法是控制一个修理机器人通过推箱子来躲避敌人,引导激光等,有完整的剧情。画风是卡通渲染的也相当不错。不过本作后面动作成分感觉偏多。

MacGuffin's Curse

image050.jpg

也是一个动作解谜游戏,有很多种元素,主角可在人形和狼形之间切换。

纵版推箱子

Flappy系列

image051.jpg

游戏的目标是把指定石头推到指定目标点,中间需要其他石头搭桥,也可以用石头来消灭敌人,这是纵版游戏最接近推箱子的设定。

Catherine

image052.jpg

一半AVG,一半3D推箱子,推箱子部分是限时的,有各种不同类型的箱子。目标是达到上方的出口。

Pocket Kingdom

image053.jpg

一个有多种道具而且还有AVG元素的平台解谜游戏。谜题多以推箱子为主,比较独特的机制是只有梯子可以到达其他房间,否则会Wrap Around。

Pushmo

image054.jpg

通过推拉方块到达顶端解救孩子,每块可以拉出最多三次。

Crashmo

image055.jpg

在上一作基础上加入了方块的移动和重力机制。

Stretchmo

image056.jpg

组合了前两作,既可以推拉,也可以移动。

BOXBOY!

image057.jpg

有推箱子,有俄罗斯方块和多种元素的平台解谜游戏。主角可以制造方块,然后用方块搭桥,踩按钮,挡激光之类的,最终目标是到达终点。

BOXBOXBOY!

image058.jpg

续作,两个Box代表可以同时存在两组箱子。

BYE-BYE BOXBOY!

image059.jpg

系列新作,引入了更多不同元素。


部分优秀游戏介绍

对解谜游戏来说,创意非常重要。我认为,解谜游戏中玩家的快乐实际上是建立在发现新东西基础上的。游戏的核心机制可以从现有的游戏变化而来,但一定要有新意,解决一个谜题后即使把画面都换了再让玩家解决同样的谜题也会失去乐趣。

第二个比较重要的方面就是游戏的节奏,主要体现在难度的变化和给玩家的新鲜感。

解谜游戏增加难度的方法有很多种,例如

  • 对时间或操作增加要求
  • 增加试错的次数或成本
  • 加入一些干扰因素或者限制条件
  • 增加问题的规模
  • 增加新的机制并增加和现有机制的关联
  • 要求一种打破思维惯性的解法思路


从上到下对关卡设计者的能力要求也越来越高,但也更能给玩家带来新鲜感。好的解谜游戏往往规则简单,但有深度,深度指的是状态多,变化丰富,像这种可以模拟有界自动机的复杂度当然更好了,因为这决定了游戏复杂度的上限。但仅有上限也是不够的,好的解谜游戏一般不单强调难,而是要强调新,这需要对规则充分利用并不断加入新的想法,需要设计师通过关卡和玩家进行交流,而通过增加新机制和新的解法思路可以在提升难度的同时增加新意,也是很多优秀作者的选择。评判解谜游戏的标准就包括它是在哪个层面上增加游戏的难度曲线。休闲游戏只追求打发时间,希望玩的人数更多,所以会一直保持较低的难度,还会根据你的步数和时间打分然后评个三星,让你重玩一遍。但是真正关注逻辑的解谜游戏不会这样,下面就介绍一些在创意和关卡设计都比较出色的以推箱子为基础的解谜游戏,注意下面提到的所有游戏都是可以无限撤销和重试的。

推箱子3D+各种其他规则杂集=English Country Tune

Stephen Lavelle(Increpare)是比较有名的独立游戏制作人了,他制作了几百个内容极简,但各有创意的小游戏,并发布在个人主页上:https:/www.increpare.com/

这个游戏是他的第一款商业作品,但无论从名字还是玩法来说这个游戏都有些怪异。首先,从游戏名完全看不出来和内容有任何关联。游戏的主要内容就是控制一个翻动的平面在游戏中完成各种各样的任务。为什么说各种各样呢,因为游戏有很多种元素,过关条件各不相同。

橙色的圆球叫Larvae,就是幼体,目标是把它移动到Incubator,就是橙色的立方体中,这是游戏和推箱子最为接近的部分,但是整个游戏是在3D中进行,而且幼体会模拟重力,也就是说重力的方向和推的方向有关系。

image060.jpg

还有一种方块叫Whale,就是鲸,它不能直接推动,但是却可以通过六个方向的光间接控制。

image061.jpg

但游戏进行到后面就和推箱子完全没有关系了,游戏一共有17个世界,后面的内容包括平面和立体图案的填充,切割,染色,甚至还加入了自定义关卡等。后来的冷冻开关可以把前面说的两种箱子变形L和W变成可以行走的墙壁,以及向四周发射波的共振器,会带着平面一起走。此后还有综合关卡,每关前面提到的各种规则要同时满足,关卡设计是比较巧妙的,而且难度设置比较合理。

image062.jpg

这款游戏可以说是一个解谜游戏杂集,很多不同的规则都结合到了一起,不断加入的新玩法比较有意思,同时关卡难度提升很多是从二维转换到三维中进行的,这样的设计也是非常不错。不过游戏的问题是整体感觉规则比较乱,不统一。

推箱子+化学=Sokobond

这个游戏是以化学为背景的推箱子类游戏,游戏的目标是从一个初始原子开始,拼出合理的目标分子。其中两个原子如果有剩余的电子可以形成化学键则会两两结合成为一个整体,分子是二维的,不可自由旋转。实际上只是借用了化学的概念,但游戏本身并不是严格按照化学原理的,游戏一共只有5种原子出现,He是惰性分子,不参与结合,H,O,N,C四种元素分别可以形成1-4个化学键。

image063.jpg

两元素结合后只能形成一条化学键,所以这个游戏其实可以看成一个玩家本身是磁铁,吸引周围有限物体的推箱子游戏,如果元素是He,那就变成了一个带有磁铁规则的推箱子。

游戏过程中会有三种新机制引入引入,加键,拆键和分子的旋转,这些机制的引入给了游戏很大的灵活度。

拆键需要在红色十字位置进行

image064.jpg

加键则是要分子经过绿色十字

image065.jpg

经过蓝色圆点时分子会旋转

image066.jpg

整个游戏的关卡是分区域解开的,区域的颜色对应了各机制的运用。游戏的化学主题还是做的比较好的,每关完成后会有一些化学小知识,整个关卡拼起来是元素周期表。

这个游戏的作者也是非常有名的解谜游戏制作人Alan Hazelden(Draknek),制作了不少很有创意的解谜游戏,并发布在个人主页上,目前在Steam上有三款商业作品。

推箱子+汉诺塔=A Good Snowman Is Hard To Build

这个游戏和Sokobond是同一个制作人制作的,但不同的是规则固定和采用了开放世界模式。

在玩法上,这个游戏也是非常有创意的把推箱子和汉诺塔结合了起来,每一关堆雪人就是把大中小三个雪球依次组合起来,其中大雪球只能在更小的雪球上方,可以推动已经叠好的多层雪球把最上层的雪球推出去,基本规则和汉诺塔相同,只不过柱子换成了雪球。

image067.jpg

游戏的另一条规则是在雪地中推动小雪球会变大,但成为大雪球后继续推动不会变得更大。整体规则非常简单,而且固定,游戏中没有出现其他机制,但这个规则是比较有深度的。首先,雪球的大小决定了放置的次序,也巧妙与地形联系了起来。此外,小雪球在堆好后可以拿下来也给了小雪球跨越障碍的能力。

image068.jpg

还有的关卡是多个雪人,不同的初始状态也使得每个雪球的行进顺序和路线以及组合方式都是需要深入思考的。

image069.jpg

游戏采用了开放式地图,整个地图逐步解锁,但可以自由进入并选择关卡,部分地点有望远镜让你可以看到周围各关卡的情况。每关都是采用雪人的名字来命名的,这点挺有意思。通关后还会进入梦境世界,和主世界可以互动,关卡难度也有所增加。不过主世界的关卡难度基本平均,节奏有些慢,但过关方式变化还是不少的。

杨超在国内研究了推箱子很多年,并举办了一百多期魔方吧推箱子比赛,2016年,他在之前Robert A.Hearn和Erik D.Demaine的约束逻辑框架下证明了本游戏也是PSPACE-COMPLETE问题。具体内容请参考此文:http://sokoban.ws/blog/?p=3444

推箱子+烤香肠=Stephen's Sausage Roll

这个游戏值得重点介绍,因为它是解谜游戏关卡设计方面的一个高峰,它的游戏规则和设计理念已经影响了几个游戏,而且很可能继续影响其他游戏。

它是Stephen Lavelle的第二个商业作品,和之前的English Country Tune相比,游戏规则集中而且一致。游戏的规则非常简单,需要把所有香肠在烤炉上烤正反两面各一次且仅一次。小人手里拿了一把叉子,这个叉子既是障碍,又是工具,可以原地移动香肠,但可能会被地形挡住。

image070.jpg

在关卡设计上,它和之前介绍的几个游戏设计思路都不同,本作并不是通过不断增加新机制来提升游戏难度,而是一个基础规则,但有很多细节,整个游戏过程中会逐渐引导玩家发现这些细节,这和The Witness中对规则的学习过程非常类似。

image071.jpg

游戏分为6个区域,在每个区域,游戏会教给你整体规则的不同细节,比如叉子和香肠,香肠和香肠,人在香肠上,人在香肠下等不同情况的互动机制,这些机制合理而且一致,但却可能是意料之外的。即使在同一个区域,每一关对于思维方式的要求也是不同的,但在关卡设计上却又减少状态数,引导玩家向正确的方式思考。

这样的关卡设计思路实际上是在强调学习的乐趣,可以说是把教学融入到了各个关卡中,保持难度起点高的同时节奏控制非常好,是这个游戏成功的关键因素。由于这个游戏强调学习,所以就不剧透游戏的机制了,否则玩的时候会少很多乐趣。

image072.jpg

还有一点就是本作是开放性设计,如果你卡关了可以跳转到别的关卡,整个关卡是小区域组成,完成区域的关卡后就可以进入下一区域,而不同区域的风格和谜题使用的机制都是不同的。

推箱子+华容道=Campfire Cooking

这个游戏是第一个Stephen's Sausage Roll的模仿者,模仿了外在的形式,就是规则,加入了很多的变化,但在玩法和设计思路上却完全不同。

游戏的主要目标从烤香肠变成了烤棉花糖,而且也是烤两面,但是首先每串棉花糖可以独立移动,这使得游戏的基本机制已经完全变了,不再是推箱子而是更一般的滑块谜题和推箱子的结合体,长签子使得棉花糖可以看成一个一端无限延长的滑块,这起到了障碍物的作用,也可以作为方格外的推手,而棉花糖中间可以有距离,也可以在一个签子上出现多个,这给游戏提供了很多变化。

image073.jpg

此外,游戏在设计上是依靠不断引入新元素来实现的,但都围绕食物和火堆展开。

每个地点引入的元素包括木质签子,功能是可旋转,相当于旋转滑块,但又受地图上障碍物的影响。、

image074.jpg

此后又引入了炖菜,这里的炖菜相当于推箱子中的箱子,火堆就是目标点,这时棉花糖就起到了工人的作用。

image075.jpg

但除了这些外游戏还逐步引入了磁铁,相当于拉箱子。

image076.jpg

火堆可以由炭火点燃,炭火本身也能被点燃火堆还可以被熄灭。还有需要按下才会启动的电烤炉。

image077.jpg

可以说游戏围绕野营烧烤做出了很多有意思的玩法,关卡数量也较多,最后一个地点是综合关。不过游戏不太追求难度和思路的不重复,很多技巧要反复使用,整体节奏比SSR差了一些。

推箱子+接水管=Pipe Push Paradise

这是不久前刚上市的推箱子类游戏,它也很明显深受Stephen's Sausage Roll影响,游戏的形式不同,但设计思路却有很多共同之处。游戏将推箱子和接水管结合了起来,目标是移动水管把水流到管道中。这是在箱子和香肠上的进一步扩展,也就是说箱子的占位有所不同,因为不同水管的形状不同,那么摆放的位置就不像箱子那样随意,每节水管的摆放位置就需要进行连接顺序的判断。

image078.jpg

但仅有这一点并不足以让这个成为优质的解谜游戏,这个游戏也是巧妙的把三维引入到了游戏中。推动箱子时,水管会旋转,而旋转是三维的,这也让游戏的深度大大增加,比如水管高于地面会发生什么,低于地面又会发生什么,旋转空间被挡住会怎么样,水管之间互动又会怎么样,这一下就多了很多细节,游戏也通过简单关卡的引导来帮助玩家理解这些规则的细节。比如一开始你可能不知道水管可以在空中,但游戏会通过简单的谜题来提示你,甚至提示也蕴含在关卡的名称里:Archway。

image079.jpg

在关卡设计上,本游戏是非常出色的,首先,难度起点低,而且难度曲线也比较平衡。游戏也是分区域引入新元素的模式,共分六大区域。但是和SSR一样,每个区域可能只是环境的改变,比如引入的高低地形,规则本身不变。

image080.jpg

除此之外加入的改变规则的只有两种元素,一种是旋转+升高的地板,一种带有磁力的水管,就构成了游戏的全部变化。此外,游戏对于各种元素的运用几乎没有重复,吸取了SSR的优点,也就是说各个地图都是在教你一种不同的思路解题,难度可能有波动,但是却有新意,每一关的难度都是很明确的给出的。比如下面这一关就是让你改变原始结构。

image081.jpg
最后一关综合运用了各种元素,难度也是最高的黑色星。

image082.jpg

游戏另一点比较突出的是开放世界的设计,这个游戏在开放性和整体上比同类游戏更进了一步。一开始游戏交代了背景:爷爷病了要替他修岛上的水管,然后地图就逐步开放了,地图上有一些NPC对话,不过无关紧要。这个游戏的开放程度比SSR更高,因为只要完成了一个区域的教学谜题就可以开启这个区域,重新进入和重置已经完成的关卡也十分方便。同时暂停界面显示总览图,整个地图已经解决和没有解决的问题完整地显示出来,谜题数量和分布一目了然,同时设有篝火作为传送点,可以快速到达任一区域。这样的设计解决了选关界面的问题,关卡选择更加自由和清晰。

image083.jpg

最后卡通渲染的画面也是本作的加分项,SSR对画面太不重视了。这个游戏一共47关,关卡数目还是比较适中的,没有许多重复关卡,不过我觉得游戏最后的综合关卡只有1关,还是有点少。另外我觉得人只能在地平面移动这点其实还可以展开设计更多的变化谜题。

推箱子版自闭模拟器=Hiding Spot

这是Corey Martin的第二个作品,同样保持了高水准,画风采用了更简洁的体素风。和Pipe Push Paradise一样,创意和深度都非常好,同时这个游戏的关卡设计上重复度低,而且不靠提升复杂度来增加难度。

image084.jpg

游戏改变了传统推箱子的玩法,包括目标和关卡结构都非常有新意。本作以自闭为主题,每关需要把自己包围在家居和墙壁之间,四周和头顶不能留空。同时操作也有变化,人物可以推拉家具,也有蹲下和站立两种状态,除了有无限力量外,人物和物体的互动都比较符合物理规律。

image085.jpg

游戏将为数不多的关卡放到了一座大楼里,每一层的关卡都有相同主题,随着层数增加关卡渐进,或是增加一种家具,或是引导一种思路,但这次比Pipe Push Paradise更进一步,连完成教学关都省了,除了最后一关外所有关卡一开始就是完全开放的,可以以任何顺序完成游戏,卡关也没关系。

一开始只有简单的1x1x1和2x1x1两种家具,更接近普通箱子,不过后面的关卡很快会加入比较有意思的家具。

image086.jpg

写字桌中间一格是空的,可以搬起叠到其他物体上方。

image087.jpg

沙发的靠背可以移动其他物体,但本身不占体积,可以叠放。

image088.jpg

柜子带有两个抽屉,可以抽出改变占用体积,这个后面还有高级的用法。

image089.jpg

小方桌是整个游戏里设计的最好的一个家具,用法很多,正常情况下推动会翻转,但可以通过其他物体推动或者抓握来防止旋转,同时四角提供支撑又不占用体积,我觉得这应该是上一个游戏中旋转管道带来的灵感。

image090.jpg

每一关都有一个关键的概念,如果看出来了就能很快解决,游戏也在通过有限的空间引导你找到关键点,而且许多关看起来复杂,但实际上是有规律的,这是关卡设计比较高明的地方。而且相同的解法模式几乎没有重复出现,使得关卡变化比较丰富,也比较有新鲜感。

image091.jpg

我觉得唯一不太好的设定就是不能原地转向,这个功能不是必须的,但是破坏了一致性,给人一种强行增加操控难度的感觉。另外当前版本部分情况下存在一些bug,就是规则失效的问题,虽然重开大多数情况下可以解决,不过这种bug还是很影响游戏体验的。

插播内容:PuzzleScript引擎

在解谜游戏中,规则和地图布局是两大核心,画面和音乐都没有那么重要。规则决定了角色对于输入的响应和物体之间的互动,关卡布局则规定了各个元素的初始位置,决定了游戏的难度。现在的游戏引擎大多以辅助完成场景的渲染以及音乐,视觉和动画的组合,很少有适合解谜游戏这样以规则为主的引擎。一般解谜游戏规则往往是极简的,几句话就能描述清楚,但地图一般是方格,单人操控,那么能否设计一种能简洁描述规则和地图这两方面的引擎呢?PuzzleScript给出了答案,它也是由Stephen Lavelle(这是它第三次出现了)开发的,是基于HTML5的解谜游戏引擎,可以运行在浏览器上。它也是基于方格地图的,但对画面进行了极度简化,每格只能用5x5的像素表示,可以说和他的游戏作品一样对画面表现不太重视,但对于解谜游戏核心部分的描述做出了极大的简化,可以让普通人几分钟就能做出一个解谜游戏,很多作者都用这个引擎来开发原型。https:/www.puzzlescript.net/下面简要介绍一下这个引擎和用这个引擎开发推箱子游戏的过程:整个游戏文件全部由定义组成,包括物体,图例,音频,碰撞,规则,胜利条件和关卡7部分组成。

物体物体的定义非常简单,就是一个点阵图,前面三种颜色,后面点表示透明。

  1. PlayerPINK YELLOW BLACK.222..000\.

  2. 22122

  3. .222\.

  4. .2.2.
复制代码
就会显示这样的人物:

图例推箱子本身早已经有一套约定成熟的关卡表示格式,称为XSB格式,就是用一个字符代表一种情况,比如,人,人在目标上,箱子,箱子在目标上,墙,目标和地板几种情况,这在PuzzleScript里面可以直接这样写:

  1. P=Player

  2. .=Background#=Wall*=Crate

  3. O=Target

  4. =Crate and Target
复制代码

音频音频实际上是由内置声音组合而成,引擎本身在音频方面功能较少,只要写一个事件,对应声音组合就行。

  1. player move  up 142315
  2. Player Move  down 142313   
  3. Player Move  right 142311   
  4. Crate Move 412312   
  5. Player CantMove up 41234   
  6. Crate CantMove 41234   
  7. Crate Create 41234123   
  8. CloseMessage 1241234   
  9. Sfx0 213424   
  10. Sfx3 213424
复制代码

碰撞游戏里的碰撞是分层的,对推箱子来说有三层,最底层是背景,然后是目标点,最上层是墙,玩家和箱子,同一层会互相碰撞。因此可以这么写:

  1. Background  
  2. Target   
  3. Player, Wall, Crate
复制代码

规则推箱子最重要的规则就是在没有障碍的情况下,如果人和箱子相邻,人向箱子移动,箱子也向人移动的方向移动一格。在PuzzleScript里,可以简单的这样写:

  1. [ > Player | Crate ] -> [ > Player | > Crate ]
复制代码

箭头左边是初始,右边是变化,竖线表示两个相邻,如果不加就是上下关系,>表示移动方向。

胜利条件游戏内置了几个条件,也可以写命令实现,对于推箱子来说,只需使用以下胜利条件:

  1. All Target On Crate
复制代码

关卡关卡是根据图例来的,用空行分隔,可以在关卡之间显示消息。

  1. #########
  2. # …….
  3. # ._._.O.
  4. # ..*..O.
  5. # .P._._.
  6. # …….
  7. ###### #

  8. MESSAGE Woah, that was tough, eh?!

  9. ###### #
  10. # …..@.
  11. # .P.*.O.
  12. # …….
  13. ###### #

  14. ###### #
  15. # …..@.
  16. # .P.*.O.#
  17. # …….
  18. ###### #

  19. MESSAGE Thank you for playing the game.
复制代码

可以看出用这个引擎设计解谜游戏是非常容易的,而且撤销,重置和录制GIF等功能都已经引擎内置,基于网页使得它可以跨几乎所有平台,同时能随时修改。也帮助了一大批人学习制作游戏和快速制作游戏原型。下面是几个用PuzzleScript制作的推箱子变形游戏:

Mirror Isles人物在小岛上,镜子可以把人物移动到镜像位置,也是Draknek作品。

Skipping Stones To Lonely Homes也是在小岛上,石头可以影响荷花,同时石头可以通过水面到达另一岛屿,Draknek作品。

Happy Birthday Hennell:Sokoban Edition 2014加入了拼图元素的推箱子游戏,为了庆祝朋友生日所作,还是Draknek作品。

Remote Control Sokoban远程控制推箱子,就是有一个影子可以间接控制,非常有意思的作品,作者是Franklin。

Cold Feet Sokoban也是Franklin创作的,人物移动后地面会变成冰面。

Collapsable Sokoban还是Franklin创作,人物会吸引周围的墙壁。

Aunt Flora's Mansion连续地图的游戏,引入了单向门,单向方块,可以通过的方块,只能由其它方块推动的方块等。

Heroes of Sokoban引入了三个英雄,一个可以推箱子,一个可以拉箱子,一个可以和箱子交换位置。

Heroes of Sokoban II:Monsters在此基础上引入了两种怪物,哥布林,攻击范围为周围8格,还有龙,只会向单方向发射火焰。加入了一个新角色,牧师,可以保护周围8格的人,自己不会受到伤害。

Heroes of Sokoban III:The Bard and The Druid在前两作基础上引入了两个新角色,Bard,可以吸引箱子和敌人。Druid,可以把敌人变成木箱或石头,可以让木箱和石头互相转换。

Portal Demake就是Portal的降质版,这个游戏挺有意思的,用PuzzleScript实现了传送枪机制。

部分未发售游戏的前瞻

规则本身也是箱子-Baba is You

这个游戏现在还没有全部做完上市,只有itch.io的一个Game Jam的Demo,但创意已经展示得很好了。

image092.jpg

在本作中,虽然基本的玩法还是控制角色推动物体,但规则本身也是一种箱子,由两个单词和Is组成,比如把Baba Is You换成Rock Is You,那么你就可以控制岩石。游戏几乎所有规则都可以改变,包括墙壁可以穿透,只需去掉Wall Is Stop即可。胜利条件也是规则的一部分,也可以更改。

image093.jpg

同时游戏利用了推箱子中箱子在墙角变为死局的情况把固定规则放到了边缘,也就是说每关的规则都是显示在屏幕上的,但只有一部分可以更改。这样的动态规则实际上是鼓励玩家突破常规,从不同的角度思考问题,这使得游戏的可玩性大大提高,也是前面提到的通过新元素的引入和新的思维方式控制游戏节奏从而持续给玩家提供新鲜感。

游戏在正式发售前已经拿下了IGF的最佳设计和最佳学生作品两项大奖。游戏的早期试玩版可以在这里下载:https:/hempuli.itch.io/baba-is-you

**爱情主题+开放世界----**Solo

image094.jpg

这个游戏是一个Fig众筹作品,我此前也有介绍过,这个制作组似乎想要学习The Witness的模式,把谜题建立在整个岛屿上,然后岛屿分片,全部谜题都以各种箱子为基础,同时将爱情主题融入到地形和谜题中。不过我目前比较担心游戏可能专注于别的方面导致解谜节奏出现问题。本游戏确定了发售日期为4.26。

Puzzle Depot

image095.jpg

这款游戏也是一款众筹作品。加入了许多不同道具的推箱子道具,但引入了RPG元素。主角有生命值,还有道具,解谜方式也不是固定的。目前可以在itch.io下载演示版。Kickstarter地址:https:/www.kickstarter.com/projects/1781334061/puzzle-depot

ube

image096.gif

image097.gif.gif

另一个众筹项目,借鉴了Captain Toad的画风和玩法,并结合了推箱子,也有动作和平台跳跃元素。目前也有试玩版可以玩,在众筹页面可以下载。Kickstarter地址:https:/www.kickstarter.com/projects/2139542651/bokube

附录

本文提到的图书下载地址:Sliding Piece Puzzles链接:https:/pan.baidu.com/s/16tPWSkYZh5jznYMQDhUxBw密码:b11n Games,Puzzles,and Computation链接:https:/pan.baidu.com/s/1SE_msujPvPQmhBfUBpYM6Q密码:d6dv

相关论文:

Culberson,Joseph."Sokoban is PSPACE-complete."(1997).Demaine,Erik D.,Isaac Grosof,and Jayson Lynch." Push-Pull Block Puzzles are Hard."International Conference on Algorithms and Complexity.Springer,Cham,2017.

Jarušek,Petr,and Radek Pelánek."Difficulty rating of sokoban puzzle." Proc.of the Fifth Starting AI Researchers’Symposium(STAIRS 2010).2010.

He,Weihua,Ziwen Liu,and Chao Yang."Snowman is PSPACE-complete."Theoretical Computer Science 677(2017):31-40.

Taylor,Joshua,and Ian Parberry." Procedural generation of Sokoban levels." Proceedings of the International North American Conference on Intelligent Games and Simulation.2011.

Junghanns,Andreas,and Jonathan Schaeffer."Sokoban:A challenging single-agent search problem."In IJCAI Workshop on Using Games as an Experimental Testbed for AI Reasearch.1997.

相关网站:推箱子官方网站http://sokoban.jp

推箱子爱好者Abel Martin建的站点,本文中很多游戏来自他的网站http://www.abelmartin.com/rj/sokoban.html

国内推箱子站点,由杨超建立http://sokoban.ws/

作者Draknek的站点http://www.draknek.org/

Stephen Lavelle的站点https://www.increpare.com/

PuzzleScript讨论组https://groups.google.com/forum/#!forum/puzzlescript

专栏地址:https://cowlevel.net/article/1964314

7

主题

448

帖子

781

积分

高级会员

Rank: 4

积分
781
发表于 2019-1-7 23:08:55 | 显示全部楼层
小时候玩过 过不了几关
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2024-4-19 03:56

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表