2015年8月31日 星期一

美麗新世界─遊戲世界中的價值觀與代入感

  遊戲為什麼會好玩呢?一個很重要的原因,是許多遊戲創造了一個想像的世界,讓玩家在其中扮演各式各樣的角色。

  在大富翁遊戲中,我是支配大量資產的富豪,握著滿手的鈔票,買入土地在上面蓋各樣房產並且靠這些投資錢滾錢來得到更多,目標是打垮所有競爭者把他們弄到破產。在疫病危機的遊戲中,我是防止人類被各樣傳染病滅族的英雄人物,需要和身邊的伙伴們在世界各地奔波,除了進入要控制疫情的擴散以外,還需要抽出時間研發治療用的藥物。在殺手的遊戲中,我可能是壞人,欺騙所有的村民裝做無辜的樣子背地裡卻是整個事件的黑幕。又也許在別的遊戲中我是黑幫的混混,為了利益可以殺人不眨眼。藉由遊戲,我們到了一個不一樣的世界中,扮演自己平常沒有機會扮演的角色,趁機做許多平常不能做的事情,也瘋狂的在遊戲中經驗「如果我處在某某狀況下的話,我會做出某某決定。」

  在現實中,我們不會有機會來成為真正的壞人,也不會有足夠多的錢去進行大型投資,更不會去拯救世界,取而代之的是我們有許多要遵守的規範:不可殺人、不可貪心、不可欺騙……。我們被期待去遵守這些,但在遊戲中則可能有完全不一樣的道德標準。殺人可能是好的,因為我在殺壞蛋拯救世界,或者因為我本身的角色設定就是個壞人,壞人很自然的就會去殺好人。貪心可能是好的,因為在遊戲中我需要考慮的只有如何成為賺到最多錢最成功的人,而這是遊戲定出來的目標。欺騙可能是好的,因為我被設定為間諜,我需要取得原本不屬於我的信任,或是遊戲目標本來就是欺騙最多人的獲勝。遊戲中應該做的、好的、被期待的表現,可能與現實中相反,或者無關於現實中的道德。有機會在虛擬的世界做一些平常被禁止的行為,讓玩家享受到新奇,或者有些時候是一種叛逆的快感。

  因此,一個重要問題是:「該怎麼看待在遊戲世界與現實世界道德標準的不一致呢?」像是當玩家因為遊戲中的需要而說謊之後,會不會在現實中也因此不誠實呢?

  以上的問題,不同的人有不同的看法。對我來說,身為一個玩家,我把遊戲和現實分的很開,遊戲是遊戲,現實是現實。在遊戲中,我可以重新接受不一樣的身份設定來告訴我什麼該做、什麼是「好」事。我可以因著遊戲設定的需要而盡全力的說謊,而不會有絲毫的罪惡感,甚至我可能會有點享受說謊的樂趣。也可能在另一個遊戲中把所有自己的敵人趕盡殺絕,奪走他們在遊戲世界中的生命。但是這樣的設定也只存在與這場遊戲相關的時間與空間與想像中。當遊戲結束,這樣的價值觀的設定也隨之結束,不應該被帶回到現實中。

  現實中,分辨善良與罪惡,好事與壞事可能是很不容易的。一件事是否為好事,從結果來看、從動機來看、從效益來看都可以能會得出不一樣的結論。遊戲中的「好」事,其實是相當單純的。一般來說,就是不違背遊戲的規則,以及盡全力追求遊戲的勝利,扮演好自己在遊戲中被設定的角色,只需要盡全力看自己能夠在多大程度上達成這個目標。

  另外一個比較微妙的問題是:「在遊戲中我是把自己投射在角色中,還是我只是在扮演一個被設定好的角色?」這兩個的分別在於,前者像是我真的到了一個平行世界中,以我對這個世界的認識來做出各樣的選擇。後者卻比較像是我是一個話劇演員,演出一個也許和我本人並不相似的角色,而我在根據設定詮釋這個角色。當然,以上這兩種狀況不是非黑即白,有更多的時候可能是兩種狀況各自佔有一定的比例。

  舉例來說,前者像是在玩大富翁時,即使平常我沒有那麼多錢可以支配,但是我在遊戲中理財的概念,願意冒多少風險等等,和自己平常的判斷模式並不會差太多,或者會覺得有一天自己有錢了大概也可以這樣玩的感覺。但是像是在玩抵抗組織抽到壞人角色時,雖然很享受說謊,也會根據所有狀況證據編出對我有利版本的解釋,再很積極的去抹黑其他的玩家,但是比較像是根據遊戲的設定在扮演一個奸詐的間諜角色。我覺得我就算有一天需要當壞人,也一定不會被放到這麼依賴演技的位置上吧。

  一般而言,我自己在玩策略性,燒腦型的遊戲時比較會投射在角色中,反正平常就很習慣一直思考的狀況了,感覺是換一個題目來思考而已,但是會比較沒有太多情感方面的體會。而在玩隱藏身份類的陣營遊戲,需要說大量謊話的則投射感會比較低,可以享受扮演遊戲中設定好的角色個性的樂趣。

  如果在遊戲後,希望玩家從遊戲的體驗中有些反思的時候,以上這兩個問題就很重要了,理想上我們希望玩家對於遊戲有夠強的代入感,因此能夠覺得遊戲中所做的決定是「自己」所做的,而不是「被別人設定」的角色所做的,進一步的自我覺察為什麼自己會做出這樣的反應。對於第一個問題,也會比較傾向讓遊戲世界中對好壞的看法,和現實世界不要差太多,不會讓玩家覺得「在遊戲中你明明鼓勵我這麼做,在遊戲結束後卻又用這個來責備我」的感覺。

  之前幾次在設計喻道類的大型活動與遊戲的經驗,思考重點都放在遊戲的背景與機制設定,讓玩家覺得自己好像到了一個不一樣的世界,在遊戲中不知不覺的表現出「如果我置身在這樣的情境底下,我會做出什麼決定。」但剩下部份的規則,就盡可能的與現實類似與簡化,使玩家可以從現實的經驗中直覺的做遊戲中的選擇,也不會在理解規則上花太多心思。

2015年8月21日 星期五

