《高手過招》是我高中到大學時做的一個遊戲,曾經一度有小小的風行過一陣子,不過後來隨著討論程度下降就漸漸淹沒在網路裡面了。最近因為有想要為它做點東西,所以想說乾脆就來好好紀錄一下這玩意吧。
當然地,因為會詳細解說各個關卡的相關事情,所以本系列文章會有全《高手過招》的通關方式解說;不會有明寫的答案但會有做法,可以說某個程度上這系列文是《高手過招》的「官方」「解答」。雖然已經是二十年前的東西了但至少這些警告還是得先提一下。
什麼是《高手過招》?
《高手過招》最初是模仿德國人 David Münnich 做的網頁遊戲叫《Notpron》做的。玩家進入遊戲會看到一個網頁,內容可能是一張圖、一段話、或其他東西,當中隱藏了一個謎題,而玩家的目標就是要解開這個謎題獲得答案,進而能夠前進到下一個關卡。
某種程度上,這種東西其實跟所謂的「脫出遊戲」很相似,在於兩者的主軸都是將謎題和解題提示放在場景中讓玩家去尋找進而解題,差別在脫出遊戲的場景是有個環境場景在,而《高手過招》或《Notpron》則是把場景簡化做成簡單的網頁而已。如果更進一步把這種謎題大型化,加入一些謎題界常見的題型,就成了另外一類概念類似的解謎遊戲稱做 puzzle hunt;而如果保留「答案藏在網站裡」這個要素,而把藏的方式改成各種資訊安全漏洞的應用,就成了 CTF 挑戰了。可以說像《高手過招》這種解謎遊戲是屬於這類型中大型挑戰的簡化版,相對地更加著重在資訊搜集及水平思考上。
(當年在港台兩地風行起來的時候,記得有些人為此跑去建了個維基頁面紀錄當時相對比較有名一點的幾個類似仿作進去;現在我已經忘記當年的頁面名字是什麼,也不知道還在不在就是了。另外,我在首頁時有提到另一個啟發點是中國人 csksoft 做的《高手挑戰榜》,我這個《高手過招》的名字也是向他致敬的。)
這次的回顧其實就是以出題者的身份來解釋和檢討 (鞭屍) 各關的設計了。第一篇會解說 1~20 關,其餘的會在接下來的文章慢慢寫。
初版:1~20 關
這 20 關是最早公開到給大家看到的版本。公開的時間是 2005 年 1 月 19 日,還貼到了當時才剛開的我的批踢踢兔個版上去。(會選在現在把這篇文章貼出來就是因為之前的星期日是《高手過招》二十週年。這篇和這系列之後的文章都和以前一樣會在週三中午發出。) 這個時候還只在 PCHome 的個人網頁空間,所以密碼系統是很簡單的 JavaScript,稍微會挖一點的玩家很容易就能找到所有密碼了。以業界的術語來說這應該能算是某種程度的 Alpha 版吧。
第 1 關
嗯,毫無反應就是個點下一步。這其實是和《Notpron》學的:它的第一關是一個房子門口的照片,而過關方式就是點擊照片中房子的門;我是想要比較簡單地指示一下玩家,所以隨便找了一個當時曾經在用的科學計算小算盤程式的第一個安裝畫面,截圖下來當做畫面了。可以注意到視窗還是 Win XP 的風格 XD
第 2 關
……當年的我還真不會排關卡難度。這關表面上有一個計時器,理論上只要計算到 60 就能到下一關了;但我偏偏在計算到 30 秒時放了一個回到上一頁。真正的謎題其實就是:要如何衝破這個 30 會跳回上一頁的關卡。
當年的預想正解是在準備跳回上一頁時用 ESC 停止瀏覽器的跳轉,基本上就是在快到 30 時連按 ESC 就對了。不過這關很早就有一個歪解:「檢視原始碼」。由於跳轉的指令也是在原始碼裡,因此知道要打開的就會馬上看到答案了。這其實並不是什麼太大的問題,因為這件事不久之後就會教給玩家了。
不過說實話啦,當年會知道 ESC 停止跳轉的人好像也不多就是了……
第 3 關
繼續炫耀當年的我的 JavaScript 技術。這其實是當年一些整人網頁會出現的東西:一個滑鼠一移上去就會跑走的按鈕。解法也很簡單:當年有碰過這種東西的都會順便被教到說網頁其實是可以用鍵盤瀏覽的,其中 Tab 鍵能夠切換現在目標,所以只要按一下 Tab 鍵讓目標跑到按鈕上,再按 Enter 或空白鍵選擇即可。
……與其說是炫耀技術,這兩關不如說是炫耀一些小小的電腦操作豆知識吧。
同樣的,這關也是檢視原始碼就知道目標在哪裡的關卡,但我想真的這樣解的反而有點繞遠路就是了。
第 4 關
這關就是正式要求玩家尋找原始碼的關卡了。(雖然其實說不上教就是了……)
這關和下一關的漫畫格都是取自《來自魔界》,雖然我已經忘記各自是哪一話出來的了。會想到放圖就只是突然想到前兩關都沒有圖,應該要來放個圖變化一下的。在早期的 1、2 版當中這兩關的圖檔是叫做 pic3.jpg 和 pic4.jpg,大概表示 2、 3 兩關當年有一個是後來才插進去的吧,雖然現在已經忘了是哪一個了。
第 5 關
上一關的進階版,答案躲在了做框架的那一頁裡面。當年 IE 的右鍵原始碼這個功能只能看到點右鍵時所在框架內容的網頁,要看做框架那一頁的需要點選標題選單裡的那個檢視原始碼,所以就想到把它當成謎題來出。雖然不久就有人找到一個稍微要點精準操作的另解了:對框架的分隔線點右鍵。滑鼠游標移到框架分隔線時會變成上下箭頭,這時因為指向的分隔線是框架頁的東西,所以右鍵就能指定要看框架頁了。
不過近年的瀏覽器已經都把檢視外圍框架頁的原始碼這功能給做進去了,所以這關就變成單純地選對功能而已了。
第 6 關
啊,MIDI 關。早期關卡裡比較惡名昭彰的兩關之一 (另一個是 16 關)。
當年的我已經有了「遇事不知找 Google」的習慣了 (雖然那個年代還不是 Google 而是 Yahoo! 奇摩或 PCHome 之類的入口網站),再者在之前解《Notpron》和類似的遊戲時,有很多東西甚至是你要去查了才會知道是什麼以及要如何應用,因此才會想說來出一個利用一些線索去查詢的題目。這個時候的我算是個《名偵探柯南》迷,因此才會挑上它的主題曲來出題;使用的 MIDI 檔案是我那時在網路上逛的時候發現的檔案。(當然也有受那個年代網頁都要加一首背景音樂的流行影響就是了)
原本以為《名偵探柯南》已經是相對比較多人知道的動畫了 (畢竟當時華視週間的晚上都會播),但顯然我低估了前五關給大家建立起的印象,根據網頁上的計數器看起來在這一關放棄的人似乎不在少數的樣子……
要找到足以 Google 的線索,可以從原始檔找到這個 MIDI 檔案的檔名,它的路徑 (/conan/) 和名字 (ed7.mid) 就是所給的線索。最早的時候這是第一首片尾曲 (ED1)《STEP BY STEP》,後來在有一次更新時我把部份關卡的答案給換了,把這首歌換成了 ED7。
不過換個方式想,這一關其實也算是篩掉那些不會自行去搜尋資料的玩家,畢竟越後面要找的東西會越不明顯,如果連這樣的搜尋都不會做那再玩下去可能會更痛苦吧。
這一關也是密碼格出現的地方。這個點子其實是來自《Notpron》的;《Notpron》的中後期關卡的過關方式都是尋找到一對 (帳號,密碼) 組,然後藉由登入存取限制來關門;不過當時的我並不知道這是怎麼實作的,加以最早的環境是普通的免費網頁空間,能夠做的就只有使用 JavaScript 協助判定,因此就簡化成了單一的密碼格。(後來在知道怎麼實做之後,有一關就是使用這種方式輸入答案;之後會說到。)
同時這裡也可以來說一下關卡左上角的 G W 圖示。這個也是某一次更新時新增的,用意在於給玩家一個簡單的提示說所需要的材料並不只有這裡,去 Google 或維基百科搜尋也會包含一部份資料;而第一個出現的地方就是這一關。算是一個減低難度的嘗試……吧?
總之可以說,這一關因為一口氣引入了好幾樣東西,造成一些關卡體驗並不是那麼平順。
第 7 關
搜尋關卡第二關。主畫面上出現的是一個原子圖案 (的常見表現方式),而實際要解碼的東西則是用白字寫在頁面中的數字;解法則是查詢元素週期表之後,將這些數字轉成元素符號再連起來寫成一個單字。(這就是為什麼我會一開始就說這種密碼輸入格的密碼都是小寫,為了避免一些判定上的問題。)
這張圖是當時的我用當年還沒那麼多功能的小畫家做出來的,原本就只單純想說畫個原子,所以借用了高中物理課上學到的原子知識選了個畫起來比較好看一點的鋰原子:三個質子、四個中子、三個電子,畫面擺起來也還不錯看。沒想到後來遇到有人真以為這就是答案所以答了個 lithium 進去,被回答不對時還來跟我抱怨 XD 印象中是因為這個事情,在後來我自己寫的密碼系統中會有一些彩蛋答案,如果回答了那些答案不會得到一個制式的「答案錯了」的回應,而是會有一些額外的文字把玩家推到正確的方向上。
第 8 關 (舊)
搜尋關卡第三關。顯然當年的我真的很想把「遇事不知找 Google」這個哲學推廣出去,因此用了一個超級偏門的東西做為題目:當年我有在做的 UVa Online Judge 的程式碼判定結果當中的特定的一個序號所得到的結果。雖然當年好像沒有什麼抱怨,但現在想想果然還是太偏門了一點……中間曾經有一度有新增過另一個 Online Judge 的相同東西做為額外提示,但果然還是不怎麼好的題目。
後來隨著 UVa Online Judge 網站更新且新增比較像樣的帳號系統之後,判定結果的列表不再對沒有帳號的人開放,因此在某一次更新時1就把它改成了另一個關卡:
第 8 關 (新)
這一關的畫面就是一張初音未來。乍看之下沒有其他提示了,但這關也沒有密碼格,看起來也不像是有其他提示的樣子。
OK,這一個新關是把一個原本在後面加入的要素給提前在這裡介紹了:關卡內容不只有現在看的到的這一頁和這裡面的東西。在英文網頁謎題遊戲界,這樣的頁面一般被稱做 egg,名稱來自復活節彩蛋 Easter egg,取都是藏起來要讓人找出來的意義。這關的狀況是這樣的:關卡頁面是 miku.htm,而整關裡除了 miku 之外可能會是答案的文字就是寫在標題和圖上的初音未來「Hatsune Miku」,所以根據前面 1 到 5 關的經驗會想去嘗試把網址改成 hatsune.htm。
這個頁面不是下一關,但也不是找不到網頁的 404 頁面;這就是這一關的「彩蛋頁面」。這一頁上除了沒有「第八關」的標題之外,其他東西包括這張初音圖也都一樣——但等等,其實還有一點不一樣:這兩張圖檔的檔名不一樣。主頁上的是 miku.jpg,副頁上的是 miku.jpe。
這才是這個關卡的主謎題:JPEG 格式的三個常見副檔名。或許我可能要在這關上加上 G 圖示……總之,答案就在把副檔名改成 jpeg 之後看到的圖片上。
第 9 關
接下來這幾關比較接近傳統的「水平聯想題」了。不過第 9 關算是這裡面比較微妙的一題:題目上單純就只有一個朝上的遵行方向的箭頭。這題的設計是:看看畫面上方有什麼東西可以當做密碼的--但是到底是什麼?要玩家找的其實是這個關卡的網址列上的網址。為什麼是網址?預定的設想是:上方的東西當中屬於這個關卡獨特的東西。不能算壞題,但其實表現上還有一點更好的空間才是。後來的版本在標題列上也加了一句話了,不過記得有看過攻略網站直接把標題上加的提示當解法的。嘛,這點我還真不能說什麼……
第 10 關
水平聯想題第二關。這個題目就只是正好有一天我看到謎底這個東西,然後想說這個出成題目正好,就放上來了;還刻意地的把它放在題目中出現的 10 這一關來。其他除了還是用 XP 小畫家畫出來的圖案之外應該也沒什麼好說的就是了。
第 11 關
水平聯想題第三關。這關其實概念上算是延續第 9 關的:找畫面上相對獨特的東西。提示則是在標題裡:找出錯的東西改正。這個提示其實很大:到現在關卡裡能讓玩家「改正」且還能是答案的其實只有一個地方。所以問題其實是到底那個地方出了什麼錯。答案很簡單:這個是網址檔名裡的英文文法錯誤。
為什麼說這還是水平聯想題?我說這個提示很大,但要得到這個結論得對關卡結構有一點理解才行;然後就算找到網址了,要知道網址哪裡錯也不是一眼就看得出來的。講白了很簡單,但要能在關卡裡找到這一點確實不大容易。
第 12 關
水平聯想題第四關。題目很簡單:畫面上的是一首中文歌的歌詞,只不過反轉後又倒轉了過來而已;然後就是密碼格。
從歌詞搜尋歌曲並不是一件難事 (所以這題其實還有前面的搜尋題的概念在裡面,況且我給的歌詞其實非常多),但問題在於要找出來之後要做什麼。這裡就是水平聯想登場的時候了,但也是需要對關卡結構有理解才行的--而當年還真的不少人卡在這裡,所以我不久就在關卡裡加了一個白字進一步的提示進去。
寫在那裡的提示有三點:
- 這關和前幾關用到的標題網址都無關,只和內容有關;
- 給了一個連結連到當時我知道的一個歌詞網 (繼續灌輸「遇事不知找 Google」的概念);
- (這個才是重點) 重新提起了密碼格的規則。
是的,這關的謎底是:你所找到的歌詞裡有且僅有一個能夠填入密碼格的詞,那就是答案了。
曲子本身是當年的流行曲,記得應該是在電台聽到過的所以就拿來用了;但重點在於這曲子只有一個這樣的詞,而要尋找這樣的詞的這件事被隱含在了「答案是密碼格」裡。這一點才是需要水平聯想的地方。
第 13 關
這關是屬於尋找解謎鑰匙的題目。不過單一解謎鑰匙這種東西其實應該算是各類解謎遊戲的定番,所以早晚也都是要出場的。
這關的鑰匙很簡單:音符的音名。關卡上的樂譜其實不是哪首歌來的,而是用音名湊英文單字湊出好幾個好像能連成一句話的字而已。
第 14 關
新元素介紹。這個是屬於比較進階的招式了,但對於接下來會出現的東西只能算是一個暖身而已;所以也明白告訴你了:答案隱藏在這個圖示裡面,還建議十六進位編輯器。所以就簡單地把檔案另存下來,用編輯器打開,就能看到開頭有答案了。(曾經我建議過使用 Ultra Edit,但後來發現那套軟體實際上是共享軟體之後就改成建議 XVI32 了)
這裡我應該要幫自己做個筆記:這類十六進位檔案內的訊息儘量使用英文。我自己是因為一直在使用 Total Commander 這套軟體,它有一個內建的十六進位顯示模式,在這種模式時會把文字用系統字碼頁組合起來顯示,因此我很自然的就會放中文進去了。這種組字的顯示並不是所有編輯器都支援的:例如 Ultra Edit 有,但 XVI32 沒有。好在答案本身是英文字,至少中文字看不懂還是看得到答案……
第 15 關
這關坦白講和第 10 關是同一個梗:英文單字的拆組字。不過這裡謎底的這個單字確實是個很古老的用法就是了2;現在畫面上的提示詩和白字進一步提示都是在後來進到批踢踢小遊戲版 (下篇文會提) 之後才加上的。
第 16 關
嗯,來到這個可怕的關卡了。這關其實原本只是和 13 關一樣的尋找解謎鑰匙而已。
馬上看得到的提示是白字,這提示的是日文的伊呂波順,所以可以把日文字串變成數字;再來是原始碼裡隱藏起來的圖片檔,它列出了一個數字和符號的對照表;最後這些符號其實是 Wingdings 字型的字母對應符號。終於在經過三段變身之後它變成了一個英文句子,就可以知道答案了。
就是這個三段變身讓題目難度三級跳;換句話說,這一關抵了三個第 13 關。
事實上,這關並不是最初就是這個題目的:在 1、2 版時,這關的題目是現在的第 22 關。那一關的內容確實應該往後擺一點 (需要的概念又比這附近的關卡進階一些),所以才新想了一個應該是這附近等級的題目擺進來。
只是一口氣擺三把鑰匙並沒有減低該有的難度就是了;問題在於,單一把解謎鑰匙使用之後並沒有任何線索告訴你到底對還是不對;得要三把鑰匙都用了之後才會知道正不正確。這才是這關難度跳這麼高的根本原因。
第 17 關
前面說了很多水平聯想關,但都是跟關卡結構有關的水平聯想;這關比較單純,就只是那種拿「水平聯想」當主題的書裡會出現的題目而已。雖說如此,題材其實還是稍稍偏門一點點就是了……(把走路稱做答案這東西,不用說現在,連我出題的當時也已經沒什麼在說了……)
第 18 關 (舊)
這一關一進場會跳一個小瀏覽器視窗出來,要你等個五秒之後再說不告訴你。
以難度來說,這關應該是要放在第六關之前的那種;所以後來這關整個換掉了。說回題目,這關的梗在於:跳出來的視窗裡在五秒後多的文字裡其實還有白字,那個白字才是告訴你答案的。
算是……沒點子下的點子?吧?
第 18 關 (新)
換新的這一關3就回到單純的尋找解謎鑰匙關了。單看圖的的話除非之前有看過不然應該很難聯想,不過網址已經給了第一步提示了:flagship,旗艦。也就是這是某種用旗子表示的東西,由此就能找到對應的鑰匙:國際信號旗。
這裡其實有一個邏輯跳躍是:這是把「旗艦」一詞給拆開來看的。旗艦一詞的原意是司令官或指揮客所在之船艦,因會升起其旗幟故稱旗艦;但這裡不取這個意思,而是把它拆成「旗」(flag) 和「艦」(ship),綜合解做海上船隻使用的旗幟,然後才會找到國際信號旗這個鑰匙。個人會覺得因為有這麼一跳,比起前面的解謎鑰匙稍稍有難上那麼一點點就是啦……
至於標題列提到魯夫單純就只是湊哽而已,跟解謎無關。
第 19 關
謎題遊戲怎麼可能沒有字謎 (苦笑) 不過這題算是比較簡單的題型了:並不是直接找單字,而是這一大片大寫字母陣裡只有少數幾個小寫字母,把這些小寫字母連起來就是答案了。4
至於《哈利波特》的主題……大家應該都知道那段時間的《哈利波特》旋風還頗強勁的。我的前三集是先看中文,不過第四集時有幸入手了英文版,還是國中的我那個暑假就是抱著篇幅明顯比前三集還多的第四集英文版在啃,自此之後五六七都是先看英文版了。5《高手過招》製作時的 2005 年正好是第六集英文版剛出版的時間 (中文版是那年年底),所以自然就變成關卡之一了。
第 20 關
嗯……理論上這一關是搜尋關啦。提示在於這些頭像圖檔的位址有一層資料夾 KOF2001,這是和第 6 關一樣的提示方式所以應該沒什麼問題。比較麻煩的點在於我這些頭像其實是從當年我從某謎處找來的 ROM 實際跑起來的選角畫面截下來的,所以在當年如果直接去搜尋可能不太容易找到對應角色 (這也是為什麼我要用資料夾名提示的原因);現在的搜尋引擎以圖找圖的能力已經越來越強了,這種搜尋應該相對比較容易一些。
找到角色之後的操作則比較算是小型的水平思考,不過會來玩解謎/脫出遊戲的多少都應該看過這種藏答案的方式吧?所以就只有利用「頭像」當作一個比較不那麼明顯的提示。
下集預告
全部到暫停為止的關卡數一共有 111 關,不過各關容量其實相差很多 (例如後面某關還延伸一條支線出去),所以應該不會每篇都像這篇一樣寫這麼一大篇吧。下一篇預計會寫到某個「在外面」的關卡,應該可以算是某種程度的段落吧。