最近一款名為「Hex FRVR」的遊戲風靡網絡。《Hex FRVR》這個遊戲,本質上是俄羅斯方塊的六邊形版本。當然,方塊並不是往下掉落,而是需要你移動一些四聯六邊形圖案,放到遊戲的棋盤上,如果棋盤的某一排被填滿了,這一排就能被消掉……
看起來挺簡單?想玩好它可沒那麼容易。下面就是有關《Hex FRVR》你可能不知道的事實。
看起來遊戲中使用"六邊形網格"原理似乎是最近才開始的。但據我們所知,Agon,同時也叫女王衛隊(Queen's Guard),才是第一個應用六邊形網格的遊戲。
它最先是在18世紀的法國出現的,由於其簡單的規則和複雜的策略而廣受歡迎。感受一下它的規則:每一個玩家都有一個女王和6位騎士,由玩家自行決定由誰先開始,然後輪流進行。每一輪,一名玩家可以將手上棋子移動一步。誰先到達六邊形網格的最中點(在棋盤上最中心的皇冠),且需要保持女王在中間,外圍環繞六名騎士,即獲得勝利。
(可能是)最早的六邊形網格遊戲Agon。
「六貫棋」,以及約翰·納什的「策略盜取」問題「六貫棋」(Hex)是由丹麥數學家皮埃特·海恩(Piet Hein)在1942第一次發明的。
六貫棋有一個正六邊形組成的棋盤,構成了四條邊,相對的兩邊填上同一個顏色。雙方輪流下,每次一方佔領一處空白格,然後放上自己顏色的棋子。最先將棋盤屬於自己的顏色的兩邊連成一線的一方為勝。
六貫棋沒有平局,它總有獲勝的一方。
而約翰·納什在1947重新獨立發明了這個遊戲。他證明了先手玩家可以通過「策略盜取」的原則來保證自己「必定勝利」:因為先手玩家總是比後手玩家先下一個子。
我們假設後手玩家有一個「後手必勝策略」的話,先手玩家只需要從第二個子開始照葫蘆畫瓢就行了。也就是說,拋開第一個子,先手玩家能夠把自己變成「後手玩家」,執行那個「後手必勝」策略。然而很明顯,這是矛盾的。
所以結論是,如果沒有其他規則幹預的話,那麼六貫棋一定存在一個「先手必勝」策略。
六貫棋的棋盤,這裡紅方獲勝。
為什麼Hex Frvr不做成像俄羅斯方塊那樣,從上往下掉的模式?
你沒法在二維平面上把一個六邊形塞進一樣大小的六邊形網格裡。方形的俄羅斯方塊當然可以,但比如說吧,在下面這個遊戲裡,不同形狀的小塊並不能像真正的俄羅斯方塊那樣「掉進去」——某個方向可以,但其他方向就不行了。六邊形的「俄羅斯方塊」沒法這麼幹。
不過如果你實在想要這種感覺,你可以在設計遊戲的時候把六邊形小塊變得小一點。另一個解決方案是讓六邊形的邊緣有「彈性」。你可以想像它們是果凍做成的,然後「吧唧」一下擠進網格裡。
實際上,這些 六邊形俄羅斯方塊是沒法「往下掉」的。
「橫」,還是「豎」?這不僅僅是審美問題
想像我們做一個六邊形平面鑲嵌的遊戲。我該如何控制單位在六邊形的網格裡移動?這分兩種情況:
「橫著」(上下是六邊形的兩個角)的話,鍵盤的方向鍵布局將是「WEDXZA」,類似於WASD的移動方式。不過,如果是「豎著」(六邊形的上下是兩條邊)的話,「QWEASD」也未嘗不可。
橫格更適合3D /等角透視,最下面一排離你「最近」,而上面一排離你「最遠」。在這種布局中,比較高的「精靈」(遊戲設計裡,「精靈」是一個可移動的部件)不會掩蓋它背後六邊形的中心,而是蓋住了兩個六邊形的邊緣。這種排列更適合於上下縱深的視圖。
如果你選擇「豎」的排列,那麼一個六邊形和它「身後」的六邊形在一條直線上。
對於一個n×n的網格,在顯示的時候最好是「橫向」的——這是因為我們用的顯示器,是「橫著」的。換句話說,橫著更適合寬屏的視圖,能夠體現更平衡的行列比例。
左邊是橫著排的六邊形網格,右邊則是豎著的。你可以這麼看:左邊六邊形的中心可以連成水平的直線,右邊則是豎直的。
六邊形網格和「磚牆網格」
當你研究博弈算法,或者機械工程時,畫一些六邊形網格倒沒什麼。不過在紙上畫好多六邊形就不太爽了。當然,你可以列印出一些六邊形網格的圖像,不過當你靈光一現的時候,你也許需要快速地在紙上畫一些六邊形網格。
在這方面,矩形網格能夠幫你做到,具體點說,是類似「磚牆」的那種網格(實際上,梯形也可以,不過也比較難以繪製。)你能很容易很迅速地繪製它,而且磚牆網格依舊能夠捕捉到六邊形網格裡所有的拓撲信息:每塊磚有六個「鄰居」,連接規則是相同的。
如果你想設計一個六邊形網格的遊戲,那麼磚牆網格應該挺適合草稿階段:一塊磚的周圍就有六個磚。
六邊形網格的原理與設計
這意味著,在任何一個三角形網格的「頂點」,而非「面」上進行的遊戲,實際上是在六邊形網格的「臉」上玩的。這個事實對遊戲設計和算法設計都很有用。比如你玩跳棋的時候,邏輯上你不是在三角形網格上玩,而是六邊形網格——想像一顆在棋盤中間的棋子,理論上每一步它可以有六種選擇。
實際上你也可以反過來利用上面這一點:你可以對六邊形賦予三種顏色,兩種分別是三角形的顏色,第三種則是花色的,組成三角形的頂點。
如果你以前不太了解三角網格,你可能不會立刻意識到這在數學上簡化了多少。三角網格一般比較「笨拙」,不太容易進行矢量運算來回答簡單的幾何問題。你很難計算「偏移」的運動矢量,因為坐標的換算將會很複雜。不過六角形網格和矩形網格就不一樣了。
組成三角形網格的六邊形有三種顏色:藍色、黃色和花色。
拼接同一個圖案,三角形拼圖比六邊形更好用
許多拼圖遊戲是這麼設計的:使小拼圖的邊緣能夠相互匹配,從而拼出更大的形狀。
看了上面那條你應該能理解了:如果用六邊形的話,你需要更多的小拼圖。解決這一問題的一個方法是把拼圖塊從六邊形改變為三角形,這可以大大減少所需的拼圖數量。這種設計在電腦遊戲裡特別有用,而且玩家只會看到「拼出」的形狀,完全看不到那些小三角形。
三角形拼圖組成的棋盤。
在正常歐幾裡得向量空間裡,一個平行四邊形(x1,y1),(x2,y2)的面積是| x1y2 - x2y1 |
因此,如果所有的坐標都是整數,那麼面積則一定是某個整數。假設一個平行四邊形在一個正方形網格裡,四個頂點位於四個正方形的中心(並將這些中心的坐標定義為整數)——你可以把整體想像成一個在直角坐標系裡的平行四邊形。如果對邊平行著移動,這時平行四邊形的面積是不會改變的。所以如果我們把整個正方形網格變成磚形網格——如果你還記得前面的內容的話——這在拓撲上其實是相當於一個六邊形網格的。此時平行四邊形僅僅是對邊平行著移動了,所以面積也不變。因此,面積還是整數。
也就是說,平行四邊形的面積能換算成「多少個六邊形」。
如果你把六邊形網格裡基本六邊形的中心連成一個平行四邊形,它的面積總是等於若干個基本六邊形。
你一定見過這個遊戲,在給定的網格裡填上數字,讓橫豎斜線上排列的數字之和相同——賦予數字魔力吧!不過,如果忽略翻轉和鏡像的話,「魔力六邊形」是唯一的(只由一個六邊形組成的「網格」不算!)。
不過這裡指的是「正常」狀態:矩陣裡的數字是從1開始的連續數列。不過如果你不在意這麼嚴格的規定而從任一數字開始的話,倒是有更多的可能性。
每一排的數字加起來都等於38,這就是魔力六邊形。
你可能聽說過「給一張地圖塗色,相鄰的格子不能是同一種顏色,求最少需要幾種顏色」這類問題。對於六邊格圖形,只有兩種顏色的時候你是沒法做到的。但是,任何更多數量的顏色類型則都能辦到。三色圖案常用於六邊西洋棋,不過裡面的「象」多了一個。西洋棋裡,「象」只能斜著走,也就是需要始終保持在相同顏色的格子裡。而這種六邊西洋棋的棋盤,有三種顏色,這裡的「象」依舊只能在同一種顏色的格子裡走。
你需要最少三種顏色對六邊形網格進行塗色。
平面鑲嵌是指同一形狀的多邊形,重複排列可以形成一個完整的平面。除去正六邊形和展長六邊形,凸六邊形鑲嵌圖案只有三種,條件是這樣的:
角A + 角B + 角C = 360度, a = d
角A + 角B + 角D = 360度, a = d, c = e
角A = 角C = 角D = 120度, a = b, c = d, e = f
如果是五邊形的話,目前還沒人能找出所有的五邊形平面鑲嵌圖案。我們知道的至少有14種,但很可能還有更多的類型。
三種六邊形鑲嵌圖案。
實際上,有兩種。一種是封閉的,只有短邊凸出來,是六邊形的角。而另一種則是六邊形的對邊連接而成。它們可以搭配正常的長方形樂高一起使用。
這些奇異的六邊形積木給有趣的設計提供了想像的空間。這兩種類型的積木是這樣的:
兩種六邊形樂高積木,它們能產生不同的效果。
是的,不只是蜜蜂使用六邊形造房子。
這個房子被稱為「女王B」,這種設計是用來保護人類免受火星的天氣和輻射影響的。建設的功能列表挺齊備:它有一個全功能的廚房,2間浴室,2間臥室,還有花園,三維列印實驗室,休息室,洗衣房,和減壓室/泥房作為標準功能。基本一應俱全。
它還有保溫結實的屋頂,可以抵擋風暴和碎石的襲擊。外面有可更換鈾板,使房屋內的輻射水平保持安全。「女王」的六邊形外觀極富美感,這將對尋找有意願的候選人和之後的任務有點幫助。
最後一點和遊戲特別相關:六邊形大樓更容易在旁邊增加升級建築。
火星建築「女王B」的示意圖。是挺像一個蜂窩的。
「球形」不能全由六邊形組成
另一個事實是,如果想用六邊形組成最接近球形的形狀,你同時需要使用12個五邊形。
有許多不同的方式用六邊形和五邊形組成球形,想想足球你就明白了。而化學家也通過這些形狀和組合研究富勒烯的結構。
不過水杯狀,圓環狀甚至莫比烏斯帶等形狀都可以完全由六邊形組成,有時候,你也能把一個圓環或圓筒做的看起來像一個球形。
全由六邊形組成的圓環。
立方體在二維平面的等距投影是個六邊形。把這個六邊形分成為三個平行四邊形,並且使用合適的陰影的話,它們組成的圖案看起來能產生立體的效果。如果我們把四邊形作為網格的元件,那麼它其實是個菱形網格。而菱形網格也可作為六邊形網格的基礎。
你能在許多遊戲中見到它。「Q*bert」是第一個運用這種技巧的遊戲,在當時(1982年)創造出了不同尋常的3D效果,被人們廣為讚譽。(編輯:Jerrusalem)
眼花了嗎?頭暈了嗎?看到3D了嗎?這都是正六邊形產生的效果。
本文轉載自果殼網 【你真的會玩《Hex FRVR》嗎?】