來不及回頭的遺憾─《印加寶藏(Incan Gold)》與期望值


  你是探險隊的成員,在印加的遺蹟中發現了一條沒有人探索過的密道。在好奇心的驅使之下,你與你的同伴們開始了這一段遺蹟探險之旅。在密道中,有許多珍貴的寶石,更有許多在考古上有重大意義的古物。抱著滿手的寶物,開心的同時,卻也發現密道不太安全,太久沒人走過了,這裡已經變成僵屍、蜘蛛與蛇的巢穴了。而不穩的地質結構也造成了落石與火災的危險。在旅途中,覺得不安的同伴陸陸續續的決定脫隊帶著找到的寶物到安全的地帶。深入密道的同時,隨著同伴人數愈來愈少,在所有找到的東西都是見者有份的約定下,大家可以分到的財寶愈來愈多,但危險也愈來愈大。到底冒險者能夠有智慧的抱著最多的戰利品歸來,還是最後遇到危險只好放棄所有寶藏只求保命呢?

  為了考古學的發展(當然還同時為了自己的荷包),今天就試著一個人探索這條密道。當然,探索成功的第一步,就是用地質調查收集足夠多的資訊。根據文獻(說明書),探索密道時有五種不同的災難(火災、落石、僵屍、蜘蛛、大蛇),各自有三個出現的可能性。當第一次某種災難出現,像是火災,這只是小小的預兆,告訴我有危險。但是第二次再出現同樣的災難時,悲劇就會發生,我只好放棄所有得到的寶藏逃跑。因此,總共有十五個出現災難的可能性。

  當然,除了災難以外,更重要的是寶藏到底有多少。根據精密的調查,有十五種可能出現寶藏,而出現的量由少到多分別是1,2,3,4,5,5,7,7,9,11,11,13,14,15,17。當然,我又不是分析地質的,不可能記得所有的數字,但是,只要記得總共寶藏的量是124就可以了。最後,為了模擬第一次來到密道,有一種可能會出現黃金古物,但是在只有一個探險者的角度來說,這和出現價值為5的寶藏意義是一樣的。

  (翻譯成桌遊語也就是說,總共有31張牌,15張是災難,五種災難各3張。15張是寶藏,總量是124。1張是黃金古物,因此寶藏加古物總共是16張,總和129。)

  最後,來開個數學家的外掛吧!根據不同的狀況召喚不同的數學魔獸來幫忙。這個狀況下,最適合的當然就是傳說中的期望值妖精啦!我打了個響指,一隻有著小小翅膀的可愛妖精出現飄浮在我右邊不遠的空中。這種妖精的特性就是可以給召喚者建議該不該做什麼樣的決定,很適合這種需要冒著風險才有收獲的狀態。現在真的萬事俱備,可以開始探險了。

  我隨口問了一句,我該不該探險,馬上就後悔了。期望值妖精一口氣說了一串東西:「探險的第一步,有1/31的機會發現1顆寶石,1/31的機會一口氣發現2顆寶石,……」嗯,它把我剛才的調察資料全部用上了,不過我不想再聽一遍,按了快轉跳掉寶石的部份。「……,有1/31的機會一口氣發現17顆寶石,有1/31的機會發現古物,剩下15/31會遇上災難,不過還死不了,就算出了事,你現在也沒有東西可以失去。因此你這步平均而言可以得到1/31+2x(1/31)+3x(1/31)+4x(1/31)+5x(2/31)+7x(2/31)+9x(1/31)+11x(1/31)+13x(1/31)+14x(1/31)+15x(1/31)+17x(1/31)+5x(1/31)=4.161顆寶石。」第一步沒啥可怕的,就這樣,我踏進了密道,找到了一堆寶石。

  一開始就這樣,算是個好兆頭吧!當然,還有更重要的事。我重新召喚了一隻不那麼囉唆的期望值妖精,總不能每一部都把上面的計算聽一遍吧,這樣我還沒死於密道中的意外前我的血壓早就爆表了。因為所有的分母都一樣,所以直接把分子加起來,也就會得到總共還剩幾顆寶石在密道中。「剛剛發現了15顆,密道中還剩下價值為114的寶藏,目前沒有危險,下一步有30種可能。因此平均可以得到3.8顆寶石。」這隻妖精可能有了前一隻的前車之鑑,因此講的很簡要。在沒有危險存在的狀況下,我又往前了一步。


  這次只找到3顆寶石,沒有想像中的多,前面也沒有危險,但是既然都召喚出來了,還是問一下妖精的意見。「剛剛發現了3顆,密道中還剩下價值為111的寶藏,目前沒有危險,下一步有29種可能。因此平均可以得到3.82顆寶石。」

  「嗯?等等,明明剩下的寶石變少了,但是平均可以得到的寶石卻變多了?」 

  「因為剛才期待可以找到3.8顆,卻只找到3顆。因此,以平均而言,留下更多找到寶石的機會。」雖然覺得怪怪的,但是反正沒危險就繼續下一步吧!

  「剛剛發現了5顆,密道中還剩下價值為106的寶藏,目前沒有危險,下一步有28種可能。因此平均可以得到3.79顆寶石。」又是差不多的建議,加上召喚妖精耗掉了一定的腦容量,我開始覺得無聊了,反正沒有危險,不用問也知道要往前走。果然,人不可以太鐵齒,還是甘於無聊就好了,這次的一小步,和之前都不一樣。



  在我前面出現了大蛇的蹤跡,只要再遇上剩下兩個大蛇的可能性我就要放棄所有寶藏開溜了。「現在怎樣?繼續冒險嗎?」我問妖精,努力控制自己的語氣不讓它覺得我在怕蛇。

  「之前你已經累積了23顆寶石,如果選擇離開這些都是你的。以這個為基準,密道中還剩下價值為106的寶藏,但是有2種可能性會導致你失去之前的23顆,單就抽到寶藏的部份來看,下一步有27種可能。因此平均可以得到(106-2X23)/27=2.22顆寶石。」

  期待能夠得到寶石的數量隨著風險降了很多,或者更正確說我也有機會失去已經得到的寶石。不過看起來還有賺頭,我又往前了一步。

  看來果然愛拼才會贏,找到13顆,遠遠高於妖精的預測,讓我有點小小的得意。但是想到說不定我也可能已經被蛇咬失去之前賺到的,就讓我背後冒了點冷汗。

   「之前你已經累積了36顆寶石,如果選擇離開這些都是你的。以這個為基準,密道中還剩下價值為93的寶藏,但是有2種可能性會導致你失去之前的36顆,下一步有26種可能。因此平均可以得到(93-2X36)/26=0.808顆寶石。」

  發現已經得到寶石的數量出現在後面失去的可能性中,已經慢慢抵銷掉能夠找到新寶石的喜悅了。擁有越多,則愈擔心失去。不過還有賺頭,往前!

  眼前一亮,這次找到一點不一樣的,雖然這和找到5個寶石意義一樣,但是有點變化還是好的。再問一下妖精的意見要不要往前囉!

  「密道中還剩下價值為88的寶藏,但是有2種可能性會導致你失去之前的41顆,下一步有25種可能。因此平均可以得到(88-2X41)/25=0.24顆寶石。」 

  看起來總之就是"(剩下的寶石-危險X已經得到的寶石)/可能性"這樣的算式,好像妖精也沒有新招了。目前賺頭愈來愈小,不過還是有得賺。往前!
  「密道中還剩下價值為77的寶藏,但是有2種可能性會導致你失去之前的52顆,下一步有24種可能。因此平均可以得到(77-2X52)/24=-1.125顆寶石。我建議往回到安全的地方。」

  妖精第一次提議往回,是說再來沒賺頭嗎?但是明明就還有寶石留在密道中,抱持著不信邪的心態。繼續往前。


 
  
  沒有找到寶石,知道現在除了蛇以外,還有蜘蛛在蠢蠢欲動,心情好不起來。妖精看到我沒有聽建議,也是同樣的不高興,不過還是很盡責的繼續提供建議:「 密道中還剩下價值為77的寶藏,但是有4種可能性會導致你失去之前的52顆,下一步有23種可能。因此平均可以得到(77-4X52)/23=-5.696顆寶石。我建議往回到安全的地方,這不是說你再來一定賺不到,而是剩下來的寶石不值得你冒著失去之前累積成果的風險。」

  話很少的妖精難得說了任務以外的話,是不是該好好聽下去。不過,我馬上敗給了欲望。又繼續往前了。

  就算沒有聽從警告,卻還是很幸運的又找到寶物了。一次找到9顆算是滿賺的。

  「 密道中還剩下價值為68的寶藏,但是有4種可能性會導致你失去之前的61顆,下一步有22種可能。因此平均可以得到 (68-4X61)/22=-8顆寶石。我建議往回到安全的地方。」

  現在我已經開始把妖精的話當耳邊風了,反正感覺手氣很順,運氣不會那麼差。繼續往前,好像已經變成習慣動作了。
 
   這次賺到兩顆,不過好像已經不知道自己在為了什麼而往前了,理性上知道不可能永遠繼續前進,但是就找不到採煞車的時間點。

  「 密道中還剩下價值為66的寶藏,但是有4種可能性會導致你失去之前的63顆,下一步有21種可能。因此平均可以得到 (66-4X63)/21=-8.857顆寶石。」

  妖精也停止建議我返回,一臉放棄治療的表情。這次2顆真的賺太少了,下次再賺到大的就回去,我暗自下了這個不算決心的決心。

  第三個危險的可能性出現了。但是我還沒賺到大的。

  「 密道中還剩下價值為66的寶藏,但是有6種可能性會導致你失去之前的63顆,下一步有20種可能。因此平均可以得到 (66-6X63)/20=-15.6顆寶石。」

  這個數字已經糟到不可思議的地步了。可是我還是想再賺到一次就收手,真的,再賺到一次我就會收手的。但是,機會不是永遠都存在的。
 
   隨著冒出的火燄,顧不得寶石了,把所有東西丟著就沒命似的往外跑。走過的路比想像中的還要長很多,在往回跑時心中一直想著我剛才有走這麼遠嗎?出口怎麼還沒到,一點都不記得失去理智模式下自己做出來的決定。一直到了密道外面大口大口喘著氣,一邊看著妖精臉上「我早就警告過你」的表情,一邊遺憾自己做了白工,什麼都沒得到。回想一下剛剛的歷程,開始想像,如果在妖精建議我往回的時間點就回來,到底會有什麼不一樣呢?


  這是我剛才的歷程,在建議該回頭的時間點我已經有了價值同等52寶石的寶物,而最後我失去一切之前也才到63寶石,在理智回到我心中的同時,開始覺得剛才後面冒的險還真是不值得。這時候才開始佩服起妖精給的建議了,既然都召喚出來了,建議還是應該要聽的。

  和這隻妖精道謝也道歉過後,就先讓它回去休息了。有我這種主人應該也是很頭大的吧!

  在我休息與放空的時候,忽然發現剛才我做決策時其實不需要知道真正的期望值。我只需要知道算出來的數到底比零大還比零小就可以了,不需要去除全部的可能性。想到這個發現,我需要計算的量會大大減少,不禁想要實驗一下,再來挑戰一次。這次召喚了一隻個性比較馬虎的妖精,不需要算期望值,只要判斷正負。具體而言妖精要做的是" (剩下的寶石-危險X已經得到的寶石)大於零的時候繼續往前走,小於零的時候退出。"感覺還滿有道理的,剩的寶石愈多則留下來的動機愈大,但是危險愈多或是已經得到的寶石愈多,則可能失去的東西愈多,愈期待快點到安全的地方。因為第二次冒險時已經累了,所以就很簡單記下發生什麼。

  「開始,129>0,往前!」

  第一步,找到4個寶石。「125>0,往前!」

  第二步,出現落石。「125-2x4=117>0,往前!」

  第三步,找到1個寶石。「124-2x5=114>0,往前!」

  第四步,找到5個寶石。「119-2x10=99>0,往前!」

  第五步,找到11個寶石。「108-2x21=66>0,往前!」

  第六步,落石真的崩塌了,我又再次落荒而逃。

  這次,輪到我用責怪的眼神看著旁邊的這隻馬虎個性期望值妖精了。明明都照它說的做怎麼會怎麼慘呢?以數學的計算,並不是沒有除分母算出真正期望值的關係,那並不會改變我的決策。

  那隻妖精倒是好像很習慣這種狀況了,說:「我們是期望值妖精,不是預知未來妖精。只能根據現況給與最好的建議。」

  「可是,不是說期望值還是正的嗎?」

  「期望值只是各種可能性的總和,我們只負責告訴你事情大概會是怎樣,假如你有很多次遇到同樣的狀況時,平均起來建不建議這樣做。打個比方吧!我們不會建議你冒著生命危險去快車道上撿一塊錢,這樣可以得到的東西太少,但是又太危險了。但是我們就也許會建議你去快車道上撿一張中了億萬美元的樂透彩卷,端看你覺得自己的生命與平安有多重要。假如只計算醫藥費的話,你有微小的可能可以無傷撿到彩卷,也有很大的可能沒撿到彩卷還被撞個半死,加總起來還是正的。」

  看來,下次要召喚期望值妖精之前,還是要先定下自己可以接受的範圍。不過,最起碼可以用在印加密道的冒險中吧!下次和朋友來探險時,可以再來召喚妖精偷偷開個外掛。但是,妖精卻否決了這個方案,原因是─這些妖精他們相當怕生。當有許多冒險者的時候,會因為他們的行為沒辦法單純用機率來預測而使預測失準。在這個冒險,真的讓人想到一句治理名言:「寧可遇到神一般的對手,也不要遇到豬一般的隊友。」別人都想要留下來的時候也許離開是最好的,別人都離開時留下來又有機會大賺一票。比密道中的災害還要更可怕的,也許是人與人之間的算計吧!因此,這次的經驗,在下次的組隊冒險中有用的,可能就只剩下所有人都丟下我離開密道時,再來偷偷召喚期望值妖精在沒有其他人的影響下外掛一下了。唉!就只怕等我可以叫妖精來給建議時,風險都已經大到會妖精一登場就會直接把我踢出密道的狀況了。

