我發明了鴨子象棋
簡而言之
- 鴨子象棋就是中國象棋加上一隻誰都不擁有的鴨子:走一著,然後把鴨子放到任一空點上。現已在 Mistboard 上線,可對戰八個引擎等級或朋友。
- 在象棋裡,凡是棋子能阻擋的,鴨子都能擋:車的線路、馬腿、象眼、兩將之間的直線。它還會替下一手動的炮當炮架。
- 鴨子棋沒有將軍的概念,所以白臉將的規則也一併取消。把兩個將單獨放在同一條直線上,88 個鴨子落點中有 80 個當場落敗。
- 目前還沒有任何理論。研究中的七局引擎對局就是現存的全部棋譜。
棋盤上有一隻橡皮鴨。沒人擁有它,沒人能吃掉它,而它每一回合都必須移動。
你在自己回合結束時放下它,也就是說,下一個走棋的人是你的對手。所以你築起的每一道牆,他們都先有機會繞過去。而在中國象棋盤上,炮要隔著剛好一個子才能吃,所以你築起的每一道牆,同時也是你剛裝好彈、隔著桌子遞過去的一門炮。
這是什麼
鴨子象棋就是加了一隻鴨子的中國象棋,就我所能查到的,在此之前沒有人把鴨子放到象棋盤上。你先走一著普通的象棋著法,然後把鴨子放到任一空點上。兩個部分合起來是一回合,兩者都不可省略。現已上線可玩,可對戰八個引擎等級或朋友。
鴨子源自鴨子棋,由 Tim Paulden 於 2016 年發明,Chess.com 在 2022 年 10 月將它正式化。Jim Aikin 的八石棋(Eight-Stone Chess)早在 1999 年就把可移動的中立石頭放上西洋棋盤,那才是鴨子真正的祖先,但它留在西洋棋這一邊。
實際感受如何
每一回合你先走一著,然後決定把鴨子放在哪,而鴨子那一半幾乎總是關於對手:要封哪條線、要凍住哪隻馬、要讓什麼變得別彆扭。所以每回合有一半花在破壞而不是建設上。感覺像是永遠在走自己的第二好著。
這是一個普通的局面,來自第一局引擎對局的第十八著。鴨子在 h6,擋著某樣東西。
馬與炮
西洋棋只有一種阻擋棋子的方式:站在線路上。象棋有五種。站在線路上可以攔住車。站在馬旁邊就是蹩馬腿。站在象走的對角線中點就是塞象眼。站在炮與目標之間就是炮隔著吃子所需的炮架。站在兩將之間就擋住了它們互相照面的那條線。鴨子五種全做得到,因為它佔住一個點,而象棋問的從來只有這個問題。規則頁面在棋盤上逐一示範。
五種當中有兩種值得在這裡擺一盤棋。馬就是讓鴨子在象棋裡比在西洋棋裡更強的那一個。
西洋棋的騎士沒有路徑,所以沒有可站的點,鴨子碰不到它。象棋的馬有馬腿,馬腿是一個實在的點,而站在那裡的鴨子從一個馬根本不會走到的位置把馬凍住。這只維持剛好一個回合。鴨子必須再移動,而你不會總有更好的地方放它。
炮就是本文開頭提到的那一個。
我本來也可以反過來設計。鴨子不是子力,所以嚴格說它也不是彈藥,那個版本會是一個更安靜、純防守的遊戲。它之所以能當炮架,是因為一條詢問某個點是否被佔住的規則,不論站在那裡的是什麼,都該得到同樣的答案。
兩將可以照面
象棋禁止兩將站在同一條無阻隔的直線上。西洋棋棋手從王那裡認得同樣的形狀,兩王永遠不能相鄰:這不是需要查閱的規則,而是一個根本不會出現在棋盤上的局面。象棋裡兩將照面的局面看起來就是不對。它讀起來像軟體的錯誤,而不是棋手的失誤。
但看看這條規則在做什麼。兩將沿著無阻隔的直線互相攻擊,所以讓它們照面等於自己送將,而自己送將是象棋本來就禁止的事。白臉將不是一條獨立的規則。它只是將軍規則的另一種說法。
鴨子棋完全沒有將軍。你可以讓自己的王被攻擊、把它走到被攻擊的格子上,敗局是因為它被吃掉,而不是因為被將死。把將軍拿掉,白臉將就沒有東西可以重述了,於是它也一併消失。這正是鴨子棋對王所做的事:兩王可以相鄰,而王能吃王。
舊規則的代價很高,而棋盤上沒有任何東西會告訴你。把兩個將單獨放在同一條直線上:88 個空點中,剛好有 8 個能把它們隔開,而這 8 個是雙方共用的那顆棋子唯一的合法落點。現在 88 個全都合法,其中 80 個當場落敗,這是你看得見的失誤,而不是你看不見的限制。
七局引擎對局中有兩局以這種方式結束。這是第六局。紅方的帥離開 d1,過了楚河漢界,橫越整個棋盤,在第 115 著吃掉黑方的將。
還沒有人知道這要怎麼下
沒有開局理論。沒有殘局技術。那份研究中的七局引擎對局就是現存的全部棋譜,而且是機器對機器,所以它們展示的是搜尋找到了什麼,而不是人會怎麼下。它們也都很長:最短 120 步,最長 229 步,中位數 150。
所以不論是誰摸索出好的鴨子落點是什麼樣子,都得從零開始摸索。這才是我想看到的部分。不是更多引擎對局,而是第一個能說出自己為什麼把它放在那裡的人。