游戏邦在:
杂志专栏:
gamerboom.com订阅到鲜果订阅到抓虾google reader订阅到有道订阅到QQ邮箱订阅到帮看

阐述谜题设计新思路之智能地形因果关系

发布时间:2013-08-21 13:45:36 Tags:,,,

作者:Michael Cook

谜题在电子游戏中,特别是在点击类冒险游戏中,是非常奇怪的东西。电影中出现谜题那是创作者的智慧、创意的表现。而在游戏中,谜题却是琢磨设计师认为的正确的解决办法和寻找通关所需的确切的物品组合。不仅寻找你的但不是开发者的完美的解决方案很糟糕,而有唯一一条通向目标的路径存在更是消除所有重玩的可能。借本文,我想分析一个同时解决了这两个问题的系统,它的原理是根据现实世界的因果关系产生谜题。

puzzles(from gamesbyangelina)

puzzles(from gamesbyangelina)

在Isaac Dart和Mark Nelson所写的《Smart Terrain Causality Chains for Adventure-Game Puzzle Generation》一文中,他们描述了一种通过模拟现实的系统和认真计划给玩家哪种道具,来产生点击类冒险游戏的谜题。

这篇文章的亮点在于,告诉我们开发者已经在可玩的Unity游戏中执行这个想法,并且提供了一些有关如何充分利用程序谜题的实验和讨论。接下来我们就来详细看看!

the sims(from gamesbyangelina)

the sims(from gamesbyangelina)

我们从标题开始看,什么是智能地形?什么是因果关系?前者是一个比本文还早出现的短语。这个术语是由Will Wright提出来的,用于描述一种对自己的功能具有自我意识的物品中,如在Wright的《模拟人生》中的大部分东西。由智能地形组成的对象如《模拟人生》的电视和邻居,知道自己可以执行什么行动或什么行动可以作用于他们,如被关闭、准备晚饭或被问候。在一般的点击类冒险游戏中,物品是非常不智能的——它们通常只能应对一些特定的情况,而这些情况是贯穿游戏的严密路径的一部分。这就好比,你可以使用铁橇打开一扇门,但这个方法对另一扇门并不管用。

如果你已经玩过大量这种游戏,那么你可能很好奇,有没可能对某个物品定义一系列可以用它执行的行为,然后让玩家自己去想出是哪些行为。这恰恰就是智能地形因果关系的内容——描述一连串可以使用物品执行的行动,将这些行动转变为谜题的解决办法。在文章中,这种因果关系通常与物理性质有关,如加热使冰变成水。如你所见,这种技术其实足以应付几乎所有你能想象得到的因果关系。

action(from gamesbyangelina)

action(from gamesbyangelina)

这种系统的运作方式如下:你打开介绍某物品可以执行的行为的列表。各个行为都有原因和结果。以下是从文章中借用的两个例子:

table(from gamesbyangelina)

table(from gamesbyangelina)

你应该想得出来上图的意思吧。烟(原因)可以“激活”(行为)喷水器,使它喷出水(结果)。火(原因)可以“燃烧”(行为)纸,从而产生烟(结果)。你还可以看出这种关系是怎么建立起来的,即把一个行动的结果和另一个行动的原因关联起来。如果玩家需要水,他可以想法办烧掉喷水器旁边的纸。因为这里不需要复杂的判断算法——只要在数据库中匹配字段,我们就可以轻易地找到因果关系,甚至果因关系。

这正是Isaac和Mark提议的系统的动作原理。以目标为起点,向后寻找导致目标被达成的行为链条。在他们的DEMO游戏中,有一个在破坏电子锁的谜题。这个系统首先寻找什么东西可以导致锁的“失效”——如水,然后逆向寻找能产生水的行为。一旦它找到特定长度的物品链条,它就会把目标放在游戏世界中,这样谜题就形成了。