2015年8月17日 星期一

卡卡頌之黑暗兵法─《卡卡頌(Carcassonne)》與環狀排列



  卡卡頌(Carcassonne)是一個位在法國西南部的中世紀小鎮,而桌遊的卡卡頌則用拼圖的方式,重現了中世紀的景色。每個回合,玩家抽取一張版塊並拼放在整個地圖上,幫忙擴建地圖上已經有的城堡、道路或者是草地。隨著遊戲的進行,好像在用鳥瞰視角來看一大片的歐式鄉村一樣,地圖上會有愈來愈豐富的城堡、路與草地,整個遊戲畫面也會愈來愈漂亮。

  對這款遊戲我有一個特別的回憶,它是我所接觸的第一款桌遊。還記得第一次玩的時候抓不到訣竅,自己唯一的一隻大人出去後就再也沒有回收回來,最後慘遭墊底。雖然這樣,但是卻很喜歡這款遊戲中,把地圖分成一個一個小片元素再加以重組,每次都可以排出不同的景色的設計。

  卡卡頌遊戲進行中,很重要的一點就是抽取板塊,拼到地圖上。但是與旁邊相鄰的板塊要遵守以城堡接城堡、路接路、草地接草地的規則。因此雖然每塊版塊都長的不太一樣,拼起來卻相當的協調。

  雖然這款遊戲定位是家庭遊戲,但是對於重度桌遊策略咖,總是有辦法把所有的遊戲變成心機遊戲。因為當拼放版塊的時候,有幾個邊和旁邊版塊相鄰幾塊版塊就需要把這些都成功接上,因此,如果有個地方不想讓對手接上,只要先繞過去把這個位置旁邊的版塊先拼好,這個地方能夠拼的限制就愈來愈多,而對手也就更需要運氣與神抽才能找到適合的版塊。

  因為拼放版塊的自由度很高,因此隨著遊戲進行,符合各種可能的邊界狀況的空格都可能會被創造出來。而需要把這格拼上去的人就會因此傷透腦筋,對天祈禱自己運氣夠好。有些更心機的玩家甚至會把各種不同邊界在不同的擴充版中各自有幾塊版塊都背下來,當需要的版塊不存在或者已經被抽完時,中招的玩家也只好認命放棄治療了。


  因此,在這個遊戲中,一個很重要的問題是:到底有多少種可能的邊界條件呢?在這裡我們要討論的是,既然每個板塊都是四方形,而每個邊都有城堡、路、草地這三種選擇。那麼有多少種不同邊界的組合呢?左邊的照片中,雖然五個方塊都長的不一樣,但是他們四邊都是城堡,也都可以塞進完全一樣的洞中。因此,我們不管中間可能有什麼不一樣的構圖,把他們當做是同一種邊界的組合。


  這個問題中最麻煩的點,是想清楚到底什麼樣的邊界算成同樣一種。因為版塊是可以旋轉的,因此旋轉後雖然也許各樣的路和城堡都跑到不同的方位去了,但是仍然當做是一樣的。像是右邊的照片,雖然路都在不一樣的位置,但是旋轉一下就會發現其實四張版塊是長的一模一樣的。加上會被旋轉的可能性,腦筋就開始打結了,好像我們很容易重複計算同樣的組合。

  因此,為了不要重複計算,我們用兩個不同的階段來討論:

