Introduction to Puzzlehunts
本文章是 https://blog.vero.site/post/puzzlehunts 的不完全汉化版,正在逐步删删改改+润色中,另外原版博客的最后有一道题目,本博客并没有保留这道题目。
Imagine a word search.
Now imagine you aren’t told what words to look for.
Now imagine you aren’t told it’s a word search.
Now imagine it isn’t a word search.
— Mike Develin, via Thomas Snyder (aka Dr. Sudoku)
本文旨在全面介绍谜题寻宝(puzzlehunt)及其中的谜题。我在这篇文章中力求全面,因为我不知道有类似的资源,尤其是对于那些想挑战高难度谜题却不知从何下手的 puzzler 来说。在阅读了一些简短的指南(例如 Puzzled Pint 的“解谜基础”)之后,您就可以开始解一些谜题了,所以请随意阅读本文,或者将其加入书签以便日后查阅。
一,什么是谜题寻宝
谜题寻宝是一种团队竞争解决谜题的游戏。当然,这个回答并不实用。更有趣的问题是,谜题寻宝中的“谜题”到底是什么样的?
1.1 普通谜题
说实话,这个概念很难界定,而且部分谜题制作者甚至乐于打破现有的规则框架。但是绝大多数的谜题都满足一个核心准则:几乎所有的谜题都会以某种方式得出一个答案,这个答案通常是一个单词或短语。解谜的目的就是找到这个答案。
除了核心准则外,以下是一些常见的准则:
- 谜题寻宝中的谜题通常不附带指示:弄清楚该怎么做也是谜题的一部分。
- 通常,当您正确解出谜题并得到答案时,就代表你成功了。谜题提供的所有信息都会以某种方式“收束”在一起。
- 通常,您可以将答案提交到某个地方(网站、公众号或亲自联系作者)以确认答案是否正确。这可能会解锁更多谜题。
- 通常,在检查答案是否正确时,答案会被视为一串英文字母,而忽略空格、标点符号、数字以及所有其他字符。在中文谜圈,会有一些谜题的答案是中文。
- 上面列出的所有规则都有例外,甚至是核心准则。
如果谜题的答案是 "example",您可以提交 "example"、"Ex Ample"、"eXaMpLe" 或 "ex:ample!!",它们都会被认为是正确的。但是,即使是非常相似的单词,如果差了一个字母,也会被认为是不正确的:例如,"EXAMPLES" 很可能会被判定为不正确。
1.2 特殊谜题
在谜题寻宝中,经常会出现一种特殊的谜题,通常被称为“元谜题”(meta)。元谜题通过某种方式把普通谜题的答案结合在一起,形成一个更“大”的谜题 —— “关于谜题的谜题”。在这个意义上,普通谜题有时被称为小题。要解开元谜题,通常需要先解决大部分或所有的普通谜题,并将它们的答案组合起来,才能得到最终的解答。这个解答通常是与主题相关的双关语,或者是对故事中某个问题的回答。比如,故事可能围绕着无尽循环的时间展开,而谜题的答案可能是脱离循环使用的方法。有时候会出现关于元谜题的谜题(meta-meta),它将多个元谜题的答案结合起来,形成更复杂的谜题,层层递进。
1.3 谜题内容
一切都可能成为谜题,而且每一份谜题都独一无二。
1.4 谜题推荐
注:这里计划做一些本土化,放置一些简单的典型的中文谜题。现在暂时把机翻搁置在这里。
百闻不如一见,这里有几个示例谜题,您现在就可以试试看:
- Alter Rivals (PDF)
- Feeling Bluefin
- Evergreen (PDF)
- Double Act (PDF)
- The Great Wall of China (PDF)
- The Farmer’s Dilemma
如果你已经迫不及待地想尝试完整的谜题寻宝,这里也有一些例子(这篇文章中有关“提取”的介绍会让解题变得更容易):
- Zelda minihunt,
- Introduction to Puzzlehunts (PDF)
- P.I.HUNT 1
- The Order of the Octothorpe
- Colby’s Curious Cookoff
- DP Puzzle Hunt
二,谜题寻宝的构成
在深入探索谜题解法之前,我们先来介绍谜题的构成元素:
2.1 常规谜题构成
常规谜题由标题,风味文字,题目内容三方面构成。
-
标题(title) 大多数谜题都有标题。标题可能只是字面描述,可能是解题提示,可能是一个正反馈短语,在解决难题之后你才会明白其中的意义。有的甚至兼具多种含义。
-
风味文字(flavor text) 风味文字通常是语言风格独特的一小段话,与正式的谜题有所区分。它可能提供额外的提示,或者是元谜题的一部分;也可能只是无关紧要的剧情描述,纯粹为了增强氛围而存在。
-
题目(content) 其余的内容是谜题内容,它可以是任何东西,一段文字,一串乱码,一系列音乐,一个可执行文件……
2.2 元谜题的构成
元谜题通常也有着和常规谜题相似的结构,但根据是否具有本身的题目内容可以进行分类。
- 外壳元谜题(shell meta)有着自己的谜题内容,你需要以某种方式把小题答案应用进谜题内容之中。
- 纯元谜题(pure meta)没有谜题内容,仅有一些暗示如何结合小题答案的风味文本。
通常在谜圈中,元谜题比普通谜题高级一层,在这个意义上与元谜题相对应的普通谜题又叫做 feeders。方便起见,我们把元谜题与普通谜题的关系称之为 feed 关系。
元谜题(大题) | 普通谜题(小题) |
---|---|
meta | normal/sub/feeder |
在近些年出现了一类元谜题化的普通谜题,这类谜题倾向于把元谜题的形式塞到普通谜题的生态位上,参考(谜题名称)和(谜题名称)。
2.3 谜题寻宝的整体结构
一个完整的谜题寻宝比赛会包含若干普通谜题和元谜题,如果把所有的谜题抽象为点,普通谜题和元谜题之间的feed关系抽象成线,得到的图被称之为谜题结构。谜题结构是多种多样的,有线性的,递归的,树形的……。
绝大多数的谜题寻宝都会有一道特殊的谜题,它是解密过程的最后一题,是 feed 关系中层级最高的谜题,是谜题结构图中出度为零的特殊节点,这个谜题叫做 final meta。解开 final meta 就是谜题寻宝比赛的终极目标。
三,如何解一道谜题
虽然每一题都是独一无二的,但是你不必试图把至今为止的所有谜题都搞明白,因为谜题制作者会留下暗示。
3.1 读取暗示
谜题制作者会留下解题的暗示,至少是第一步的暗示。你应该会在谜题中看到你熟悉的元素,相信你的第一直觉!
- 如果看到数独、迷宫等,你应该试着按常规方法解决它。
- 如果有很多二次元美少女的图片,你可能需要看图识番。
- 如果有诗词,你可能需要借助百度查找诗的来源。
- 如果有
■■■■■■
等颜色,你可能需要分解 RGB 通道。
随着谜题的发展,出现了一些依靠“误导”来增加难度的谜题类型,但大部分谜题看起来还是像它们本来的样子。
在解题的过程中,你还应该留意一些隐藏的结构或信息。比如 “有些错别字”,“所有线索的答案都是六个字母” 等等。
最后,永远要记得解谜的目标是找到一个简短的答案,所以尽量将谜题中的信息浓缩成更简短的形式。这就引出了谜题寻宝中的独特环节。
3.2 如何提取
有一些机制常常出现在谜题寻宝中,但在其他类型的谜题活动中却不常见。这是因为谜题需要以某种方式得出一个答案:一个单词、名字,或者一个简短的短语。这些机制通常用于提取过程中,指的是如何从包含大量信息的谜题中得到一个答案,或者是一个提示下一步的简短信息。
有些提取方式是显而易见的,比如你可能会填写一个Crossword,而其中一些方格是被高亮的,完成后,你只需要读取那些高亮方格,其他的方格就不重要了。但是,有许多重要的提取方法可能没有那么显然,其中包括:
首字母提取
检查首字母总是值得一试的。 很多谜题通过各个线索答案的首字母,或者类似的方式,拼出最终答案。有时候,线索的首字母本身也可能组成一个消息。这些消息通常需要和谜题中稍后才会出现的其他信息结合起来。可以说,这种机制出现得非常频繁。每次打开一个谜题,你都应该检查首字母是不是拼出什么东西。
索引提取
通过将数字 n 作为索引来提取单词中的第 n 位字母。 索引可能是谜题中最常见的数字使用方式,也是将一系列答案转化为最终答案的方法、提示语或下一步的最常见方法。在极少数情况下,超过单词长度的索引可以通过取模的方式提取出字母,但除非谜题明确暗示这种方式,否则在这种情况下,你应该对谜题作者感到生气。
例如,将数字 2 索引到单词“EXAMPLE”中,得到字母 X。通常,索引时会忽略空格和标点符号。例如,如果将 6 索引到“FOR EXAMPLE”,会得到 A。
排序提取
字面意思,找到一种规则来重新排列列表中的项目。 在设计精良的谜题中,通常会明确提供排序规则。在出题人的设计下,你不会需要“随机地将一堆字母重新排列(anagram)”来得到答案。这是一个大忌,说明你可能漏掉了什么(或者是遇到了一道糟糕的谜题——这也时有发生)。这并不是说好谜题中从不出现 anagram。但如果有,字母数量通常不会太多;通常会有确认,比如会提供字谜的定义,或者重排的结果通常会是同一类别的词;并且这通常不会是谜题的最后一步。
- 如果线索是按字母序排列的,或者线索的答案是按字典序排列的,那通常意味着线索的原始顺序并不重要,你需要找出正确的答案顺序,或者找出正确的方式将答案分配到其他东西上。
- 许多排序自然来源于谜题的主题内容:例如,如果主题是某系列书籍,而每个线索与一本书相关联,那么可能需要按照书在系列中的顺序来排序。
- 排序也可能通过答案或相关信息中的模式来提示:如果你有六个答案,而答案都以字母表中的连续字母开头(A 到 F,也有可能是其他字母组合),那么你应该按照字母顺序排序这些答案,同时也可能需要排序与这些答案相关的其他内容。
- 另一种常见的排序是如果每个答案的长度都是连续的整数:例如,如果恰好一个答案有 5 个字母,恰好一个有 6 个字母,恰好一个有 7 个字母,以此类推。
注意,所有这些都假设你确实需要找到一个新的排序,这并不是每个谜题的目的。
另一个要注意的点是,当答案按字典序排列时,它可以帮助你确认答案是否正确。如果你有一份 50 个线索的列表,且你几乎完成了所有的答案并按字典序排列,那么没有按顺序排列的答案可能是错的。
编码提取
诸如二进制、摩尔斯电码、盲文、信号旗或 ASCII 等编码方式,在谜题中经常出现。 许多不同类型的谜题内容可以巧妙地通过这些编码来表示字母或单词。有时候,你会解出谜题的一部分,然后解码得到内容,获得答案或一条消息。当谜题使用这些编码时,它们通常会在风味文字中有所提示:提到电报或传输可能是摩斯电码的提示;提到盲人或摸索物体可能是盲文的提示;提到旗帜可能在暗示信号旗。
然而,有一种最常见的编码方式出现得非常频繁,以至于通常不会特别提示,那就是使用数字表示字母在字母表中的位置:A = 1,B = 2,C = 3,以此类推,直到 Z = 26。这也可以被视作“在字母表中进行索引”。它的反向过程,解读字母为数字,也偶尔会出现。
递归提取
当你需要在谜题的后期阶段再次应用前面阶段的某个思路,或者用它得到最终答案时,就会用到递归。 例如,如果谜题由关于回文的线索组成,你已经提取出一个有意义的英文短句,但它不是答案,那么这个短语可能会成为另一个新的回文线索,而那个回文就是最终答案。
对角提取
从第 N 个单词或短语中提取第 N 个字母。 例如,如果你有以下答案:DESPAIR、WRATH、SCALE、EPIC、MYTHOLOGY、FLAMING、MAGNIFICENT 和 PTERODACTYL,并按此顺序排列,你可以通过取出 DESPAIR 的第一个字母 D、WRATH 的第二个字母 R、SCALE 的第三个字母 A,以此类推,得到一个单词 DRACONIC。这是一种古老的技巧,Edgar Allan Poe 在他的诗《“An Enigma” 》中就用了这种方法来隐藏一个名字。和索引法一样,空格和标点通常会被忽略。
重叠提取
将单词配对并取出它们在相同位置上都有的字母。 这在单词或短语的字母数相同的情况下尤其常见,但即便字母数不同,它也可以使用。例如,如果你有单词 EXAMPLE 和 ANALOGY,你可以将它们重叠,它们在第三个字母的位置上都有一个 A,然后提取出字母 A。和索引法一样,空格和标点通常会被忽略。这种方式提取出的字母有时被称为“特征字母”(eigenletters),但解释原因会剧透这道题
间接索引
在一个序列中找到一个特殊的元素,然后取出与其对应位置的字母。 例如,如果你有单词对 EXAMPLE 和 ANALOGY,以及许多其他包含字母 X 的单词对,这可能提示你查看 X 的位置(它是 EXAMPLE 的第二个字母),然后提取另一个单词中同一位置的字母(ANALOGY 的第二个字母是 N)。再次强调:像索引法一样,空格和标点通常会被忽略。
象形提取
如字面意义,象形 是指你已经得到一堆可以在某种布局中定位的东西,例如地理位置、地铁图上的站点,键盘,或元素周期表中的元素。按顺序连接这些东西,可能会在布局上描绘出字母或其他图像。
总之,如果你成功地提取了一个连贯的信息或一系列词语,很可能你的解谜方向是正确的。
3.3 继续推进
无论是通过暗示还是提取,结果可能有很多种可能。
-
是答案:如果是这样,你可以直接提交。
-
是答案的提示短语(cluephrase),类似于 crossword clue。 比如定义型的 “ILLUSTRATIVE INSTANCE” 或填空型的 “WORKED BLANK EFFECT”。偶尔,提示短语还会带有枚举信息来描述答案的长度或是单词的数量。如果同一个定义有多个可能的答案,枚举信息可以帮助区分确切的答案或者缩小搜索范围,例如“ILLUSTRATIVE INSTANCE SEVEN”表示答案有七个字母,“PRECEDE TWO SIX”则表示一个由两个单词组成的答案,第一个单词六个字母,第二个单词两个字母。
-
是一个“答案短语”(answerphrase),比如会告诉你“THE ANSWER IS GO BEFORE”,那么你就直接提交“GO BEFORE”。 使用答案短语的原因可能有很多:有时只是为了增加谜题的长度、让它更有趣味性;有时如果答案本身没有很强的答案特质,作者希望强调这是实际的答案而不是一个提示短语或是指令(因此你不要把它当作一个提示短语去寻找“GO BEFORE”这个词组的意思,也不要去尝试通过某些方式让东西在前边来继续解谜)。有时候也会出现更简化的答案短语:如“ANS GO BEFORE”,通常是由于谜题约束导致作者无法构造出足够多的字母。
-
是告诉您难题的下一步,那就继续解题。
请注意,虽然给出的所有示例都带有空格。实际上,通常你会只能解出一串字母序列如“WORKEDBLANKEFFECT”,你需要自己判断单词边界。这并不难,但如果消息中包含不常见的词汇或者你缺失了很多信息,则可能较难区分单词边界,因此如果你提取出一个不完全通顺的消息,检查一下单词边界是否可以调整到其他地方通常是一个好办法。
3.4 解元谜题
我们在小题中描述的许多提取方法也用于元谜题中——您可以对小题的答案进行索引,或者对其进行重新排序,重叠,对角并做很多其他事情。要注意的一件重要的事情是,元谜题中的小题的顺序可能很重要,也可能不重要。您可能需要重新排序小题或它们的答案,尽管题目的出现顺序显然不是任意的(例如可以按字母顺序排序,但不是),因为通常会在整个谜题寻宝设计后调整小题顺序,这是基于关于难度,多样性,以及解决方案时题如何解锁其他题的结构的考量。
然而,解决许多元谜题的第一步是注意到所有答案共享的某种特殊属性。以下是一些可能的例子:
- 特殊属性可能是拼写上的,即基于答案中的字母,通常忽略空格和标点符号。例如,所有答案可能以字母表中连续的字母开头,这暗示了某种排序。
- 特殊属性也可能是语义上的。例如,所有答案可能与某种常见动物押韵,或者所有答案出现在某本著名书籍系列的标题或某首著名歌曲的歌词中,这也可能提供排序线索。
- 特殊属性还可能是这些属性的组合。例如,所有答案可能是两个词的短语,其中第一个词与某种动物押韵,而第二个词以字母表中连续的字母开头。在这种情况下,你可能需要根据第二个词对答案进行排序,然后根据与第一个词押韵的动物进行某种操作。
- 元谜题有时还涉及谜题的其他特征。例如标题、相似的风味文字或其他谜面的呈现方式。解决小题有时会解锁元谜题的片段,与普通谜题一样,元谜题的风味文字可能会提示其原理。
尽管元谜题结合了许多小题的答案,但你并不需要解出所有的答案。通常来说,拥有 70%到 80%的答案就足够了。我甚至听说过有人只用了 7 个答案中的 2 个就解决了元谜题。如果有人能独立想出与元谜题主题相符的双关语,甚至有可能在没有任何答案的情况下解决元谜题。(虽然你不应该依赖这种手段,但对某些元谜题来说,这是非常可能的。)
当你解决了一个元谜题或仅仅弄清楚了它的提取原理时,有时你可以反向解决(backsolve)与之相关的小题。这是指你利用元谜题中谜题答案的某些限制来猜测小题的答案,有时甚至可以完全绕过小题。例如,如果元谜题的答案是通过小题提供的数字索引到答案中获得的,而你在缺少某个小题答案的情况下猜出了元谜题的答案,进而得到小题提供的字母,从而猜测出缺失的小题答案。
四,常见的谜题类型
尽管大多数谜题都是独一无二的,但某些谜题类型确实经常出现。这些谜题通常会在标准谜题的基础上增加一些修改或转折,但了解这些标准谜题的基础原理仍然很有帮助。以下是一些常见的谜题类型:
当然,这个列表并不完全。实际上,puzzlehunt 的题目是没有限制的。
4.1 Crosswords 纵横字谜
Crosswords 是一种常见的谜题类型,玩家需要将单词或短语填入网格中。这里不详细解释填字游戏的基本工作原理,但下面是一些不为大众熟知的惯例:
- 线索必须在时态、词性和复数形式上与答案匹配。 例如,“Consumed” 的答案可能是 ATE,但不会是 EAT 或 EATING;“Circle parts” 的答案可能是 ARCS,但不会是 ARC 或 ARCED。
- 在句子中描述答案的线索除外,这些线索会将答案称为 “It” 或 “They” 或其他代词。 例如,“It may get a good licking(它可能会被狠狠地舔一下)” 的答案可能是 OREO。
- 线索后的括号单词通常表示你需要在线索和答案后添加这些单词以获得同义的短语。 例如,“Force” 和 “Force open” 都不是 “Pry” 的好线索,但 “Force(open)” 是合理的,因为 “Force open” 和 “Pry open” 的意思大致相同。
- 带引号的线索通常意味着线索和答案是在该情景下你可能会说的话。 例如,“Don’t worry about me” 的答案就可能是 “I’M OK”。
- 如果答案是缩写,线索通常也必须包含缩写,或以其他方式明确提示答案是缩写的。
- 通常,线索和答案不重复任何主要单词。
这篇文章包含了更多有关填字游戏的介绍:How to Solve a Crossword Puzzle
此外,puzzlehunt 中的 crosswords 都有各自的独特之处:也许你必须在某些方格中写下不止一个字母,或者一些不是字母的东西;也许你还必须在黑色方格或方格外写下字母;也许某些线索或某些交叉线是错误的。当这些特殊情况出现时,它们通常都会被提取出来。(有些谜题搜索填字游戏是完全正常的,但它们实际上非常罕见)。
偶尔你也会看到无格的 crosswords ,在这种情况下,你只能得到线索,却无法得到网格。谜题的一部分就是利用你能解出的答案以及填字游戏的布局和编号的标准惯例来重建网格。
4.2 Wordplay 文字游戏
这是一个广义术语,指的是对单词和字母的操纵,例如在单词末尾添加字母、在单词中插入其他单词、同音词或回文。一类常见的谜题是通过这些文字游戏关系来提示单词或词组,然后你需要找出这些单词及其关系。文字游戏技巧在 cryptic crossword clues 中大量出现。
4.3 Cryptic Crossword Clues 秘谜
这里提供两个链接:
- Kegler’s Kryptics 存放了一些附有答案的 clue。
- Deusovi’s Cryptic Clue Guide 是一篇介绍。
4.4 Ciphers 密码
密码有时也会出现在谜题中。最简单的密码之一是凯撒移位(Caesar shift),即将字母在字母表中向前或向后移动。例如,向前移动 4 位会将 A 变为 E,B 变为 F,C 变为 G,依此类推,将单词 “LOOP” 变为 “PSST”。此外,还有替换密码,即每次出现的每个字母都用固定的其他字母替换,以及更复杂(也相应更罕见)的密码,如 Vigenere 或 Playfair。网上有很多解这些密码的工具。
4.5 Logic Puzzles 逻辑谜题/纸笔谜题
逻辑谜题依赖于逻辑推理,而不是谜题寻宝中常见的“归纳”思维跳跃。一些逻辑谜题是临时的,你需要从谜题中发明的逻辑规则中推断信息。其他逻辑谜题则来自许多已建立的基于网格的逻辑谜题类型。最广为人知的基于网格的逻辑难题类型是数独(Sudoku),但其他几种类型(例如 Nurikabe、Masyu 或 Star Battle)偶尔出现。
你可以在 Nikoli 或者 puzz.link 中找到绝大多数的规则。 Grandmaster Puzzles 的博客中收录了很多纸笔谜题。
4.6 Conundrum 指令机
这是一种与大多数 puzzle 截然不同的谜题类型,它由一系列极其冗长、复杂且有时自指的指令组成,解谜者必须严格按照这些指令操作才能得到答案。
4.7 Others
Word Puzzles 分类 中还有更多类型的 puzzle。
总之,这些谜题类型在谜题寻宝中经常出现,了解它们的工作原理将有助于你更好地应对各种谜题。
五,解谜常用的工具
即使你知道谜题的工作原理,有时你可能仍然会遇到困难并卡题。在这种情况下,了解一些在线工具会对你有所帮助。以下是一些常用的工具,可以帮助你根据部分数据(如单词长度、部分字母或字母模式、或大致定义)查找单词或短语。在本博客的 Tools 页面记录了一些经常使用的网址
Anagramming
- Free Online Anagram Solver:可以将你输入的字母重新排列成已知的单词或短语。
- Internet Anagram Server 或 OneAcross:可以将字母重新排列成一系列单词,虽然这些工具在文字游戏中更有趣,但在 puzzlehunt 中可能不太实用。
Pattern-matching
一些工具允许你通过通配符模式(例如 f*der
来查找以 “f” 开头并以 “der” 结尾的单词)或正则表达式来搜索单词或短语。有些工具甚至允许你结合这些模式和其他约束条件进行搜索。
- MoreWords:允许你使用通配符模式搜索其词典,并建议通过字谜或字母变化获得的单词,有时非常有用。
- CrosswordNexus Wikipedia Regex Search:允许你搜索维基百科文章标题和维基词典中的单词。
- OneLook:允许你使用通配符模式搜索单词和短语。OneLook Reverse Dictionary 更进一步,允许你同时指定模式和模糊定义;虽然它并不总是有效,但当它起作用时,效果非常惊人。
- Qat:不仅支持通配符模式,还支持更复杂的模式匹配,允许你使用多个表达式并要求它们都是有效的单词。例如,你可以编写查询
AB;AlB;|A|=1;|B|=6
,意思是“找到所有七个字母的单词,在第一个和第二个字母之间插入一个 ‘l’ 后可以得到另一个单词”。Qat 的结果中会列出所有符合条件的七个字母单词(假设你对“单词”的定义与 Qat 的词典完全匹配)。 - Nutrimatic:这是本列表中最强大且普遍适用的工具之一。它搜索来自维基百科的单词和短语语料库,因此可以找到比上述工具更多的英语名称和短语。它支持自己的正则表达式,特别是支持字谜。
编码转换工具
如前所述,拥有一个代码表或手机应用程序可以帮助你在常见编码之间进行转换,这通常非常有用。(如焖肉面)
搜索引擎
最后,别忘了你最喜欢的搜索引擎。虽然与上述工具相比,这听起来可能有些简单,但在某些谜题中,一个重要且困难的步骤是进行在线搜索以弄清楚某个引用的内容。考虑在搜索时使用引号来确保精确匹配。
六,想打比赛哪里找
请前往本博客的 Resources 页面,在谜题日历一栏中有一系列的 puzzlehunt 信息