那篇文章的精华之一是,他们对自己的DEMO游戏《Space Dust》的评估。作者意识到这个新系统可以导致的后果是,它可能产生一个谜题而这个谜题可以通过多种办法来解决,这是否会让玩家感到更容易还是更困惑?他们做了一个测试,让多位玩家分别解决这两种谜题——只有一种解决办法的谜题和具有多种解决办法的谜题,并收集他们的反馈。大多数人得具有多种解决方法的谜题更容易,我本人也是这么认为的。我喜欢游戏发现玩家难以解决谜题的方法,以及,你的伙伴突然“发现”岩石背后有一个东西可以让问题更容易解决(形成一个新的解决方案链条)。

goat(from gamesbyangelina)

goat(from gamesbyangelina)

(嘿,看我找到了什么!山羊防护剂!)

你可能已经玩过麻省理工学院的GAMBIT实验室制作的实验游戏《Symon》,它也采用了类似的办法。这这两个项目我都喜欢,因为它们发现了类型定义的新方法。在很多时候,程序内容生成替代人类执行人类已经可以执行的任务,但这更多地是使用技术反思多年前就已经被认可的设计决定。

谜题设计的这种更灵活的方法具有多种用途,特别是因为它不只是适用于使用物品连接谜题的点击类游戏——事实上我这周一直在玩《Arkham City》,我发现这类游戏很强调使用道具打败BOSS或穿越游戏世界。我不禁回想到上周写的关于约束求解器的文章,发现它与本文的论题也有关系。约束求解器可以使用关于因果关系的信息解决谜题,以合理的顺序和位置摆放物品,比如满足如“食品必须到厨房或餐厅寻找”这种约束性条件。