階段一,找出四邊中,城堡、路、草地各自有幾個所有的可能性。
階段二,把階段一的東西拿來排在正方形四邊,看會有幾種排法。

   又因為決定階段二有幾種排法的只有各種類的數量分布,詳細什麼種類有幾個不影響排法。例如:我們知道怎麼排兩個城堡兩個草地的邊界,那麼只要把草地換成路,我們就可以知道怎麼排兩個城堡兩個路的邊界。把前面的階段修改一下,變成:

階段一,找出四邊分成A、B、C三種東西總共有幾種可能性,假定A比B多,B比C多。
階段二,把階段一的東西拿來排在正方形四邊,看會有幾種排法。
階段三,決定到底A、B、C分別是城堡、路、草地的那一個。

  因此,第一階段就一個一個試,從A最多可能有四個開始減少,只有以下四種情形。


可能性一
可能性二
可能性三
可能性四
4
3
2
2
0
1
2
1
0
0
0
1

  但是因為這四種可能性之後的狀況都是不一樣的,需要分開來討論,當可能性一的時候階段二與三會怎樣,可能性二的時候階段二與三會怎樣,以下類推,而沒辦法用乘法寫成4乘以別的數字。

  可能性一,當ABC的分布是(4,0,0)的時候,翻成白話文,就是四面都是A,在第二階段中沒有什麼好排的,只有1種可能。而第三階段中我們只需要決定A到底是什麼,共有3種不同的可能,因此最後可以產生四面都是路、四面都是草地、四面都是城堡的3種狀況。


  可能性二,當ABC的數量分別是(3,1,0)的時候,在第二階段只有1種方法把他們排在四方形的四邊,因為不管我們把唯一的B放在哪邊,都可以透過旋轉來移到同樣的位置(像是轉到朝下的方向)。而這次第三階段我們就需要決定A和B。從A開始選,A有3個可能的選項(城堡、路、草地)。之後處理B,因為不可以和A相同,剩下2個可能性。總共有3x2=6種不同的組合。


  可能性三,當ABC的分布是(2,2,0)的時候,有2種不同的方法把他們排在四方形的四邊,兩個A相臨或者A和A是面對面的位置,而把B放在剩下的空位中,不管是哪一種排列方式,我們都可以藉由旋轉來交換A和B,因此我們只需要決定C是什麼(哪一種不會用上),剩下的兩種放在AB的位置。C總共有3種不同的可能性。加上排列方式,會有2x3=6種邊界條件符合這種分布。


  最後,可能性四,當ABC的分布是(2,1,1)的時候。和上面的可能性三類似,有2種不同的方法把他們排在四方形的四邊,兩個A相臨或者A和A是面對面的位置,而把BC放在剩下的位置。但這兩種狀況的發展卻不太一樣,如果兩個A是面對面的位置,則BC不管怎麼放,把整張板塊轉180度之後就可以把BC對換,因此只要決定A,共有3種邊界條件符合這種分布。另一方面,如果兩個A是相臨的,則剩下的BC沒有辦法對換。如果我們假定上方和右方是A,下方是B,左方的邊界是C,則ABC共有3x2x1=6種可能。因此,這種可能性,在細分成兩個不同的類型後,總共有3+6=9種不同的板塊。


  因此,總共有3+6+6+9=24種不同的邊界條件。回到原本的卡卡頌基本版遊戲,只有其中的17種邊界條件。少了照片中所示的7種。因此,下次玩基本版的時候,特別要記住只有一邊城堡一邊路的都是無解的,只要做出剛好是這7種中任何一種的空位,就可以成功使出黑暗打法讓那格永遠拼不起來。好孩子不要輕易模仿喔!知道邊界條件的可怕了吧!嘿嘿嘿!

  這二十四種可能的組合,同時也與一個有趣的益智玩具有關。要如何安排這二十四個正方形在四個正立方體的面上,使得所有的邊界都是吻合的呢?很神奇的,可以找到一組三種邊界彼此之間不太對稱的解答。右圖中顯示的就是這四個正立方體展開來以後的樣子。組成立體以後看起來就像是四個可愛的卡卡頌小行星。而益智玩具的玩法就是用這四個正立方體來拼出更多邊界吻合的立體形狀囉!


按照上面的展開圖拼起來的卡卡頌立方體。


後記:以上那些不存在於基本版的板塊,是從各個卡卡頌擴充中收集來的。但是,要寫這篇文章的時候才發現因為之前疏於整理,硬生生的有個很重要的邊界條件的板塊不見了。因此,所有照片中用到那個板塊的部份,全部都是靠合成出來的。仔細看可以看出破綻喔!

2015年8月16日 星期日

為什麼就是差一格呢?─格鬥積木與奇偶性


  之前的旅遊途經中部的車埕鎮時逛了一下,早期以木頭的生產與加工為主,將加工後的原木,以鐵路線運送出去。現在這個小鎮,隨著日月潭風景區被整理,發展觀光。在這裡可以看到許多當時與木頭製造產業有關的老建築與歷史,也有讓人覺得到另外一個時空的老街。最讓我有興趣的,還是這裡賣的一些木製手工藝品。

  在紀念品店,找到了一組益智玩具(結果我還是只會看上益智類的東西啊!),名稱取的不怎麼樣,叫「格鬥積木」,就不吐槽他們取名字的品味了,益智玩具最重要的還是設計和能夠讓人動腦的程度。這組積木很久以前在某個活動中有玩過,感覺很簡單曾經想自製過,不過因為自己的木工技能太差而放棄了。現在可以直接很方便的買一組帶回家,二話不說,馬上掏錢結帳!


  左邊的照片中就是一整組九種不同形狀不同顏色的積木,外加兩顆骰子。這樣的造型與顏色讓人很直覺的想到俄羅斯方塊。規則也相當簡單:丟兩顆骰子,把丟出來顏色的積木移除掉,用剩下的七塊積木拼成一個3x3x3的實心立方體。

  這樣的規則感覺有點像是桌上遊戲Ubongo的立體版。很快的嘗試了幾次,如下面的照片,3x3x3的空間比想像中還要容易塞滿,有些組合讓我卡了一段時間,但有些組合很快就拼出來,該說是有難度的差別,還是因為一開始思考方向不對卡關呢? 
骰到白色和藍色的狀況

  遇到這種遊戲,數學思考的職業病又會發作想來好好把整個遊戲分析一遍。先從丟骰子決定這件事開始好了!為什麼不管丟到什麼顏色都可以拼出來呢?觀察一下,雖然兩顆都是六面骰,其中一顆骰子上面只有三面黑色三面白色,另外一顆的六面則分別是不同的彩色。以數量上感覺很合理,黑白的積木是3個小方塊組成,其他的彩色積木各自是4個小方塊組成。把黑白和彩色各拿掉一個,則剩下來的小方塊數量是3+4x6=27剛好是3x3x3的立方體大小。

  再稍微觀察一下,黑白兩個積木剛好是拿3個立方體黏在一起所有可能的狀況。那麼,彩色的七個積木是不是立體空間中所有可能的4個立方體的組合呢?還差一種:四個立方體排成一直線,在俄羅斯方塊遊戲中可以用來一次消四排直條。而少了這種形狀積木的理由很容易可以想像─因為長度是4的積木不可能放進3x3x3的立方體空間中。


  感覺這種基本的算數部份快分析完了,就剩一個小細節:有七個彩色的方塊,但是骰子只有六個面,到底哪一個顏色沒有出現在彩色的骰子上呢?直覺告訴我是綠色 或紫色其中之一,因為這兩個方塊彼此是對稱的,而剩下的方塊則是和自己對稱,因此,拿掉綠色的狀況,可以把所有的方塊左右方向改變後換成拿掉紫色的狀況。 因此這兩種的題目其實解法一樣,沒有挑戰性,拿掉其中一個可以讓題目有最多不同的組合。左邊的照片顯示了把綠色和紫色對換的方法。

  但是讓我晴天霹靂的是,我的直覺竟然錯了!有仔細看照片就會注意到,綠色和紫色都出現在彩色的骰子上。到底是哪一種顏色沒有出現呢?把彩色骰子的顏色全部確認過,總共是紅、橘、黃、綠、藍、紫。少掉的顏色是棕色,也就是長的像是T字型那塊,需要出現在所有的組合中。

  棕色那塊和其它的比起來看起來就沒什麼特別的(當然,很可能是顏色造成的錯覺),沒有道理一定非它不可啊!很不信邪的就來挑戰棕色那塊拿掉後的組合,試了一下,無論是把黑色那塊拿掉還是白色那塊,竟然都拼不出來!現在是什麼狀況?因為遊戲的規則書並沒有保證有解答,有以下兩種狀況。狀況一,這種組合其實有解答,只是我沒有找到,為了遊戲的難度設計而拿掉這個組合。狀況二,這其實因為某種特別的理由無解,不要去踩這個地雷。很好,這種感覺可以解但是還不知道解答的問題,對於我鑽牛角尖的個性來說,一整個就是解不開晚上就會因此睡不著的狀況。

最壞的狀況,拿出紙筆一個一個記錄,確定我所有的組合都試過,這樣就可以找到解答或者證明無解了。不過這個做法實在太沒有數學的美感了,積木背後有沒有什麼漂亮的概念能夠告訴如果有解的話我該怎麼找到解答呢?

  出去吃晚餐的同時,開始在腦海中翻找有哪些數學的思考方式可以用,就好像是臨時想到要修腳踏車的時候,把工具箱倒出來看有什麼適合的工具,找到的工具都來憑感覺試試看一樣。這時,想到的是奇偶核對的工具好像滿適合的。

所謂的奇偶核對,就是把所有的方塊分成兩類,本來習慣是用黑色和白色來標記,但是因為積木中已經有黑白了,在這裡我們用圈和叉來標記不同的兩類。從一個角落的方塊標記為圈,然後把圈旁邊的方塊標記成叉,叉旁邊的方塊標記成圈,如果是平面的狀況,就會成為像是西洋棋盤一樣黑白相間的結構,而立體空間中則如旁邊的照片所示。試試看從這樣的角度來看,能不能得到一些洞見呢?

  把3x3x3方塊按照位置分成頂點、邊、面還有中心,可以發現他們可以用圈和叉歸類如下。總共有14個圈和13個叉。


位置
角落
中心
數量
8
12
6
1
屬性
o
x
o
x


  再來,用同樣的方式,把不同的積木放在不同的位置,觀察他們各自可能會有的圈叉數量,會發現黑色與白色都一定是兩個比一個的分布,大多數的彩色積木不管放哪邊,都只會佔據兩個圈兩個叉,除了黃色與棕色的以外。


顏色
圈叉數量
(2,2)
(2,2)
(3,1) or (1,3)
(2,2)
(2,2)
(2,2)
(3,1) or (1,3)
(2,1) or (1,2)
(2,1) or (1,2)



  因此,雖然這種分析看起來有點神來一筆,但是很神奇的,用這種方法來看積木,我們可以發現在棕色拿掉的狀況下,為了要總共有14個圈13個叉,黃色的積木 需要放在有三個圈一個叉的位置,而無論我們用的是黑白積木中哪一個,要放在兩個叉一個圈的位置。黃色積木可以放的位置,在旋轉整個方塊後,只有可能是照片中的那兩種。怪不得之前一直拼不出來,憑著直覺,通常都會把黃色那塊放在角落的位置,也就會造成一個圈三個叉的結果!

從這個大發現開始,感覺可以捲土重來試試看這樣放拼不拼的起來,不過很快的又卡關了。看起來再找其它的分析來鎖定一些資訊好了。

  再次動腦,嘗試錯誤了好長一段時間,弄到頭腦快炸掉的狀況,總算又找到了一個有用的觀察了:一開始以位置來分類的時候,在六個面中心的方塊也就總共6個,而因為黃色的積木要放在這些奇怪的位置,最起碼就會用掉2個這類的方塊。感覺這種方塊消耗量好像有點太大,試試看其他的積木會不會需要消耗在六個面中心的方塊呢?嘗試後可以建出以下的表。


顏色
最少要用幾個面中心方塊
1
0
1
1
1

  到目前為止,所有積木都選最省六面中心方塊的解答時,就剛好會把所有六面的中心方塊全部用掉。可以藉此鎖定如果有解的話,各種積木的擺放位置。而最後臨門一腳的,就是黑色與白色積木。別忘了在這個狀況下,無論是拿掉黑色還是白色積木,剩下的一個都需要提供兩個叉和一個圈。
顏色
在一圈二叉的狀況下最少要用幾個面中心方塊
1
0
 
  經過漫長的觀察與分析,還有眾多的表格之後。總算有了結果,如果黑色的積木被拿掉的話,則白色的積木也消耗了1個在某一面中心的方塊,因此最少需要用7個,超出我們的預算。到此為止,總算證明出來拿掉棕色與黑色積木的狀況下,剩下的七片是沒有辦法塞進3x3x3的方塊中的。原來骰子丟不出棕色還真的有它的道理在!

  以上這個思考過程,感覺好像在唸奇怪的咒語之後召喚了具有神秘力量的異世界怪獸來幫忙打魔王一樣。有些時候有用,有些時候召喚的怪獸和要解決的魔王問題一整個屬性不合完全提供不上戰力。不過工具還是愈多愈好,能夠打敗魔王的機會會比較高,最起碼這次我們還是成功的拯救了世界,也對這套積木有更多的洞見,像是如果是黃色被拿掉的狀況,我們也可以得到差不多的分析而開外掛知道棕色積木該放哪。哇哈哈!這樣之後玩這套積木給別人看時就比較不怕卡關被別人笑了。

後記:後來在以上分析的幫助之下,知道了如果有辦法解各片能夠放的位置,總算成功解開拿掉棕色與白色兩片的狀況了,這個狀況是解的開的,只是比較難一點而已。就不在這裡暴雷了。

2015年8月13日 星期四

誤很大的照片─《閃靈快手(Geister Blitz)》與排列組合


桌遊玩久了,常常會出現坐太久與宅掉之類的症狀。在享受桌遊的同時,也別忘了要有適量的運動。因此在各樣燒腦的遊戲之中,推薦這套號稱格鬥系反應類桌遊的閃靈快手(Geister Blitz),讓大家玩桌遊不只練腦袋也可以順便練練身體。

  打開盒子,可以看到五個可愛的木製小玩意,分別是紅色的沙發、綠色的瓶子、白色的鬼、藍色的書以及灰色的老鼠。因為很重要所以要說三次,嗯,不是,因為很重要所以列表在下面。



物品
沙發
瓶子
老鼠
顏色
紅色
藍色
白色
綠色
灰色


  住在閣樓中的幽靈找到了一檯魔法相機,並開心的拍了許多照片。但是因為相機被施了魔法的關係,很多拍出來的照片顏色和物品都搭不上。每一回合,會翻開一張牌(拍出來的照片),每一張照片都各自只會指一樣特定的物品,最快發現到底這張照片的答案是什麼,並且先搶到那樣東西的人就可以得到卡片。當所有的卡片都搶完後,每個玩家結算自己得到的卡片數量,數量多的人就是贏家。

  聽起來很簡單吧!但是讓大家腦筋打結的就是不同的照片有不同代表東西的規則:

規則一,如果有一個物品被拍出來的顏色是正確的,則答案就是這個物品。在這種照片上的另外一個物品一定顏色錯誤,並且照片上的物品與顏色都不會重複。

例:最左邊的照片中,有灰色的老鼠跟白色的瓶子。因為原本老鼠的顏色是灰色沒有錯,因此這張的答案是「老鼠」。

例:右邊的照片中,有藍色的老鼠和紅色的沙發,這次雖然老鼠也出現了,但是顏色錯誤。只有紅色的沙發顏色正確,因此這張的答案是「沙發」

  假如只有上面這條規則的話,這遊戲就太小兒科了,變成單純的找尋錯誤或者認識物品的幼教遊戲。問題是,有以下這個完全相反的規則二。

規則二,如果照片上面的物品顏色全部都是錯誤的,則答案是照片上沒有出現物品也沒有出現顏色的那樣東西。這聽起來很抽像,還是來看些例子吧!

例:左邊的照片中,因為綠色的沙發與藍色的老鼠顏色都怪怪的。因此尋找不是沙發、不是老鼠、不是綠色也不是藍色的東西。五個物品中剛好以上每個條件會刪掉一個,最後就剩下白色的鬼。因此這張的答案是「鬼」。

例:右邊的照片中,出現了藍色的瓶子、灰色的鬼。找尋不是瓶子不是鬼,不是藍色也不是灰色的東西,最後就剩下紅色的沙發。這張的答案就是「沙發」。

  當然,這裡的重點不是介紹遊戲,雖然這個遊戲的規則差不多都在上面介紹完了。從遊戲本身還是要用數學的觀點問一些有趣的問題,從以上的規則,很自然的就會想問,最多可以有幾張不重複的照片(牌) ?

  很明顯的,規則一與規則二分別會造成完全不重複的牌,因此可以分開來各個擊破。就先從規則一開始思考好了,要怎麼設計一條生產線,專門生產符合規則一的牌呢?

步驟一:從五個東西裡面選一個當做這張照片的答案(像是白色的鬼), 這個物品會好端端的以正確的顏色出現在卡片中。

步驟二:從剩下來的物品中選一件來當做弄壞顏色的東西(承上,像是沙發)。

步驟三:決定弄壞顏色的東西會變成什麼顏色(承上,像是綠色)。

步驟四:把步驟二和三合併做出顏色壞掉的物品(承上,綠色的沙發),完成(得到有白色的鬼與綠色的沙發的卡片)!

  現在,因為我們的目標是找到全部不重複的可能性,我們要確定兩件事情:是不是全部可能的組合都可以用這條生產線生產出來呢?如果我在不同的步驟做了不一樣的選擇,是不是一定可以得到不一樣的結果呢?

  抽樣實驗一下,剛才例題中有灰色的老鼠跟白色的瓶子的卡片要怎麼做出來呢?可以在步驟一選灰色老鼠,步驟二選瓶子,步驟三選白色來完成。用同樣的概念,所有可能的組合都可以被這樣生產出來。

  再來就是確定不同的選擇可以得到不一樣的結果,讓我們的生產出來的組合都不會重複。如果在步驟一做了不一樣的選擇,答案就會不一樣,因此會產生不一樣的結果。繼續往下想,同樣的步驟一之後,不一樣的步驟二會造成正解以外的物品不同。同樣的步驟一、二之後,不一樣的步驟三會造成正解以外的物品顏色不同。然後步驟四並沒有選擇的空間。檢查完畢!

  因此,在這條加工線上,我們在第一個步驟有5種可能性(5個不同的正解可以選擇),在第二個步驟有4種可能性(把正解除掉後,剩下4個物品可以當顏色錯誤的物品),第三個步驟剩下3個可能性(選擇的顏色不能是正解的物品顏色,也不能是步驟二物品的顏色,剩3種顏色可選)。所有可能的組合數目就是5x4x3=60種。 

  這時候偷偷的把遊戲中的60張卡片拿出來統計一下,總共只有20張是滿足規則一的,到底是什麼可能性沒有用到呢?分類一下,五個物品為答案的各自有4張,分配的相當平均。


   在照片中我們把所有答案是老鼠的卡片與答案是瓶子的卡片拿出來,可以觀察到以下的特性,顏色錯誤的物品完全不重複(即使在沒有拍出來的剩下三組也是),也就是說,在以上我們的加工線步驟二,所有的可能性都出現了。但是,不是所有顏色錯誤的可能性都出現了。每個除了正解以外的物品都只用了一個錯誤的顏色。因此步驟三雖然有3個可能性,但是在這裡卻只用了其中一個。整體的卡片數量因此變成5x4x1=20張。
  
  另外可以注意到一個與卡片數量無關的觀察,雖然顏色錯誤的物品都沒有重複,但是在設計卡片時,並沒有努力讓錯誤的顏色也同樣的平均。在老鼠的例子中,四張卡片很平均的用了全部四種的錯誤顏色,畫面看起來相當的協調。但是在瓶子的例子就不是這麼回事了,好像是設計好的一樣,除了沙發沒辦法選紅色以外,剩下的錯誤顏色都選擇了紅色,這幾張整體看起來就變成相當搶眼的紅綠配色。對於我這種凡事喜歡對稱性的強迫性個性來說,還是希望他的配色也能把握顏色平均的原則啊!

  搞定規則一以後,再來我們可以進階一下,處理規則二:「如果照片上面的物品顏色全部都是錯誤的,則答案是照片上沒有出現物品也沒有出現顏色的那樣東西。」

  同樣的,我們需要設計一個能夠流水線作業的流程來幫我們生產符合規則的卡片。直覺上,我們的第一步應該還是先決定解答。

步驟一:從五個東西裡面選一個當做這張照片的答案(像是白色的鬼), 這個物品與顏色都不會出現在卡片中。

  然後,嘗試用之前選取東西再決定顏色的方式來加工看看。

步驟二:從正解以外剩下的物品中選一個會出現在卡片上(承上,像是沙發),等一下把他的顏色弄壞。

步驟三:把步驟二選取的物品顏色弄壞,決定它的顏色(承上,綠色)。

  同樣的招式再弄一次,把剩下一個東西做出來。

步驟四:從步驟一二三以外剩下的物品中選一個會出現在卡片上(承上,書),等一下把他的顏色弄壞。

步驟五:把步驟四選取的物品顏色弄壞,決定它的顏色(承上,灰色)

步驟六:把以上的東西組合在一起,完工!(可以得到綠色沙發與灰色的書) 

  總覺得步驟好像一口氣比之前多了好多,不過如果做法和之前一樣的話好像也不太糟。在繼續下去之前,同樣的,我們要先確定兩件事情:是不是全部可能的組合都可以用這條生產線生產出來呢?如果我在不同的步驟做了不一樣的選擇,是不是一定可以得到不一樣的結果呢?第一個問題比較簡單,所有的答案都可以反過來找到步驟來生產它。但是對於第二個問題,這次會有有趣的結果。

  同樣要生產出上述有綠色沙發與灰色書的組合,除了以上的辦法以外,還有另外一個方法:在步驟二選擇書,步驟三選擇灰色,步驟四選擇沙發,步驟五選擇綠色,我們會得到一模一樣的組合。畢竟從卡片上看不出來是沙發還是書先被生產出來的。

  怎麼辦?和之前所有組合都只有一種生產方式的狀況來比,如果用同樣一招,我們就會重複計算到同樣的卡片了。看來,只好砍掉重練,找尋一個可以完美把所有東西都生產一次的方法。

  或者,改變想法,照樣把卡片全部印出來。每種卡片上的兩個錯誤的物品,都有機會在步驟二被選出來,因此每一種組合都會被重複印兩次。再來,就開始壓搾勞工,找人把印出來的牌同樣的分開,這樣我們就會得到兩組我們要的牌了。這次的加工線上,我們在第一個步驟有5種可能性(5個不同的正解可以選擇),在第二個步驟有4種可能性(把正解除掉後,剩下4個物品可以當顏色錯誤的物品),第三個步驟剩下3個可能性(選擇的顏色不能是正解的物品顏色,也不能是步驟二物品的顏色,剩3種顏色可以選),在第四個步驟剩2的物品可以選(不是正解,也不是第二第三步驟相關的物品),最後第五步驟就只剩下1種顏色可以選。總共會因此印出5x4x3x2x1=120張牌。但是這是兩副各自不會重複的牌,因此除以2之後,滿足規則二的牌總共有60張,和規則一的所有可能性數目一樣。


  再把遊戲的卡片拿出來分析一下 ,總共有40張卡片是符合規則二的。但這次就更沒有對稱性了,雖然仍然如平均一樣,某個答案各自有八張牌。但是就少了進一步的規則,左邊是所有八張以老鼠為答案的卡片。上面四張比較有趣,發現鬼和書、鬼和瓶子交換顏色的規律。但是統計各種物品出現的次數,鬼出現了5次,瓶子和書出現了4次,沙發出現了3次,不太平均。顏色也會有類似的狀況。以對稱性而言,會希望左下的牌換成綠沙發和白色書,右下的牌換成白沙發和藍瓶子,這樣就可以得到漂亮的對稱性與規則了。(謎之聲:你是有多麼堅持對稱性啊!)

  在分析這些卡片分布時,也想到說不定可以出現第三種牌的規則:

隱‧規則三: 當一張牌上的兩樣物品顏色是錯誤時,把兩樣物品的顏色對換後如果會得到正確組合,則這個正確組合就是答案。例如:出現藍色的鬼和白色的瓶子,在交叉組合之後可以變出白色的鬼,因此正解為「鬼」。有興趣可以試著設計要用怎樣的步驟,才能夠量產所有滿足規則三的卡片呢?總共又有多少張呢?

  後話:文章寫完了以後又去比較了所有滿足規則二的卡片,雖然不是很對稱,看樣子出版商還是有給它們一定程度的規律的,有興趣的讀者可以自己歸納看看。