除了上面这点,它还在便利了游戏设计,这是另一个振奋人心的进步。一个谜题具有多种解决办法意味着玩家可能会把用过的东西留着——也许会以设计师不希望或没有考虑到的方式解决另一个谜题。也可能出现更糟糕的情况,比如,玩家在看到某张重要的纸片上写的密码以前就把那张纸烧掉了。但使用线束求解器和计划器,我们可以制作能够给玩家多种选择和通关的工具,但仍然要保证不会发生像上述意外,以及不能跳过关键的谜题。我们通常认为程序生成是比较没有诚意的做法。相反地,这正说明了新技术可以帮助我们更聪明地工作。(本文为游戏邦/gamerboom.com编译,拒绝任何不保留版权的转载,如需转载请联系:游戏邦

The Saturday Paper: Use New Idea on Genre

Puzzles in videogames, especially point-and-click adventures, are strange things[1]. Mysteries and puzzles in movies are all about ingenuity, wits and thinking outside of the box. In games, though,they’re about working out what the designer thought was the right solution and finding whatever combination of items is hardcoded to unlock the next Plot Door. Not only does it suck to find yourperfectly reasonable solution wasn’t the one the developers put in, but having one route to the goal kills any hope of replayability, too. This week on the Saturday Paper, we look at a system that aims to fix both problems at once, by generating puzzles based on real world ideas of cause and effect.

We’re reading Smart Terrain Causality Chains for Adventure-Game Puzzle Generation by Isaac Dart and Mark Nelson. The paper describes a new way of generating puzzles for point-and-click adventure games by simulating real-world systems like combustion and carefully planning which items to give the player. The best part is the idea has already been implemented by the authors in a Unity game that you can play for yourself, and the paper even includes some experiments and discussion for how procedural puzzles might be best used. Let’s dive in!

Let’s start with that title; what is smart terrain and what are causality chains? The former is a phrase that’s older than this paper by some margin. Popularised by Will Wright, the term is used to describe items with an awareness of their functionality, like most things in Wright’s series The Sims. Objects that make up a smart terrain – like everything in The Sims from the TV to the neighbours – know what actions they can perform, or what actions can be performed on them, like being switched off, used to prepare a meal, or greeted. In your average point-and-click adventure, items aren’t very smart at all. Instead they normally have a few specific use-cases in mind that are part of a tightly-designed route through a game. Even if you can use a crowbar to open one door, you might find it magically doesn’t work on the next one you find.

If you’ve played a lot of games like this, you might have wondered if it would be possible to just define the sorts of actions you can perform with a particular item, and let the player figure a solution out themselves. This is precisely what smart terrain causality chains add – they describe chains of actions that can be performed to turn a starting set of items into a solution to a puzzle. For the work in this paper, the kinds of cause and effect involved is often related to physical properties, such as turning ice into water by applying heat to it. As you’ll see, though, the technique is general enough to apply to just about any kind of cause and effect you can think of.

Here’s how the system works: you start off with a list of actions that can be performed on particular objects. Each action has a cause and an effect. Here are two examples from the paper:

You can probably work out what each one says. A sprinkler has an ‘activate’ action that is caused by smoke and has the effect of producing water. Paper has a ‘burn’ action that is caused by fire and produces smoke. You can also begin to see how chains can be built up, by linking the effects of one action to the cause of another. If the player needs water, they can find a way to burn a piece of paper near a sprinkler system. Because there’s no complex judgement needed here – just matching fields up in a database – we can easily use an AI planner to find chains of cause and effect, even in reverse.

This is exactly what Isaac and Mark’s system does. It starts with an objective, and works backwards to find chains of actions that lead to the objective being satisfied. In their demo game, the primary puzzle objective is to disable an electronic lock[2]. The system looks at what things can cause the disable action on a lock – such as water – and then moves backwards looking for actions that cause water to appear. Once it finds a chain of items of a particular length, it places the objects in the game world and the puzzle is ready.

One particularly nice aspect of the paper was the evaluation performed on their demo game, Space Dust. The authors realised that one of the consequences of their new system was that it could produce puzzles with multiple solutions, but would that make things easier or more confusing for the player? They offered both types of puzzle to a collection of players and got their feedback.

Most people found that having more solutions was easier, which I think makes sense to me. I like the idea of a game detecting that someone is having trouble solving a puzzle, and your sidekick suddenly “discovering” an item behind a rock somewhere that opens up a new solution chain to make things easier.

George, look what I found! Goat repellent!

You might have played Symon, an experimental game from MIT’s GAMBIT lab, which played with similar ideas. I like both projects because they’re developing new ways of approaching something that is about as genre-defining as it gets. A lot of the time, procedural content generation is a way of performing tasks that humans can already do, but this is more about using technology to rethink design decisions that have been accepted for years and years.

This more flexible approach to puzzle design has lots of potential applications, not least because it’s not just point-and-clickers that use item chain puzzles – in fact I’ve been playing Arkham City this week and realising how much games like this rely on items to defeat bosses or traverse game worlds. I also can’t help but think back to last week’s post on constraint solvers and see a connection here too. Constraint solvers could use information about the causality chains involved in solving a puzzle, and arrange the items in sensible orders and locations, as well as satisfying constraints like “food items must be found in kitchens or dining rooms”.

Above all else, you should be excited about this work because it’s a step towards allowing us to design games that would be difficult to do by hand. Having multiple solutions to a puzzle opens the possibility for the player to be carrying leftover items further into the game – which might inadvertently solve a puzzle in a way a human designer might not be expecting or just have not considered. The opposite is even worse – if a player burns an important bit of paper before they’ve used the secret message that was written on it, for instance. But using constraint solvers and planners, we can build tools that can give the player lots of choice and pathways through the game, while still making sure that nothing undesirable happens and certain crucial puzzles aren’t skipped. Often we see procedural generation as ‘putting people out or jobs’, tongue-in-cheek or not. On the contrary, this work shows how new technology can help us work smarter.

Where To Find More

You can read the original paper here as well as an expanded version here, thanks to Isaac.  Mark also wrote up a web-friendly condensed version here, which I really like the style of. I know I say this a lot, but this paper is readable! You can really skim through it and learn a lot more about the system than I could fit into this post. And of course you can download the Unity game that the paper was based on right here. The objective is to find your way to an entrance on the ship, but to do so you’ll need multiple tries – hence needing to escape from the brig over and over again,with a different puzzle each time. I think it’s a great demonstration for the tech.

Isaac went on to co-found Preliminal Games, a London startup working on an unannounced title that apparently uses his work on smart terrain causality chains! I’m very excited to see what comes of that. (source:gamesbyangelina)


上一篇:

下一篇: