新棋规则
22:36 2021/4/1
像棋1.0
- 1.1 对局在11×11的棋盘上进行,落子在交叉点上,对战双方称为黑方和白方。
- 1.2 有棋子32个,分黑白两组,每组16个,各有将×1,弩×2,骑×2,砲×2,校×2,侍×2,卒×5。
- 1.3 对局前,摆放棋子如下:
| A | B | C | D | E | F | G | H | I | J | K | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 11 | 砲 | 弩 | 骑 | 校 | 侍 | 将 | 侍 | 校 | 骑 | 弩 | 砲 |
| 10 | |||||||||||
| 9 | |||||||||||
| 8 | |||||||||||
| 7 | 卒 | 卒 | 卒 | 卒 | 卒 | ||||||
| 6 | |||||||||||
| 5 | 卒 | 卒 | 卒 | 卒 | 卒 | ||||||
| 4 | |||||||||||
| 3 | |||||||||||
| 2 | |||||||||||
| 1 | 砲 | 弩 | 骑 | 校 | 侍 | 将 | 侍 | 校 | 骑 | 弩 | 砲 |
- 2.1 对局时,白方先走,双方轮流走一着。走一着,指移动某棋子到其他交叉点,或吃掉对方棋子而占据其交叉点,或打入一枚棋子。
- 2.2 若无其他说明,各种棋子的移动不可越过棋子。
- 2.3 各种棋子走法。
- 将,纵横斜走一格。
- 侍,斜走一格。
- 校,斜走两格(若希望棋局激烈,可改为斜走任意格)。
- 骑,直走一格再斜走一格。
- 弩,直走任意格(若希望棋局和缓,可改为直走两格)。
- 砲,越过一个棋子,直走任意格。
- 卒,直走一格。
- 2.4 走一着棋时,若终点有对方棋子,则吃掉它并占据其位置。吃掉的棋子从棋盘上移除。
- 2.5 打入,指若吃掉的棋子有一对不同颜色的同名棋子,可以将此友方棋子放回棋盘任意未被占据的交叉点上。
- 3.1 将军,一方的棋子可以在下一着吃掉另一方的将。应将,指在下一着解除被将军的状态,被将军的一方必须立即应将。如果被将军而无法应将,就算被将死,游戏结束。
- 3.2 对局时一方出现下列情况之一,对方取胜:
- 将被对方将死。
平湖- 自己宣布认输。
- 将被对方将死。
- 3.3 出现下列情况之一,为和棋,判和棋后游戏结束:
- 双方均不可能取胜。
- 一方提议作和,另一方表示同意。
22:54 2021/4/5
考虑将两版新象棋合并为一个项目。
像棋2.0
- 1.1 对局在9×9的棋盘上进行,对战双方称为黑方和白方。
- 1.2 有棋子32个,分黑白两组,每组16个,各有将×1,弩×2,骑×2,校×2,侍×2,卒×5。
- 1.3 对局前,摆放棋子如下:
| A | B | C | D | E | F | G | H | I | |
|---|---|---|---|---|---|---|---|---|---|
| 9 | 弩 | 骑 | 校 | 侍 | 将 | 侍 | 校 | 骑 | 弩 |
| 8 | |||||||||
| 7 | |||||||||
| 6 | 卒 | 卒 | 卒 | 卒 | 卒 | ||||
| 5 | |||||||||
| 4 | 卒 | 卒 | 卒 | 卒 | 卒 | ||||
| 3 | |||||||||
| 2 | |||||||||
| 1 | 弩 | 骑 | 校 | 侍 | 将 | 侍 | 校 | 骑 | 弩 |
- 2.1 对局时,白方先走,双方轮流走一着。走一着,指移动某棋子到其他交叉点,或吃掉对方棋子而占据其交叉点,或打入一枚棋子。
- 2.2 各种棋子的移动不可越过棋子。
- 2.3 各种棋子走法。
- 将,直走或斜走一格。
- 侍,斜走一格。
- 校,斜走两格(若希望棋局激烈,可改为斜走任意格)。
- 骑,直走一格,斜走一格。
- 弩,直走两格(若希望棋局激烈,可改为直走任意格)。
- 卒,直走一格。
- 2.4 走一着棋时,若终点有对方棋子,则吃掉它并占据其位置。吃掉的棋子从棋盘上移除。
- 3.1 将军,一方的棋子可以在下一着吃掉另一方的将。应将,指在下一着解除被将军的状态,被将军的一方必须立即应将。如果被将军而无法应将,就算被将死,游戏结束。
- 3.2 对局时一方出现下列情况之一,对方取胜:
- 将被对方将死。
- 自己宣布认输。
- 3.3 出现下列情况之一,为和棋,判和棋后游戏结束:
- 双方均不可能取胜。
- 一方提议作和,另一方表示同意。
22:32 2021/4/8
长久以来,我把这个棋当作是我的黑历史:它的第一版没有经过精细的考虑,只是简单地引入将棋“打入”;它的第二版将规则大大精炼了,却成了波斯古象棋的简单重复。既没有趣味性、又没有创意,这种棋如何说得上好设计呢?在我重新审视行子、落子与吃子的关系时,我意识到可以将他们有机地结合起来,建立一个最完整的框架,使打入成为它顺理成章的一部分。目前的设计还很粗陋,但慢慢改进,我希望最终会比较平衡,同时保持一种原型机式的简洁。
先提炼出最基本的部分,如下:
像棋3.0
- 1.1 对局在9×9的格点上进行,相邻格点距离为1,对战双方称为黑方和白方。
- 1.2 格点的类型数目为,黑将×1,黑校×2,黑骑×2,黑砲×2,黑弩×2,黑卒×5,白将×1,白校×2,白骑×2,白砲×2,白弩×2,白卒×5,点×53。
- 1.3 格点的初始布局为,白车A9I9,白骑B9H9,白校C9G9,白侍D9F9,白将E9,白砲B8H8,白弩D8H8,白卒A7C7E7G7I7,黑车A1I1,黑骑B1H1,黑校C1G1,黑侍D1F1,黑将E1,黑砲B2H2,黑弩D2H2,黑卒A3C3E3G3I3,
- 2.1 对局时,双方轮流进行使对方不面临同形局面的行动,白方先行。
- 2.2 行动分几个步骤。(a)吃子。(b)走子。©落子。
- 2.3 吃子,即指定一个友方棋子,消灭其附近的一枚敌方棋子。若不吃子则跳到下一步骤。
- 将,消灭横/纵坐标差1或横纵坐标均差1的敌方棋子。
- 卒,消灭横纵坐标均差1的敌方棋子。
- 侍,消灭横/纵坐标差1的敌方棋子。
- 校,消灭横纵坐标均差1的敌方棋子。
- 骑,消灭横纵坐标均差1的敌方棋子。
- 弩,消灭横/纵坐标差n的敌方棋子,当且仅当两棋子连线上没有其他棋子。
- 砲,消灭横/纵坐标差n的敌方棋子,当且仅当两棋子连线上有一个其他棋子。
- 车,消灭横纵坐标均差1的敌方棋子。
- 2.4 走子,即将一个友方棋子由原格点移动到空格点,路径上不得有其他棋子。
- 将,直走1个单位或斜走一个单位。
- 卒,直走1个单位。
- 侍,斜走1个单位。
- 校,斜走任意单位。
- 骑,直走1个单位再斜走1个单位。
- 弩,若吃子,将弩移动到敌方棋子处。否则直走一个单位。
- 砲,若吃子,将砲移动到敌方棋子处。否则直走任意单位。
- 车,直走任意单位。
- 2.5 落子,即将一个被消灭的敌方棋子置放在任意空格点中,并将其改为友方棋子。
- 2.6 行动的几个步骤应指定同一个棋子,落子后回合结束。
- 3.1 当某方消灭敌方的将后,游戏结束。
- 3.2 对局结束后,若白将存活,白方胜。若黑将存活,黑方胜。若都存活,为和局。
现棋盘如下:
| A | B | C | D | E | F | G | H | I | |
|---|---|---|---|---|---|---|---|---|---|
| 9 | 车 | 骑 | 校 | 侍 | 将 | 侍 | 校 | 骑 | 车 |
| 8 | 砲 | 弩 | 弩 | 砲 | |||||
| 7 | 卒 | 卒 | 卒 | 卒 | 卒 | ||||
| 6 | |||||||||
| 5 | |||||||||
| 4 | |||||||||
| 3 | 卒 | 卒 | 卒 | 卒 | 卒 | ||||
| 2 | 砲 | 弩 | 弩 | 砲 | |||||
| 1 | 车 | 骑 | 校 | 侍 | 将 | 侍 | 校 | 骑 | 车 |
21:07 2021/4/9
考虑到侍与卒的设计同质化严重,考虑改变侍的定位。
尽管卒只有五个,但增加了两个棋子,导致无法形成开放线,是不是有待商榷呢?
- 卒,吃子,横吃或斜吃。走子,若横吃,则斜走,否则直走。
- 侍,吃子,不能吃子或被吃。走子,直走或斜走任意格。
如何呢?
21:07 2021/4/9
和虎鲸测了半盘。有问题的不是侍而是校。这个游戏有很明显的防守优势,而校的位置不容易出来,本身控制范围也有盲区,就强度来说是比较弱的一档。而它和侍的角色差不多,把校去掉将会给我设计新棋子的空间。那么,新棋子要有什么特点呢。是七国象棋的“行人”还是永恒象棋的“士”呢。首先得明确一点,它不能比原来的校还弱。那么其实“行人”就难以满足要求了。“士”呢,有一个缺点,没有棋子相邻时是不能走的,我以为并不合理。那么,将“校”改为“贲”,效果是距离最近的友方棋子的复制。
另外,关于马,由于面对直吃棋子的威胁时马既不能反杀又会被别马脚,而直吃的棋子偏偏占大多数,加上棋子密度很大,使得马的强度没有达到我的预期,考虑将吃子方式改为直吃来平衡一下。另外回归中象布局,兵和砲那两行往中间挪一格,防止骑被自家人卡死。
现规则如下:
像棋3.1
- 1.1 对局在9×9的格点上进行,相邻格点距离为1,对战双方称为黑方和白方。
- 1.2 格点的类型数目为,黑将×1,黑校×2,黑骑×2,黑砲×2,黑弩×2,黑卒×5,白将×1,白贲×2,白骑×2,白砲×2,白弩×2,白卒×5,点×53。
- 1.3 格点的初始布局为,白车A9I9,白骑B9H9,白校C9G9,白侍D9F9,白将E9,白砲B7H7,白弩D7H7,白卒A6C6E6G6I6,黑车A1I1,黑骑B1H1,黑贲C1G1,黑侍D1F1,黑将E1,黑砲B3H3,黑弩D3H3,黑卒A4C4E4G4I4,
- 2.1 对局时,双方轮流进行使对方不面临同形局面的行动,白方先行。
- 2.2 行动分几个步骤:⑴吃子;⑵走子;⑶落子。
- 2.3 吃子,即指定一个友方棋子,消灭其附近的一枚敌方棋子。若不吃子则跳到下一步骤。
- 将,消灭横/纵坐标差1或横纵坐标均差1的敌方棋子。
- 卒,消灭横纵坐标均差1的敌方棋子。
- 侍,消灭横/纵坐标差1的敌方棋子。
- 贲,吃子方式同距离最近的友方棋子。
- 骑,消灭横纵坐标均差1的敌方棋子。
- 弩,消灭横/纵坐标差n的敌方棋子,当且仅当两棋子连线上没有其他棋子。
- 砲,消灭横/纵坐标差n的敌方棋子,当且仅当两棋子连线上有一个其他棋子。
- 车,消灭横纵坐标均差1的敌方棋子。
- 2.4 走子,即将一个友方棋子由原格点移动到空格点,路径上不得有其他棋子。若不能走子则跳到下一步骤。
- 将,直走1个单位或斜走一个单位。
- 卒,直走1个单位。
- 侍,斜走1个单位。
- 贲,走子方式同距离最近的友方棋子。
- 骑,直走1个单位再斜走1个单位。
- 弩,若吃子,将弩移动到敌方棋子处。否则直走一个单位。
- 砲,若吃子,将砲移动到敌方棋子处。否则直走任意单位。
- 车,直走任意单位。
- 2.5 落子,即将一个被消灭的敌方棋子置放在任意空格点中,并将其改为友方棋子。
- 2.6 行动的几个步骤应指定同一个棋子,落子后回合结束。
- 3.1 当某方消灭敌方的将后,游戏结束。
- 3.2 对局结束后,若白将存活,白方胜。若黑将存活,黑方胜。若都存活,为和局。
2023-09-02 08:30:43
由于龙的新设计可以一步移动到任何友方棋子附近,故而三角形的初始布局其实已无太大必要。至于兵线位置,有中象的开放线设计,稍稍靠后一点也无妨。另外,我去掉了比较无聊的士,位置空出来放隹(砲),正好不会一步吃子了。其他方面,取消了九宫和河界。有人可能会有疑虑,这样会不会太难将死,我认为在棋子整体强度变高,且每回合都能免费替子(类似打入与升变的结合)的背景下,应该不至于有太高的和棋率。不过,原先豫棋的设计有一个问题,龙失去了最重要的地位,这可能会让习惯杀王棋模式的玩家不习惯,原来“龙离开棋盘其他棋子不能动”的设计则太刻意了,替子改为免费后倒是有了个挺好的表述。
总之,我尝试回归到比较传统的布局上来,作为像棋系列的最新设计。
像棋4.0
- 1.1 对局在9×9的格点上进行,相邻格点距离为1,对战双方称为黑方和白方。
- 1.2 格点的初始布局为:
| A | B | C | D | E | F | G | H | I | |
|---|---|---|---|---|---|---|---|---|---|
| 9 | 兕 | 马 | 象 | 隹 | 龙 | 隹 | 象 | 马 | 兕 |
| 8 | 鱼 | 鱼 | 鱼 | 鱼 | 鱼 | ||||
| 7 | |||||||||
| 6 | |||||||||
| 5 | |||||||||
| 4 | |||||||||
| 3 | |||||||||
| 2 | 鱼 | 鱼 | 鱼 | 鱼 | 鱼 | ||||
| 1 | 兕 | 马 | 象 | 隹 | 龙 | 隹 | 象 | 马 | 兕 |
- 2.1 对局时,双方轮流进行使对方不面临同形局面的行动,白方先行。
- 2.2 每回合可以进行二种行动,走子与替子。
- 2.3 棋子走法如下:
- 龙,走到任意友方棋子相邻格。
- 隹,越过一个棋子,直走或斜走任意格(必须越子)。
- 象,斜走任意格。
- 兕,直走任意格。
- 马,直走一格,斜走一格;可走任意次。
- 鱼,直走或斜走一格;不能走到棋子上;走子后,将一附近敌子送入墓地。附近指走子前后都能走到(或表述为:走子前后均在直、斜一格以内)。
- 2.4 当棋子走到敌方棋子位置上时,将该棋子送入墓地并结束回合;当棋子走到友方棋子位置上时,撤销这一步并结束回合(这意味着走子路径上一般不得有其他棋子)。
- 2.5 替子,指将一枚棋盘上的友方棋子(活子)与墓地中的友方棋子(死子)交换。
- 2.6 可以放弃当回合的行动。
- 2.7 禁止再现本局对战中出现过的局面。
- 3.1 当某方回合结束时棋盘上没有龙,游戏结束;该方判负,另一方获胜。
- 3.2 若双方都无法吃掉所有敌方棋子,为和局。
给棋子改个名,加入生肖的风味:
- 龙,龙/虎
- 隹,鸡/猴
- 象,猪/狗
- 兕,牛/羊
- 马,蛇/马
- 鱼,鼠/兔
16:37 2021/5/13
我有了全新的想法,与之相比之前的设计太累赘了。
豫棋1.0
- 1.1 对局在9×9的格点上进行,相邻格点距离为1,对战双方称为黑方和白方。
- 1.2 格点的初始布局为:
| A | B | C | D | E | F | G | H | I | |
|---|---|---|---|---|---|---|---|---|---|
| 9 | 豸 | 鹿 | 能 | 禺 | 虎 | ||||
| 8 | 豸 | 牛 | 鸟 | 禺 | |||||
| 7 | 豸 | 牛 | 能 | ||||||
| 6 | 豸 | 鹿 | |||||||
| 5 | 鱼 | 豸 | |||||||
| 4 | 马 | 鱼 | |||||||
| 3 | 象 | 兕 | 鱼 | ||||||
| 2 | 龟 | 隹 | 兕 | 鱼 | |||||
| 1 | 龙 | 龟 | 象 | 马 | 鱼 |
-
2.1 对局时,双方轮流进行使对方不面临同形局面的行动,白方先行。
-
2.2 每回合可以进行二种行动,走子与升变。
-
2.3 棋子走法如下:
- 龙/虎,直走或斜走,直到被挡住或吃子(不能停)。
- 龟/禺,和相邻棋子走法一样(没有相邻棋子不能走)。(或者:斜走一格)
- 隹/鸟,越过一个棋子,直走任意格(必须越子)。(或者:可越过多个棋子)
- 象/能,斜走任意格。
- 兕/牛,直走任意格。
- 马/鹿,直走一格,斜走一格(可先斜走再直走)。
- 鱼/豸,直走一格。
-
2.4 当棋子走到敌方棋子位置上时,吃掉该棋子并结束回合(这意味着走子路径上一般不得有其他棋子)。
-
2.5 棋子升变,指将一枚棋盘内的友方棋子(活子)与棋盘外的友方棋子(死子)交换。
-
2.6 每回合至多走子一次,升变一次(即可以放弃走子,升变,或放弃行动)。
-
3.1 当某方吃掉所有敌方棋子后,游戏结束(此时对手只能行虚着,等价于两虚终局)。
-
3.2 率先吃掉所有敌方棋子的一方胜,另一方败。若双方都无法吃掉所有敌方棋子,为和局。另外,一方认输判负,另一方胜。(等价于两虚终局者负)
20:37 2021/5/21
更新:不再区分黑方白方的棋子名称,统一为(龙,龟,隹,象,兕,马,鱼)。
龟的走法确定为,进入墓地或从墓地打入棋盘任意位置。
隹的走法确定为,必须越过棋子(一个或多个)。
10:07 2021/5/22
龟破坏了游戏平衡,使得游戏无法结束,即使棋子本身设计得很棒,灵龟通阴阳嘛,但还是得忍痛舍弃它。
考虑改成鹿,可以走到任意空点(不能吃子)。
隹能越多子,使得开局两步就能换掉龙,这恐怕不太合理。但越一子又太弱,怎么办呢。另外有一点,必须越子使得隹有可能动弹不得,这是应该避免的。
传统的炮该怎么描述呢?
豫棋1.1
- 1.1 对局在9×9的格点上进行,相邻格点距离为1,对战双方称为黑方和白方。
- 1.2 格点的初始布局为:
| A | B | C | D | E | F | G | H | I | |
|---|---|---|---|---|---|---|---|---|---|
| 9 | 鱼 | 马 | 象 | 龟 | 龙 | ||||
| 8 | 鱼 | 兕 | 隹 | 龟 | |||||
| 7 | 鱼 | 兕 | 象 | ||||||
| 6 | 鱼 | 马 | |||||||
| 5 | 鱼 | 鱼 | |||||||
| 4 | 马 | 鱼 | |||||||
| 3 | 象 | 兕 | 鱼 | ||||||
| 2 | 龟 | 隹 | 兕 | 鱼 | |||||
| 1 | 龙 | 龟 | 象 | 马 | 鱼 |
- 2.1 对局时,双方轮流进行使对方不面临同形局面的行动,白方先行。
- 2.2 每回合可以进行二种行动,走子与替子。
- 2.3 棋子走法如下:
- 龙,直走或斜走任意格。
- 龟,(在棋盘上时)离开棋盘,(离开棋盘时)回到棋盘上任意空点。
- 隹,越过一个及以上棋子,直走任意格(必须越子)。
- 象,斜走任意格。
- 兕,直走任意格。
- 马,直走一格,斜走一格,可走任意次。(或斜走一格,然后直走任意格)
- 鱼,直走一格。
- 2.4 当棋子走到敌方棋子位置上时,将该棋子送入墓地并结束回合;当棋子走到友方棋子位置上时,撤销这一步并结束回合(这意味着走子路径上一般不得有其他棋子)。
- 2.5 替子,指将一枚棋盘上的友方棋子(活子)与墓地中的友方棋子(死子)交换。
- 2.6 可以放弃当回合的行动。
- 3.1 当某方吃掉所有敌方棋子后,游戏结束(此时对手只能行虚着,等价于两虚终局)。
- 3.2 率先吃掉所有敌方棋子的一方胜,另一方败。若双方都无法吃掉所有敌方棋子,为和局。若一方认输,该方判负,另一方胜。(等价于两虚终局者负)
9:07 2021/5/23
- 龙,走到任意友方棋子相邻格。龙不在棋盘上时友方棋子无法行动。
- 鸟,走到任意空格。鸟占据龟的位置。
- 龟,(在棋盘上时)离开棋盘,(离开棋盘时)回到棋盘上任意点。龟占据隹的位置。
14:07 2021/5/25
- 它,斜走任意格,然后退一格。它占据龟的位置。
终局条件改为,吃掉所有敌方棋子。
2023-08-21 23:27:17
这个棋的主要特点是:特别的初始布局;对打入规则的改写。
初始布局设计
我个人比较喜欢紧密地放在一起的初始布局,这样比较好记,不必像中象那样在棋盘上标注。但这有两个问题:其一是九个兵太多;其二是兵太难出。另有问题是,倘若取消九宫,那么要么像将棋那样花上二十步以上把将挪到角落,要么像国象那样额外添加“王车易位”的规则:两者均非我所喜。于是我灵光一闪,一开始就把棋子放在了角落,以上问题统统解决了。不过,在龙可以走到任意友方棋子相邻格的设计下,并没有必要采取此种布局。
打入规则改写
将棋的打入是一个经典设计,很多新棋都会借鉴。但如果要原样借入,势必需要双方棋子方向有别、颜色无别,和一般的象棋子形制不同。倘若加以改写,打入的是己方的死子呢?打入原本是个滚雪球的规则,强者愈强、弱者愈弱,解决了杀王棋平局太多的弊病。如果打入(复活)的是己方死子,那岂不是死的子越强越有利,反而是有利于弱势方的规则。这样对局势必要拉长,长期僵持,能不能减少平局就要打个问号了。因此需要提高复活所需要付出的代价,首先想到的便是拿俘子去交换,不过这会使台下的操作过于复杂,增加耍赖与争执。另一个想法就是拿棋盘上的棋子去换,我很快意识到这相当于原地升变。显然在这种情况下重要的是棋盘上子的数量,因此还是利好优势方,除非这条规则太弱⸺于是我提高了替子的频率,每回合都可以免费替一次。
在这个宗旨下,显然将被吃了也可以重新回到棋盘,于是游戏的终局条件自然地变成了吃掉棋盘上所有子。这会拉长游戏进程,如果弱势方只是一味地被杀,就没什么趣味了。幸好替子是替换友方棋子,这意味着棋子的位置是重要的,可以为了抢夺有利位置而送死,应该还是给后半段加入了一点策略要素。
棋子的设计上没有太多创见,只是尽量做到子子不同,像中象中“士-象”与“兵-车”、国象中“王后-主教-城堡”这样同质化的设计非我所愿。我得意的想法是龙,降临到友方棋子周围突出了它的机动性,颇有能升能隐的意趣,强度上也不至于太离谱。但有些棋子就设计得不好,甚至改的还没原版好,比如鸟和它。
我想还是要把中象“砲”的设计好好吸收,使棋盘如下:
| A | B | C | D | E | F | G | H | I | |
|---|---|---|---|---|---|---|---|---|---|
| 9 | 鱼 | 马 | 兕 | 隹 | 龙 | ||||
| 8 | 鱼 | 象 | 禺 | 隹 | |||||
| 7 | 鱼 | 象 | 兕 | ||||||
| 6 | 鱼 | 马 | |||||||
| 5 | 鱼 | 鱼 | |||||||
| 4 | 马 | 鱼 | |||||||
| 3 | 兕 | 象 | 鱼 | ||||||
| 2 | 隹 | 禺 | 象 | 鱼 | |||||
| 1 | 龙 | 隹 | 兕 | 马 | 鱼 |
取消“龙不在棋盘上时友方棋子无法行动”的规则。
- 隹,越过一个棋子,直走或斜走任意格。
- 鱼,直走或斜走一格;不能走到棋子上;走子后,可吃掉一个附近敌子;附近指走子前后都能走到(或表述为:走子前后均在直、斜一格以内)。
- 禺,走法同任意一个相邻友方棋子;相邻指直、斜一格以内。
隹是砲类棋子,最一致的设计是朝鲜象棋里的包,只是太弱。加强方式有两种:一是能越多子;二是能斜走(乃至于像易棋那样走)。由于越多子太厉害了一些,且可能造成类似别马脚的误解,我倾向第二种办法。
鱼的设计来自我之前走子吃子方式分离的想法,实现上很像国象的吃过路兵。
禺代替了龟(以及鸟),因为这两个棋子的设计我都不太满意:龟要么完全没有用,要么就是两步吃一子的无赖棋子;鸟看起来简直是龙的加强版,又或者是没有吃子能力的泥塑木偶。
另有一个想法是把这个打入规则叫作夺舍,那么这棋瞬间就换了张仙侠皮,但皮也是很重要的,现在比较好的类象棋新棋差不多都是由风味取胜。
给棋子改个名:
- 龙,合体
- 禺,化神
- 隹,元婴
- 兕,金丹
- 象,紫府
- 马,筑基
- 鱼,练气
易棋1.0
- 1.1 对局在11×11的1×1格点上进行,对战双方称为黑方和白方。
- 1.2 格点的类型与数目为:黑将×1,黑弩×2,黑骑×2,黑砲×2,黑校×2,黑侍×2,黑卒×5,白将×1,白弩×2,白骑×2,白砲×2,白校×2,白侍×2,白卒×5,点(+)×89。
- 1.3 格点的初始布局如下:
| A | B | C | D | E | F | G | H | I | J | K | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 11 | 砲 | 弩 | 骑 | 校 | 侍 | 将 | 侍 | 校 | 骑 | 弩 | 砲 |
| 10 | |||||||||||
| 9 | |||||||||||
| 8 | |||||||||||
| 7 | 卒 | 卒 | 卒 | 卒 | 卒 | ||||||
| 6 | |||||||||||
| 5 | 卒 | 卒 | 卒 | 卒 | 卒 | ||||||
| 4 | |||||||||||
| 3 | |||||||||||
| 2 | |||||||||||
| 1 | 砲 | 弩 | 骑 | 校 | 侍 | 将 | 侍 | 校 | 骑 | 弩 | 砲 |
- 2.1 对局时,双方轮流行动,白方先行。
- 2.2 行动,指按规则变换格点,或放弃本轮行动(即虚着或弃权)。
- 2.3 格点变换规则如下,n指任意正整数。
- 将,与距离为1或√2的格点交换坐标。
- 侍,与距离为√2的格点交换坐标。
- 校,与距离为2√2的格点交换坐标(若希望棋局激烈,可改为与距离为n√2的格点交换坐标)。
- 骑,与距离为√5的格点交换坐标。
- 弩,与距离为n的格点交换坐标(若希望棋局和缓,可改为与距离为2的格点交换坐标)。
- 砲,以任意非点格点为对称中心,与对称格点交换坐标。
- 卒,与距离为1的格点交换坐标。
- 3.1 当某方将移动到中线(A6,B6,C6,D6,E6,F6,G6,H6,I6中任意一点)后,双方的行动只能选择放弃本轮行动(只能行虚着或弃权)。
- 3.2 当双方连续放弃本轮行动(出现连续两个虚着或弃权)后,游戏结束。
- 3.3 游戏结束时,若白将在中线,白方胜。若黑将在中线,黑方胜。若没有将在中线,为和局。
- 4.1 若某方行动后使对方重复面临曾出现过的局面(全局同形),该行动改为放弃本轮行动。
- 4.2 若某方行动违反以上规则,该行动改为放弃本轮行动。
- 5.1 对规则的改动仅限以下几条,且改动应当提前向对局双方公示,说明。
- 5.2 在各种对局中,可以改中线(A6,B6,C6,D6,E6,F6,G6,H6,I6)为中点(E6)或其他点,线,面,本规则不做强制规定。
- 5.3 在各种对局中,可以改变格点数目,种类,初始布局,本规则不做强制规定。
- 5.4 在各种对局中,可以自行决定用时,器材,赛制,裁判等其他规则,本规则不做强制规定。
- 5.5 在各种对局中,可以将游戏结束条件改为连续三次及以上放弃本轮行动(行虚着或弃权)。
19:52 2021/3/31
由于防御力的不足,有自闭的风险,同时侍的强度太低,考虑以下布局。
| A | B | C | D | E | F | G | H | I | |
|---|---|---|---|---|---|---|---|---|---|
| 9 | 砲 | 校 | 骑 | 弩 | 将 | 弩 | 骑 | 校 | 砲 |
| 8 | |||||||||
| 7 | |||||||||
| 6 | 卒 | 卒 | 卒 | 卒 | 卒 | ||||
| 5 | |||||||||
| 4 | 卒 | 卒 | 卒 | 卒 | 卒 | ||||
| 3 | |||||||||
| 2 | |||||||||
| 1 | 砲 | 校 | 骑 | 弩 | 将 | 弩 | 骑 | 校 | 砲 |
调整了一些棋子的位置以提高对中央区域的防御,这也意味着不能用中线,而是用中点作为终局条件。
同时,将的走法改为侍的走法,以延长到中点的距离。
这个更新还需要讨论。
8:19 2021/4/1
已经委托夏日sb完成了ZoG规则文件的编写,现在可以下棋测试了。
22:35 2021/4/1
定稿了,现规则如下:
易棋2.0
- 1.1 对局在9×9的格点上进行,相邻格点距离为1,对战双方称为黑方和白方。
- 1.2 格点的类型与数目:黑将×1,黑弩×2,黑骑×2,黑砲×2,黑校×2,黑卒×5,白将×1,白弩×2,白骑×2,白砲×2,白校×2,白卒×5,点×53。
- 1.3 格点的初始布局如下,上方为白方,下方为黑方。
| A | B | C | D | E | F | G | H | I | |
|---|---|---|---|---|---|---|---|---|---|
| 9 | 砲 | 校 | 骑 | 弩 | 将 | 弩 | 骑 | 校 | 砲 |
| 8 | |||||||||
| 7 | |||||||||
| 6 | 卒 | 卒 | 卒 | 卒 | 卒 | ||||
| 5 | |||||||||
| 4 | 卒 | 卒 | 卒 | 卒 | 卒 | ||||
| 3 | |||||||||
| 2 | |||||||||
| 1 | 砲 | 校 | 骑 | 弩 | 将 | 弩 | 骑 | 校 | 砲 |
- 2.1 对局时,双方轮流行动,白方先行。
- 2.2 行动,指按规则变换格点,或放弃本轮行动(即虚着或弃权)。
- 2.3 格点变换规则如下,n指任意正整数。
- 将,与距离为√2的格点交换坐标。
- 校,与距离为n√2的格点交换坐标。
- 骑,与距离为√5的格点交换坐标。
- 弩,与距离为2^n的格点交换坐标。
- 砲,以任意非点格点为对称中心,与对称格点交换坐标。
- 卒,与距离为1的格点交换坐标。
- 3.1 当某方将移动到中点(E5)后,双方的行动只能选择放弃本轮行动(只能行虚着或弃权)。
- 3.2 当双方连续放弃本轮行动(出现连续两个虚着或弃权)后,游戏结束。
- 3.3 游戏结束时,若白将在中线,白方胜。若黑将在中线,黑方胜。若没有将在中线,为和局。
- 4.1 若某方行动后使对方重复面临曾出现过的局面(全局同形),该行动改为放弃本轮行动。
- 4.2 若某方行动违反以上规则,该行动改为放弃本轮行动。
- 5.1 对规则的改动仅限以下几条,且改动应当提前向对局双方公示,说明。
- 5.2 在各种对局中,可以改中点(E6)为中线(A6,B6,C6,D6,E6,F6,G6,H6,I6)或其他点,线,面。
- 5.3 在各种对局中,可以改变格点数目,种类,初始布局,本规则不做强制规定。
- 5.4 在各种对局中,对用时,器材,赛制,裁判等其他规则,本规则不做强制规定。
- 5.5 在各种对局中,可将游戏结束条件改为连续三次及以上放弃本轮行动(行虚着或弃权)。
8:33 2021/4/2
发现一个bug,弩可以走距离为5n的斜线上,我的确考虑过345,后面怎么忘了呢。
要打一个丑陋的补丁非我所愿,但允许的话弩实在强的过头。
考虑削弱为2^(n-1),n-1是为了走一格。当然,也可改为2^n,因为n可以为0。暂时改为2^n。
名称定为“易棋”,取交换之意。
16:53 2021/4/3
根据cfk的反馈,将弩增强为走2n格。
21:54 2021/4/8
决定提炼出最基本的部分,如下:
易棋2.1
- 1.1 对局在9×9的格点上进行,相邻格点距离为1,对战双方称为黑方和白方。
- 1.2 格点的类型数目为,黑将×1,黑弩×2,黑骑×2,黑砲×2,黑校×2,黑卒×5,白将×1,白弩×2,白骑×2,白砲×2,白校×2,白卒×5,点×53。
- 1.3 格点的初始布局为,白砲A9I9,白校B9H9,白骑C9G9,白弩D9F9,白卒A6C6E6G6I6,黑砲A1I1,黑校B1H1,黑骑C1G1,黑弩D1F1,黑卒A4C4E4G4I4。
- 2.1 对局时,双方轮流进行使对方不面临同形局面的行动,白方先行。
- 2.2 行动指按规则变换格点,格点变换规则如下:
- 将,与距离为√2的格点交换坐标。
- 校,与距离为n√2的格点交换坐标(n指任意正整数)。
- 骑,与距离为√5的格点交换坐标。
- 弩,与距离为2n的格点交换坐标(n指任意正整数)。
- 砲,以任意非点格点为对称中心,与对称格点交换坐标。
- 卒,与距离为1的格点交换坐标。
- 3.1 当某方将移动到中点(E5)后,游戏结束。
- 3.2 对局结束后,若白将在中点,白方胜。若黑将在中点,黑方胜。若没有将在中点,为和局。
9:28 2021/4/14
更新,为了适应棋盘套装,根据历史衍变,改变棋子名称。对应表如下:
| 现名称 | 中象 | 国象 | 将棋 | 像棋 | 易棋 | 七国象棋 |
|---|---|---|---|---|---|---|
| 龙 | 将、帅 | 国王 | 王将 | 将 | 将 | 王 |
| 凤 | 皇后 | 角行、龙马 | 裨 | |||
| 兕 | 车、伡 | 城堡 | 香车、成香 | 弓 | ||
| 牛 | 飞车、龙王 | 弩 | 弩 | 弩 | ||
| 马 | 马、傌 | 骑士 | 桂马、成桂 | 骑 | 骑 | 骑 |
| 象 | 象、相 | 主教 | 银将、成银 | 校 | 校 | 偏 |
| 龟 | 士、仕 | 金将 | 侍 | 刀 | ||
| 鱼 | 卒、兵 | 士兵 | 步兵、成金 | 卒 | 卒 | 剑 |
| 隹 | 砲、炮 | 砲 | 砲 | 砲 | ||
| 鹿 | 行 | |||||
| 虎 | 贲 |
禺、犬、豸、能、猱、羯、备用。
棋子做好了:禺(猴)、兕、虎、马、龟、鸟(凤)、龙、鱼、隹、鹿、牛、它(蛇)、犬、豸、能(熊)、猱(原本的猴,已弃用),共十六种。
2024-10-17 21:57:59
易棋试验的结果是,规则的指引有点弱,不太明白改怎么走。另外枪中点似乎有点快了,也许改为「老将先走到对手中宫者胜」会好一点。
其实「交换位置」的点子并不要求改变棋子走法。考虑一下,如果在一般的象棋里引入「吃子改为交换位置」,能不能玩?能的。
23:56 2021/4/1
循棋1.0
- 1.1 对局在8×8的正方格点上进行,相邻格点距离为1,对战双方称为黑方和白方。
- 1.2 对局前将黑×9,白×9,灰×18个点随机排布于棋盘中央6×6区域,棋盘如下:
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | |
|---|---|---|---|---|---|---|---|
| 6 | - | - | - | - | - | - | - |
| 5 | - | - | |||||
| 4 | - | - | |||||
| 3 | - | - | |||||
| 2 | - | - | |||||
| 1 | - | - | |||||
| 0 | - | - | - | - | - | - | - |
- 2.1 对局时,白方改变点横坐标,黑方改变点纵坐标。双方轮流行动,白方先行。
- 2.2 行动,指按规则变换点,或放弃本轮行动。
- 2.4 点变换规则:白方(黑方)将某行(列)点的横(纵)坐标+1,然后将横(纵)坐标为6的格点的横(纵)坐标改为1。
- 3.1 当某方达成所有黑点与白点距离大于1,即黑白点不相邻时,双方的行动只能选择放弃本轮行动。
- 3.2 当双方连续放弃本轮行动后,游戏结束。
- 3.3 游戏结束时,若白方先达成黑白点不相邻,白方胜。若黑方先达成黑白子不相邻,黑方胜。若都没有达成,为和局。
- 4.1 若某方行动后使对方面临曾出现的局面(双方连续移动同一行或列12次),该行动改为放弃本轮行动。
- 4.2 若某方行动违反以上规则,该行动改为放弃本轮行动。
- 5.1 对规则的改动仅限以下几条,且改动应当提前向对局双方公示,说明。
- 5.2 在各种对局中,可以将胜利条件改为完成某种特殊图形或其他合理条件。
- 5.3 在各种对局中,可以改变格点数目(棋盘大小),种类,初始布局,本规则不做强制规定。
- 5.4 在各种对局中,可以自行决定用时,器材,赛制,裁判等其他规则,本规则不做强制规定。
- 5.5 在各种对局中,可以将游戏结束条件改为连续三次及以上放弃本轮行动。
- 5.6 在各种对局中,可以改黑白双方为队友,以胜利时长与其他队伍竞争。或者合并黑白双方,改为单人游戏。
20:28 2021/4/2
考虑到计算对手的行动过于困难,考虑将“2.5一轮行动可进行1到4次变换”去掉,相当于一次只能沿固定方向转一格。
进一步,若限定方向为正方向,也就不必“将横(纵)坐标为0的改为5”了。
10:30 2021/4/4
本来想到一个点子,把数独做进去,不过与数独魔方没有本质区别,没意思。
由于订购不到灰色的棋子,考虑仅用黑白棋子进行游戏,胜利条件改为黑白子相邻(每一个黑子相邻的四个子至少有一个白子,白子同理)。
这样多少有点像生命游戏了。
21:52 2021/4/8
决定提炼出最基本的部分,如下:
循棋1.1
- 1.1 对局在6×6的正方格点上进行,相邻格点距离为1,对战双方称为黑方和白方。
- 1.2 对局前将黑×9,白×9,灰×18个点随机排布于棋盘中。
- 2.1 对局时,白方改变点横坐标,黑方改变点纵坐标。双方轮流进行使对方不面临同形局面的行动,白方先行。
- 2.2 行动包含几个步骤:⑴白方(黑方)将某行(列)点的横(纵)坐标+1;⑵将横(纵)坐标为6的格点的横(纵)坐标改为1。
- 3.1 当某方达成所有黑点与白点距离大于1(黑白点不相邻)时,游戏结束。
- 3.2 对局结束后,若白方先达成黑白点不相邻,白方胜。若黑方先达成黑白子不相邻,黑方胜。若都没有达成,为和局。
循棋2.0
- 1.1 对局在9×9的正方格点上进行,相邻格点距离为1,对战双方称为黑方和白方。
- 1.2 对局前将黑子×40,白子×40,透明子×1随机排布于棋盘中。
- 2.1 对局时,白方改变点横坐标,黑方改变点纵坐标。双方轮流进行使对方不面临同形局面的行动,白方先行。
- 2.2 行动包含几个步骤:⑴白方(黑方)将某行(列)点的横(纵)坐标+1;⑵将横(纵)坐标为10的格点的横(纵)坐标改为1。
- 3.1 当黑方达成所有每一个黑子相邻的四个子至少有一个白子或透明子,白子同理时,游戏结束。
- 3.2 对局结束后,若白方先达成,白方胜。若黑方先达成,黑方胜。若都没有达成,为和局。
8:37 2021/4/2
剥棋1.0
- 1.1 对局在19×19的格点上进行,格点相距1,对战双方称为黑方和白方。
- 1.2 对局前随机将1×1黑白灰色方片置于格点上,每一格点摞3层,要求填满所有格点。
- 1.3 白方片透明,灰方片半透明,黑方片不透明。颜色表如下,目视颜色指方片看上去(显示)的颜色。
| 第n行/列 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 上层颜色 | 黑 | 黑 | 黑 | 黑 | 黑 | 白 | 灰 | 黑 | 黑 | 黑 | 黑 | 白 | 白 | 灰 | 灰 | 白 | 白 | 灰 | 灰 | 白 | 白 | 白 | 灰 | 白 | 灰 | 灰 | 灰 |
| 中层颜色 | 黑 | 黑 | 黑 | 白 | 灰 | 黑 | 黑 | 白 | 白 | 灰 | 灰 | 黑 | 黑 | 黑 | 黑 | 白 | 灰 | 白 | 灰 | 白 | 白 | 灰 | 白 | 灰 | 灰 | 白 | 灰 |
| 下层颜色 | 黑 | 白 | 灰 | 黑 | 黑 | 黑 | 黑 | 白 | 灰 | 白 | 灰 | 白 | 灰 | 白 | 灰 | 黑 | 黑 | 黑 | 黑 | 白 | 灰 | 白 | 白 | 灰 | 白 | 灰 | 灰 |
| 目视上层 | 黑 | 黑 | 黑 | 黑 | 黑 | 黑 | 黑 | 黑 | 黑 | 黑 | 黑 | 黑 | 黑 | 黑 | 黑 | 黑 | 黑 | 黑 | 黑 | 白 | 灰 | 灰 | 灰 | 灰 | 灰 | 灰 | 灰 |
| 目视中层 | 黑 | 黑 | 黑 | 黑 | 黑 | 黑 | 黑 | 白 | 灰 | 灰 | 灰 | 黑 | 黑 | 黑 | 黑 | 黑 | 黑 | 黑 | 黑 | 白 | 灰 | 灰 | 白 | 灰 | 灰 | 灰 | 灰 |
- 2.1 对局时,双方轮流操作,白方先行。
- 2.2 操作,指行动一次,或放弃本轮行动。
- 2.3 行动规则:⑴选择一个可用方片(可用方片指其上未叠放方片的方片),猜测其颜色(仅限方片拥有的颜色);⑵然后揭开该方片,验证猜测;⑶猜对则重复上一步骤,猜错则结束行动。
- 3.1 当所有方片被揭开,双方的行动只能选择放弃本轮行动。
- 3.2 当双方连续放弃本轮行动后,游戏结束。
- 3.3 游戏结束时,若白方揭开的方片多于黑方,白方胜。若黑方揭开的方片多于白方,黑方胜。若相同,为和局。
- 4.1 若某方行动违反以上规则,该行动改为放弃本轮行动。
- 5.1 对规则的改动仅限以下几条,且改动应当提前向对局双方公示,说明。
- 5.2 在各种对局中,可以将胜利条件改为白方比黑方多n片或其他合理条件。
- 5.3 在各种对局中,可以改变格点数目,颜色,种类,本规则不做强制规定。
- 5.4 在各种对局中,可以自行决定用时,器材,赛制,裁判等其他规则,本规则不做强制规定。
- 5.5 在各种对局中,可以将游戏结束条件改为连续3次及以上放弃本轮行动。
19:21 2021/4/2
发现在两层以上的情况下,猜方片下的颜色是没法玩的。
因为你在揭开方片之前不知道它实际上是什么颜色,你只知道它看上去是什么颜色,这样你只有揭开中层方片才知道揭上层方片时猜对没有,那三层有什么意义呢。因此将三层方片改为两层。
20:04 2021/4/2
也许可以猜揭开方片的颜色,这样就可以当场验证了。因此重新改为三层。
之前有一个最简单的版本,不好玩,但已经有了猜颜色、连续行动、多层棋子这三个基本特色。规则如下:
- 1.1 对局在19×19的格点上进行,格点相距1,对战双方称为黑方和白方。
- 1.2 对局前随机将1×1黑白方片置于格点上,每一格点摞2层,要求填满所有格点。
- 2.1 对局时,双方轮流操作,白方先行。
- 2.2 操作,指行动一次,或放弃本轮行动。
- 2.3 行动规则如下:⑴选择一个可用方片,猜测其下方片的颜色(仅限方片拥有的颜色);⑵揭开该方片,验证猜测;⑶猜对则重复上一步骤,猜错则结束行动。
- 3.1 当所有方片被揭开,双方的行动只能选择放弃本轮行动。
- 3.2 当双方连续放弃本轮行动后,游戏结束。
- 3.3 游戏结束时,若白方揭开的方片多于黑方,白方胜。若黑方揭开的方片多于白方,黑方胜。若相同,为和局。
- 4.1 若某方行动违反以上规则,该行动改为放弃本轮行动。
14:44 2021/4/3
原定名为“掀棋”,现在觉得不够形象,改名为“剥棋”。
14:29 2021/4/4
由于订购不到灰色半透明棋子,考虑仅用透明白子与半透明黑子进行游戏,此时颜色表如下:
| 情形 | 层次 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
|---|---|---|---|---|---|---|---|---|---|
| 实际 | 上层 | 黑 | 黑 | 黑 | 白 | 黑 | 白 | 白 | 白 |
| 实际 | 中层 | 黑 | 黑 | 白 | 黑 | 白 | 黑 | 白 | 白 |
| 实际 | 下层 | 黑 | 白 | 黑 | 黑 | 白 | 白 | 黑 | 白 |
| 目视 | 上层 | 黑 | 黑 | 黑 | 黑 | 黑 | 黑 | 黑 | 白 |
| 目视 | 中层 | 黑 | 黑 | 黑 | 黑 | 白 | 黑 | 黑 | 白 |
注意到,猜下层颜色的条件为两层棋子或只有最多一种透明棋子,猜本层颜色的条件为存在半透明或透明棋子(但在实体棋中恐怕并无意义)。
21:44 2021/4/8
决定提炼出最基本的部分,如下:
剥棋1.1
- 1.1 对局在19×19的格点上进行,格点相距1,对战双方称为黑方和白方。
- 1.2 对局前随机将1×1黑,透明方片置于格点上,每一格点摞3层,填满所有格点。
- 2.1 对局时,双方轮流行动,白方先行。
- 2.2 行动包括几个步骤:⑴选择一个可用方片,猜测其下方片的目视颜色(黑方片为黑色,透明方片为其下方片的颜色),然后揭开该方片,验证猜测;⑵若猜对,则重复步骤a;⑶若猜错,则结束行动。
- 3.1 当所有方片被揭开,游戏结束。
- 3.2 游戏结束后,若白方揭开的方片多于黑方,白方胜。若黑方揭开的方片多于白方,黑方胜。若相同,为和局。
21:51 2021/4/8
更名为“揭牌”。
23:38 2021/4/13
揭牌1.2
考虑到要适应我设计的棋盘套装,需要做适当的修改。
- 1.1 对局在9×9的格点上进行,格点相距1,对战双方称为黑方和白方。
- 1.2 对局前随机将1×1黑色,白色,透明方片置于格点上,每一格点摞3层,填满所有格点。
- 2.1 对局时,双方轮流行动,白方先行。
- 2.2 行动包括几个步骤:⑴选择一个可用方片,猜测其下方片的目视颜色(黑方片为黑色,白方片为白色,透明方片为其下方片的颜色);然后揭开该方片,验证猜测;⑵若猜对,则重复步骤a;⑶若猜错,则结束行动。
- 3.1 当所有方片被揭开,游戏结束。
- 3.2 游戏结束后,若白方揭开的方片多于黑方,白方胜。若黑方揭开的方片多于白方,黑方胜。若相同,为和局。
15:44 2021/4/3
卦棋1.0
- 1.1 对局在8×16的棋盘进行,每格尺寸为2×1,对战双方称为黑方和白方。
- 1.2 规定棋盘中心为坐标原点,点(2,2)(2,-2)(-2,-2)(-2,2)围成的区域称“顶层”,点(4,4)(4,-4)(-4,-4)(-4,4)围成的区域(除去顶层)称“上层”,点(6,6)(6,-6)(-6,-6)(-6,6)围成的区域(除去顶层,上层)称“中层”,点(8,8)(8,-8)(-8,-8)(-8,8)围成的区域(除去顶层,上层,中层)称“下层”。棋盘如下:
| 坐标 | -8 | -6 | -4 | -2 | 2 | 4 | 6 | 8 |
|---|---|---|---|---|---|---|---|---|
| 8 | ||||||||
| 7 | ||||||||
| 6 | - | - | - | - | - | - | ||
| 5 | - | - | - | - | - | - | ||
| 4 | - | ^ | ^ | ^ | ^ | - | ||
| 3 | - | ^ | ^ | ^ | ^ | - | ||
| 2 | - | ^ | × | × | ^ | - | ||
| 1 | - | ^ | × | × | ^ | - | ||
| -1 | - | ^ | × | × | ^ | - | ||
| -2 | - | ^ | × | × | ^ | - | ||
| -3 | - | ^ | ^ | ^ | ^ | - | ||
| -4 | - | ^ | ^ | ^ | ^ | - | ||
| -5 | - | - | - | - | - | - | ||
| -6 | - | - | - | - | - | - | ||
| -7 | ||||||||
| -8 |
- 2.1 对局时,双方轮流操作,白方执白先行。
- 2.2 操作,指行动一次,或放弃本轮行动。
- 2.3 行动规则如下:n为大于3的正整数。
- 2.4 将一个棋子置于某顶层格。
- 2.5 若该格已经叠放了n层(超过三层)棋子,将该格最上面n-3层棋子移至任意相邻格,否则结束行动。重复该步骤。
- 3.1 当任意两个横坐标相等,纵坐标差1的下层格各自叠满三层棋子,双方只能放弃本轮行动。
- 3.2 当双方连续放弃本轮行动后,游戏结束。
- 3.3 游戏结束时,双方各自从侧面观察这两个下层格,可以观察到两个八卦。双方各自以靠近自己的一卦为上,以远离自己的一卦为下,得出一个六十四卦。
- 3.4 双方各自按易经解读自己看到的那一卦,白吉黑凶为白方胜,白凶黑吉为黑胜,都吉都胜,都凶都败。
- 4.1 若某方行动违反以上规则,该行动改为放弃本轮行动。
- 5.1 对规则的改动仅限以下几条,且改动应当提前向对局双方公示,说明。
- 5.2 在各种对局中,可以将胜利条件改为其他公平的条件。
- 5.3 在各种对局中,可以自行决定用时,器材,赛制,裁判等其他规则,本规则不做强制规定。
- 5.4 在各种对局中,可以多场对局使用同一座棋墩,直到下层格没有一对格子满足条件。
- 5.5 在各种对局中,可以将游戏结束条件改为连续3次及以上放弃本轮行动。
19:51 2021/4/3
总算是憋出来了,这到底是下棋还是算卦呢。该叫它“卦棋”还是“棋卦”呢。无论如何,利用这个装置可以实现古人的所有解卦手段,用它行棋不过是一隅。
21:08 2021/4/3
我不满意,这样根本没必要做多层立体的棋盘,它的可能性完全没发挥出来,我不满意。
8:30 2021/4/4
检讨一下。
首先就目前的游戏方式,不需要立体的棋墩。
其次叠三层为八卦,两八卦组成六十四卦,强行将上下关系变成左右,给结果判定带来了困难,连带着规则都写不明晰,设计本身也不自然,应当改成六层。
然后,能落子于空格点意味着棋手可以尽情反悔,寻找最好的一卦,游戏不平衡,剪枝太容易。
我在写落子规则时想象的场景是从堆高的格点向四周蔓延扩散,而要实现这种效果,需要设定只能落子于非空格点。
更改规则如下:
卦棋2
- 1.1 对局在8×8的棋盘进行,相邻格点距离为1,对战双方称为黑方和白方。
- 1.2 对局前,在(5,5)(4,4)格点放1黑子,在(4,5)(5,4)格点放1白子。棋盘如下:
| A | B | C | D | E | F | G | H | |
|---|---|---|---|---|---|---|---|---|
| 8 | ||||||||
| 7 | ||||||||
| 6 | ||||||||
| 5 | 白 | 黑 | ||||||
| 4 | 黑 | 白 | ||||||
| 3 | ||||||||
| 2 | ||||||||
| 1 |
- 2.1 对局时,双方轮流操作,白方执白先行。
- 2.2 操作,指行动一次,或放弃本轮行动。
- 2.3 n为大于6的正整数。
叠满指叠放六层棋子。
边缘格点指A1,A2,A3,A4,A5,A6,A7,A8,B1,B8,C1,C8,D1,D8,E1,E8,F1,F8,G1,G8,H1,H2,H3,H4,H5,H6,H7,H8。
行动规则如下:
卦棋2.1
- 2.4 将一个棋子置于某非空格点。
- 2.5 若该格点已经叠放了n层(超过6层)棋子,将该棋子移至任意相邻格点(距离为1的格点),否则结束行动。重复该步骤。
- 3.1 当某方使任意边缘格点叠放了6层棋子,该方只能放弃本轮行动。
- 3.2 当双方连续放弃本轮行动后,游戏结束。
- 3.3 游戏结束时,双方各自选中最后叠满的格点,白字为阳爻,黑子为阴爻。根据易经解读,白吉黑凶为白方胜,白凶黑吉为黑胜,都吉都胜,都凶都败。
- 3.4 易经六十四卦列表如下:
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 乾 | 坤 | 屯 | 蒙 | 需 | 讼 | 师 | 比 | 小畜 | 履 | 泰 | 否 | 同人 | 大有 | 谦 | 豫 | 随 | 蛊 | 临 | 观 | 噬嗑 | 贲 | 剥 | 复 | 无妄 | 大畜 | 颐 | 大过 | 坎 | 离 | 咸 | 恒 | 遁 | 大壮 | 晋 | 明夷 | 家人 | 睽 | 蹇 | 解 | 损 | 益 | 夬 | 姤 | 萃 | 升 | 困 | 井 | 革 | 鼎 | 震 | 艮 | 渐 | 归妹 | 丰 | 旅 | 巽 | 兑 | 涣 | 节 | 中孚 | 小过 | 既济 | 未济 |
| ䷀ | ䷁ | ䷂ | ䷃ | ䷄ | ䷅ | ䷆ | ䷇ | ䷈ | ䷉ | ䷊ | ䷋ | ䷌ | ䷍ | ䷎ | ䷏ | ䷐ | ䷑ | ䷒ | ䷓ | ䷔ | ䷕ | ䷖ | ䷗ | ䷘ | ䷙ | ䷚ | ䷛ | ䷜ | ䷝ | ䷞ | ䷟ | ䷠ | ䷡ | ䷢ | ䷣ | ䷤ | ䷥ | ䷦ | ䷧ | ䷨ | ䷩ | ䷪ | ䷫ | ䷬ | ䷭ | ䷮ | ䷯ | ䷰ | ䷱ | ䷲ | ䷳ | ䷴ | ䷵ | ䷶ | ䷷ | ䷸ | ䷹ | ䷺ | ䷻ | ䷼ | ䷽ | ䷾ | ䷿ |
- 4.1 若某方行动违反以上规则,该行动改为放弃本轮行动。
- 5.1 对规则的改动仅限以下几条,且改动应当提前向对局双方公示,说明。
- 5.2 在各种对局中,可以将胜利条件改为其他公平的条件(也就是不必囿于易经六十四卦)。
- 5.3 在各种对局中,可以自行决定用时,器材,赛制,裁判等其他规则,本规则不做强制规定。
- 5.4 在各种对局中,可以多场对局使用同一棋盘,直到边缘格点都叠满。
- 5.5 在各种对局中,可以将游戏结束条件改为连续3次及以上放弃本轮行动。
22:40 2021/4/5
考虑以下改进。
首先,为了适配我定制的棋盘,将棋盘改为9×9。
其次,为了实现纺锤型的难度曲线,考虑让游戏从棋盘的一角开始,到对角结束。
21:37 2021/4/8
决定提炼出最基本的部分,如下:
卦棋2.1
- 1.1 对局在9×9的棋盘进行,相邻格点距离为1,对战双方称为黑方和白方。
- 1.2 对局前,在A1格点放1黑子。
- 2.1 对局时,双方轮流操作,白方执白先行。
- 2.2 行动包含几个步骤:⑴将一个棋子置于某非空格点;⑵若该格点已经叠放了n层(超过6层)棋子,将该棋子移至任意相邻格点(距离为1的格点),否则结束行动;⑶重复步骤⑴⑵。
- 3.1 当某方使I9格点叠放了n层棋子,游戏结束。
- 3.2 游戏结束时,以黑白子分别为阳爻,白黑子分别为阴爻,根据卦象判断,白吉黑凶为白方胜,白凶黑吉为黑胜,都吉都胜,都凶都败。
23:21 2021/4/5
落棋1.0
考虑到大棋墩设计的消失,没有必要继承原有的易经内涵,或者说,这些东西不该成为设计的障碍,也不该出现在流程化算法化的规则文本中。因此不仅规则应该改,表述也可以更简单易懂。
我意识到,可以经过简单的改造让卦棋成为多层生命游戏。我想可以换个名字,就叫“菌棋”。
现规则如下:
- 1.1 对局在9×9的棋盘进行,相邻格点距离为1,对战双方称为黑方和白方。
- 1.2 对局前,在A1格点放1黑子。棋盘如下:
| A | B | C | D | E | F | G | H | I | |
|---|---|---|---|---|---|---|---|---|---|
| 9 | |||||||||
| 8 | |||||||||
| 7 | |||||||||
| 6 | |||||||||
| 5 | |||||||||
| 4 | |||||||||
| 3 | |||||||||
| 2 | |||||||||
| 1 | 黑 |
- 2.1 对局时,双方轮流操作,白方执白先行。
- 2.2 操作,指行动一次,或放弃本轮行动。
- 2.3 行动规则如下:相邻格点指与选定格点距离为1或√2的格点。
- 2.4 行动包含两个步骤:⑴移除对方的无效棋子。无效棋子指,在该棋子所在的层,所有相邻格点都没有棋子,或所有相邻格点都是同一方的棋子;⑵将一个棋子置于某格点,该格点没有叠满n层棋子(暂定n为3)。
- 3.1 当某方只能落子于无效格点,该方只能放弃本轮行动。
- 3.2 当双方连续放弃本轮行动后,游戏结束。
- 3.3 游戏结束后,棋盘上棋子数量更多的一方胜利,数量一样则平局。
- 4.1 若某方行动后使对方重复面临曾出现过的局面,该行动改为放弃本轮行动。
- 4.2 若某方行动违反以上规则,该行动改为放弃本轮行动。
- 5.1 对规则的改动仅限以下几条,且改动应当提前向对局双方公示,说明。
- 5.2 在各种对局中,可以将n改为其他正整数。
- 5.3 在各种对局中,可以自行决定用时,器材,赛制,裁判等其他规则,本规则不做强制规定。
- 5.4 在各种对局中,可以将游戏结束条件改为连续3次及以上放弃本轮行动。
23:30 2021/4/5
我注意到,这个游戏和生命游戏最大的不同点,在于分黑白两方。实际上,如果将相邻格点定义中的√2去掉,那么这个游戏几乎就是一个多层围棋。围棋当然是好游戏,但我需要考察这个点子是否有足够的独创性。另一个问题是,“菌棋”这名字似乎不是很恰当。
23:38 2021/4/5
和围棋不一样,围死吃子只有在围一个子时相同,或者说根本不是围死吃子。在考察生命游戏的内涵后,可以总结其核心规则,即,群落死于孤独,内卷与竞争。故改进“无效棋子”的定义为“在该棋子所在的层,所有相邻格点都没有棋子,或所有相邻格点都是同一方的棋子”。
现在,“菌棋”大可以说自己是生命游戏的优秀后代。
更名为“落棋”,以体现多层棋子的设计,且落有群落,聚落之意。
21:30 2021/4/8
决定提炼出最基本的部分,如下:
落棋1.1
- 1.1 对局在9×9的棋盘进行,相邻格点距离为1,对战双方称为黑方和白方。
- 2.1 对局时,双方轮流进行使对方不面临同形局面的行动,白方执白先行。
- 2.2 行动包含两个步骤:⑴移除对方的无效棋子。无效棋子:在该棋子所在的层,所有相邻格点都没有棋子,或所有相邻格点都是同一方的棋子。相邻格点:与选定格点距离为1或√2的格点;⑵将一个棋子置于某格点,该格点没有叠满n层棋子(暂定n为3)。
- 3.1 当某方只能落子于无效格点,游戏结束。
- 3.2 游戏结束后,棋盘上棋子数量更多的一方胜利,数量一样则平局。
14:12 2021/5/4
昨天到了智推棋(大力士棋),规则书写得不好,使得我们理解出了问题。
我们以为:一回合把自己的1-3枚连成直线的棋子沿直线方向动一格。只要在某方向上自己的棋子比对面多,就可以推过去“二推一,三推二”推几格都行。推完后如果形成了新的可以推的阵型可以继续推,没得推了回合才结束。
然后玩了一晚上,觉得防守方太优势了。
基本一进攻就要被一换二。
然后想着改进,最朴素的想法是加强深入敌阵的棋子。但这样不太自然,也没有想到太好的方法。然后我们灵机一动,加入了打入:移动棋子前可以复活一个死掉的棋子,放回棋盘。
早上测试过,感觉相当好玩,应该写成明文规则。
推棋1.0
- 1.1 对局在边长为4的六边形格点上进行,相邻格点距离为1,对战双方称为黑方和白方。
- 1.2 对局开始前,将14枚黑子与14枚白子按“3+6+5”的方式排布在棋盘上。
- 1.3 “推动敌方棋子”指在某方向上己方棋子与敌方棋子相邻,当可移动的己方棋子列更长且敌方棋子列有空间移动时,这列棋子可以向该方向移动以推动敌方棋子列。直到条件不满足或这些敌方棋子都被推出棋盘。
- 2.1 游戏开始后,两位玩家轮流行动,白方先行。
- 2.2 一次行动由以下步骤组成:⑴将一个棋盘外的己方棋子放回棋盘;⑵将连成直线的1到3枚棋子沿直线移动一格;⑶推动敌方棋子;直到推不动为止,该步骤可重复任意次。
- 3.1 当某方率先将六个敌方棋子推出棋盘,游戏结束,该方胜利。
14:42 2021/5/4
中午做了修改:
- 3.1 当某方棋盘外的棋子达到6个,游戏结束,该方失败。
这两种结束条件有细微的差别,前一种需要额外的计数器,后一种不需要。除此之外游戏策略也有差别。哪一种结束方式更好呢。
加入打入后,最初的结束条件是:当某方棋子不能被推出棋盘,游戏结束,该方胜利。这个条件要求摆出一个边长为二的实心六边形,实际上是做不到的,因此被放弃了,尽管这个条件很自然。
对于“能不能移动四颗棋子,能不能四推三”尚在争论中。
对于正式的规则,我的室友认为非常无聊,同时他非常喜欢连续推动带来的策略性。
加入打入规则是我的想法,我对此颇为自得。
补围棋逻辑规则。
现代围棋
- 1.1 对局在19×19的正方格点上进行,对战双方称为黑方和白方。
- 1.2 每个格点可以被染色为黑,白或无色。
- 1.3 给定格点P,如果没有被染色为C,且存在一条(水平或垂直)起始于P点,由相连的P的同色点组成,终止于某C色点的路径,那么点P能“到达”C色。
- 1.4 “清除”一种颜色是指清空一切不能到达无色的该颜色的格点。
- 2.1 从全盘无色的格点开始,两位玩家轮流操作,黑方先行。
- 2.2 每个回合,玩家只能从以下两种操作中选择其一:⑴弃权;⑵行动,且此行动的结果不得重复已有的格点染色。
- 2.3 一次行动由以下步骤组成:⑴将一个无色点染成己方的颜色;⑵然后清除对方的颜色;⑶清除己方的颜色。
- 3.1 游戏在两次连续的弃权后结束。
- 3.2 黑(白)方的总分,是黑(白)色格点颜色的总数,与仅与黑(白)色相连的无色点的总数之和。
- 3.3 得分高者为胜,平分则为平局。
补眼棋规则,眼棋,即无虚着古棋。
眼棋
- 1.1 对局在19×19的正方格点上进行,对战双方称为黑方和白方。
- 1.2 每个格点可以被染色为黑,白或无色。
- 1.3 给定格点P,如果没有被染色为C,且存在一条(水平或垂直)起始于P点,由相连的P的同色点组成,终止于某C色点的路径,那么点P能“到达”C色。
- 1.4 “清除”一种颜色是指清空一切不能到达无色的该颜色的格点。
- 2.1 从全盘无色的格点开始,两位玩家轮流进行不重复已有的格点染色的行动,白方先行。
- 2.2 一次行动由以下步骤组成:⑴将一个无色点染成己方的颜色;⑵清除对方的颜色;⑶清除己方的颜色。
- 3.1 当双方玩家无法合法行动时结束。
- 3.2 某方的总分,是该颜色格点颜色的总数。
- 3.3 得分高者为胜,平分则为平局。
眼棋是上世纪数学家发明的。表面上它很像应氏规则的填满数子,同时似乎能合理地推出还棋头规则。但是,当棋手不能“合法行动”时,实际上相当于停了一手,这会造成双方手数不等。另外,“合法行动”不一定是双方愿意采取的行动,比如块子自尽不违反禁全同,是“合法行动”,规则又禁止虚着,因此官子阶段棋手不得不捏着鼻子送死。这使得眼棋无法成为传统围棋规则的简化版本,而是一种新的游戏,其官子策略与围棋大相径庭。
所以,发明者企图从围棋中去除虚着的尝试失败了。
如果要达成这个目标,可以显式地规定禁止自尽,也可以回归围棋的早期形态“吃子棋”,在双方手数相等时,俘子多等价于活子多。
古围棋(吃子棋)
- 1.1 对局在19×19的正方格点上进行,对战双方称为黑方和白方。
- 1.2 每个格点可以被染色为黑,白或无色。
- 1.3 给定格点P,如果没有被染色为C,且存在一条(水平或垂直)起始于P点,由相连的P的同色点组成,终止于某C色点的路径,那么点P能“到达”C色。
- 1.4 “清除”一种颜色是指清空一切不能到达无色的该颜色的格点。
- 2.1 从全盘无色的格点开始,两位玩家轮流行动,白方先行。
- 2.2 行动不能使对方重复面临曾出现过的局面。
- 2.3 一次行动由以下步骤组成:⑴清除对方的颜色;⑵将一个无色点染成己方的颜色;⑶清除对方的颜色。
- 3.1 当双方同意终局,游戏结束。
- 3.2 某方的总分,是对局中清除对方颜色的格点总数。
- 3.3 得分高者为胜,平分则为平局。
收后还子与手数相等的原则比较复杂,前者是细化贴目的手段,后者是活子等价俘子的条件。在俘子计分的情况下,手数相等不需要严格执行,而收后还子应当放到比赛规则而不是行棋规则中。
另外,这个版本的吃子棋仍然是协议终局的,也就是说仍有虚手,只是没有写明。保留虚手,也就是说保留了公活,对于双方都不愿落子的点,该规则允许棋手将其与一方不能落子一方不愿落子的点“真眼”等量齐观。这是通过协议终局实现的。
我们看到,围棋里不愿下与不能下实际上没有那么大的区别,而眼棋最大的问题在于它强迫棋手下不愿下的棋,直到不能下,棋局才结束,这是不符合围棋现实的,因而才无法与围棋规则近似相等。也就是说,如果构造出一个规则,当棋盘上没有愿下和能下的点时,能够使棋局自然结束,就可以和现有围棋规则“古棋”划上等号,我的目标就实现了。
尝试如下:
溢棋1.0
- 1.1 对局在17×17的正方格点上进行,对战双方称为黑方和白方。
- 1.2 每个格点可以被染色为黑,白或无色。
- 1.3 给定格点P,如果没有被染色为C,且存在一条起始于P点,由相连的P的同色点组成,终止于某C色点的路径,那么点P能“到达”C色。
- 1.4 “清除”一种颜色是指清空一切不能到达无色的该颜色的格点。
- 2.1 从全盘无色的格点开始,两位玩家轮流行动,白方先行。
- 2.2 行动不得使对手重复面临曾遇到过的局面。
- 2.3 一次行动由以下步骤组成:⑴将一个无色点染成己方的颜色;⑵清除对方的颜色。
- 3.1 当双方的行动一定会“清除”某种颜色,游戏结束。
- 3.2 某方的总分,是对局中清除对方颜色的格点总数。
- 3.3 得分高者为胜,平分则为平局。
目标并没有实现,延后提子使游戏流程与古棋(传统围棋)出现了实质性的不同。
2023-05-10 19:10:40
注意到PSK(positional superko)不允许颗子自尽,那么必须要额外设置虚着(停一手);而SSK(situational superko)允许颗子自尽,实现了虚着的功能。因此眼棋所使用的“禁全同”规则必须为SSK或更宽松的类型。就像闲话围棋规则里说的:“假如说围棋是一只羊的话,约束规则就是它的羊圈。只要羊圈足够大,不至于妨碍羊的生活,那么羊圈修成方的还是圆的对于羊来说都是无所谓的,只要羊圈上没有破洞就行。”显然对于眼棋来说PSK有点太紧了。那么,改为SSK似乎就解决了问题。
同时,过去的我所犯的一个错误是认为“吃子棋”应当在行棋规则中规定协议终局,这显然是一个误解。诚然,在SSK下不禁自尽,但这并不意味着棋局无法结束,因为双方连续颗子自尽是违反SSK的,当双方无棋可下时,先手颗子自尽,后手将不得不自填一眼,送掉所有大块,最后先手占据整个棋盘。这样虽然没法贴目了,但仍然可以终局。
不能贴目是个大问题吗?是的。所以需要在自己填眼之前结束对局。这需要在规则上做一点修改,使得SSK能够成为一种终局手段。这样双方各送死一子,就等价于两虚终局了,由于这样终局显然比自填一眼输得少,AI会自然形成这种终局办法,进一步地,会在地盘划分完毕后选择这样终局,这样就和一般围棋相类了。
注意在此规则下,玩家不必优先选择有效行动,因而不会被逼迫到不得不自填一眼送死大龙的尴尬情境中。
古围棋2.0
- 1.1 对局在19×19的正方格点上进行,对战双方称为黑方和白方。
- 1.2 每个格点可以被染色为黑,白或无色。
- 1.3 给定格点P,如果没有被染色为C,且存在一条(水平或垂直)起始于P点,由相连的P的同色点组成,终止于某C色点的路径,那么点P能“到达”C色。
- 1.4 “清除”一种颜色是指清空一切不能到达无色的该颜色的格点。
- 2.1 从全盘无色的格点开始,两位玩家轮流行动,白方先行。
- 2.2 一次行动由以下步骤组成:⑴清除对方的颜色;⑵将一个无色点染成己方的颜色;⑶清除对方的颜色。
- 3.1 当某方行动使对方重复面临曾出现过的局面时,该行动无效。
- 3.2 当某方行动无效时,游戏结束。
- 3.3 某方的总分,是对局中清除对方颜色的格点总数。
- 3.4 得分高者为胜,平分则为平局。
参考文章:闲谈围棋规则、眼棋和古朝鲜规则、吃子棋等价于还棋头的思考、赞成座子还棋头的古棋规则的人似乎越来越多了、围棋规则新论
以上规则会导致荒谬的情况发生:落后方可以在未实证死活时通过故意触犯全同强行终局,且计俘子虽等价于计活子(等手情况下),但不等价于数地或数目,因为地、目这类概念是为了提前终局而创造的概念,其将盘面点数与可兑现的点数结合了起来。想要在无虚手围棋中实现协议终局,必须好好斟酌表述。
2023-06-15 13:01:03
根据老外的一些讨论,眼棋(或称无虚着围棋)在添加了计俘子规则后,和古棋规则就一模一样了(The amended version, which allows passing by returning a captured prisoner as a pass stone, has also been called “no pass go with prisoner return”. This ruleset (in a version permitting some suicides) was published as “The Most Primitive Go Rule”, T. Yoshikawa, Computer Go, 13: 6-7, 1989, though it could well have been discovered earlier. Scans of this newletter are available at http://www.daogo.org/.)。其实这很好理解,毕竟计活子与计俘子是一体两面。果然古棋规则一脉相承,真漂亮啊。
显然想要恢复古棋并去除虚着的人不止我一个,比如这个篇口气很大的Analysis of Ultimate Go,思路几乎和我一般无二,大家都更喜欢自然、简洁、逻辑严谨的规则表述。
2023-08-11 09:36:16
- 俘子:一方行棋后,对方的棋子如果被完全包围,那么这些棋子需要被提掉,成为提子方的俘虏。
- 虚着:当轮到行棋时,可以不落子,而将一枚棋子交给对方。
- 活子:被某方占据的空交叉点。
- 目:被一方的活子完全包围的空交叉点是该方的目。
- 地:棋盘上一方的所有活子以及被这些活子包围的目组成该方的地。
- 空:被某方完全包围的空交叉点。
- 中立点:双方都没有完全包围的空交叉点被称为中立点,中立点不是任何一方的目或地。
- 手数:某方行棋的次数,其数等于虚着数、对方俘子数、活子数之和。
| 规则名称 | 是否禁全同 | 是否禁止自尽 | 终局条件 | 死活判定 | 计点方式 | 等效贴点值 |
|---|---|---|---|---|---|---|
| 中国规则 | PSK,但有特例 | 禁止 | 两虚后判定死活,达成一致后终局 | 协议死活,争议实战解决 | 数子法 | 7.5 |
| 日本规则 | 不采用 | 禁止 | 两虚(可要求重新开始对局) | 判例判定 | 数目法 | 6.5 |
| 应氏规则 | 采用,但不明确 | 不禁止 | 两虚后判定死活,再两虚后终局 | 提证死活,再两虚后所有棋子为活子 | 数子法 | 7.5 |
| 新西兰规则 | SSK | 不禁止 | 协议暂停,判定死活后终局(对局重新开始时,若对先 手有争议则直接终局) | 协议死活,争议实战解决(对局重新开始时,若对先手有争议则所有棋子均为活子) | 数子法 | 7 |
| 美国规则 | SSK | 禁止 | 两虚后判定死活,再四虚后终局 | 协议死活,争议实战解决,再四虚后所有棋子为活子 | 等手比目 | 7.5 |
| 智运会规则 | SSK | 禁止 | 两虚后判定死活,再两虚后终局 | 协议死活,争议实战解决,再两虚后所有棋子为活子 | 数子法(收后还子) | 6.5 |
| Tromp-Taylor规则 | PSK | 不禁止 | 两虚(可选择两虚后协议死活,四虚终局) | 两虚后所有棋子均为活子(可选择协议死活,四虚后所有棋子为活子) | 数子法 | ? |
| 现代古棋规则 | SSK | 不禁止 | 首虚后判断死活,再两虚后终局 | 协议死活,争议实战解决,再两虚后所有棋子为活子 | 等手比目 | 6.5 |
为了解决“吃子棋2.0”会导致的问题,我们有:
古围棋3.0
- 1.1 对局在19×19的正方格点上进行,对战双方称为黑方和白方。
- 1.2 每个格点可以被染色为黑,白或无色。
- 1.3 给定格点P,如果没有被染色为C,且存在一条(水平或垂直)起始于P点,由相连的P的同色点组成,终止于某C色点的路径,那么点P能“到达”C色。
- 1.4 “清除”一种颜色是指清空一切不能到达无色的该颜色的格点。
- 2.1 从全盘无色的格点开始,两位玩家轮流行动,白方先行。(明朝似乎是白先,此处可商)
- 2.2 一次行动由以下步骤组成:⑴清除对方的颜色;⑵将一个无色点染成己方的颜色;⑶清除对方的颜色。(清除两次以提取自杀的棋子)
- 3.1 某方的总分,是额外加分与对局中清除对方颜色的格点总数之和。(计俘子规则)
- 3.2 当某方行动使对方重复面临曾出现过的局面时,该行动无效,对方加1分。(不禁颗子自杀,自杀相当于虚着)
- 3.3 对局中首先出现无效行动时,该方额外加1分,对方仍加1分。(实现首虚,保持胜负结果与古棋一致)
- 3.4 对局中出现无效行动以后,再出现连续两个无效行动,那么棋局终局。(类似“1+2”终局条件。想法是:由于该规则下触犯禁全同并不会导致输棋,而是交一俘子,这样在没棋下了的时候最佳策略就是主动触犯禁全同,继而终局,和连续虚手终局效果一致)
- 3.5 黑方额外加7分。(用于贴目,分先感觉贴7目比较合理)
- 3.6 得分高者为胜,平分则为平局。
2023-08-11 19:53:37
注意到两点不足,一是将“一次行动由以下步骤组成。将一个无色点染成己方的颜色。清除己方的颜色。清除对方的颜色”改成“一次行动由以下步骤组成。清除对方的颜色。将一个无色点染成己方的颜色。清除对方的颜色”改变了触发全同的轮着方,会导致禁全同的原表述产生错误;二是“1+2”终局似乎不适合无虚手围棋,因为一共三个无效手,没法平分,打破了等手;三是规则中并没有显式地规定等手,且黑白首虚加同样的分并不能实现等手。更进一步,有交俘子、手数相等的规则,贴目完全可以细化到0.5目,首虚规则并不必要。
古围棋4.0
- 1.1 对局在19×19的正方格点上进行,对战双方称为黑方和白方。
- 1.2 每个格点可以被染色为黑,白或无色。
- 1.3 给定格点P,如果没有被染色为C,且存在一条(水平或垂直)起始于P点,由相连的P的同色点组成,终止于某C色点的路径,那么点P能“到达”C色。相连的同色点称为“块”。
- 1.4 “清除”一种颜色是指清空一切不能到达无色的该颜色的格点。
- 2.1 从全盘无色的格点开始,两位玩家轮流行动,白方先行。(明朝似乎是白先,此处可商)
- 2.2 一次行动由以下步骤组成:⑴将一个无色点染成己方的颜色;⑵清除己方的颜色;⑶清除对方的颜色。若某次行动清除了自己的颜色,这次行动称为“弃着”。
- 3.1 某方的总分,是:
- 对局完全结束后, (计俘子法)
- 对局完全结束后, (计活子法)
- 对局结束后, (数路法)
- 对局结束后, (数子法)
- 对局结束后, (填满计点法)
- 3.2 当某方行动产生的局面曾在对局中出现过,且该行动不是弃着时,该行动无效。(不禁自尽。颗子自尽相当于虚着交一俘子)
- 3.4 先行方弃着后,后手方也弃着,那么棋局终局。(类似“1+2”终局条件,但保证了手数相当)
- 3.5 额外得分为 分。(用于贴目)
- 3.6 某方的得分,是:
- (出入法)
- (归本法)
- 3.7 胜负关系:
- 且 时,先行方胜;反之后手方胜。(出入法)
- 且 时,先行方胜;反之后手方胜。(归本法)
- 时,平局。
- 其他情况待定。
23:29 2021/4/15
围棋只管纵横,要是加入斜向如何呢。吃子似乎太困难了。那么增加吃子的收益如何,仿照黑白棋,将吃的子翻面。八面围住太困难了,设计成纵横或斜向分别围住就能吃子呢。不行,不能分开算,一块棋没法分。我想起新棋吧里带吃子的五子棋,似乎也有这种混搭的感觉。好点子都被想完了,麻烦。
13:38 2021/5/1
眼棋复杂了官子后的情况,因此,在九路小棋盘上也不会很快结束。眼棋是适宜做进九路小棋盘的。由于棋盘上总共只有81个点,眼棋只需要黑白棋子各四十,因而与象棋子有了通用的可能性。棋盘套装正在积极推进中。
2023-08-16 17:14:30
先前的吃子棋4.0原本以为已经完善的,但还是有不足之处。其中之一是把计分法和数子法混到了一起,导致块子自杀可能触发终局;其二是把手数相等作为终局的条件,导致实际上是计活子;其三是没有规定其他方面:让子棋、棋盘、棋子、时间规则⋯⋯
(但是计活子是对的,计俘子因为收后问题,存在实质性的缺陷,容易下成眼棋)
古围棋5.0
- 1.1 对局在 19×19 的正方格点上进行,对战双方称为黑方和白方。
- 1.2 每个格点可以被染色为黑、白、无色。
- 1.3 给定格点P,如果没有被染色为C,且存在一条(水平或垂直)起始于P点,由相连的P的同色点组成,终止于某C色点的路径,那么点P能「到达」C色。
- 1.4 「清除」一种颜色是指清空一切不能到达无色的该颜色的格点。
- 2.1 从全盘无色的格点开始,两位玩家轮流行动,黑方先行。
- 2.2 一次行动由以下步骤组成:①将一个无色点染成己方的颜色;②清除己方的颜色;③清除对方的颜色。
- 2.3 若某次行动清除了自己的颜色,这次行动称为「弃着」(Pass)。
- 2.4 若某方「非弃着行动」产生的局面曾在对局中出现过,该行动无效。(不设禁入点)
- 3.1 对局在「黑方弃着-白方弃着-黑方弃着-白方弃着」后结束。
- 3.2 分先对局中,贴分为 7 分。
- 3.3 得分=黑色格点数-白色格点数(计活子)=被清除的白色格点数-被清除的黑色格点数(计俘子)
- 3.4 得分>贴分,黑方胜;得分<贴分,白方胜;得分=贴分,「首次弃着」者胜。
注释
- 1.0 让子棋中,受让子一方(黑)先在星位、天元放 1~9 颗黑子,然后轮到对手(白)。
- 让先(让一子)贴分为 0 分,让二~九子贴分为 1~8 分。
- 如果要让半子(分先)~八子半,可以在让一~九子的基础上将贴分加上 7 分。
- 1.1 棋盘大小也可选择 9×9 、13×13 、17×17 等规格。
- 1.2 作为辅助得分计算的用具,可以使用第三种颜色(比如透明)的棋子。它代表基本眼位,只能放置在与黑白棋子相邻的无色格点上,且放置它不占用回合。该格点视为无色格点,但在计算得分时不属于任何一方。事实上,这只是对空点的一种标记。
- 2.1 决定先后方的传统办法是猜先:某方抓一把棋子,对手出示一颗或两颗棋子,表示猜测其数量是奇数或偶数;猜对的一方先行。
- 2.3 现代围棋中的「停一手」源自于颗子自杀,因此Pass时应当还一颗俘子,无条件的虚着无法提证死活。
- 3.1 「黑白轮流弃着」保证了双方手数相等,如果不这样规定:
- 协议终局下,若白方首弃,黑方的数目法得分会比数子法少1分,以数子法为准。(见粘劫收后的相关讨论)
- 自然终局下,若黑方收后,黑方的计俘子得分会比计活子少1分,以计活子为准。(「收后」指真正意义上的「最后一手」)
- 3.2 该规则为自然终局,即下到除活棋必需的基本眼位外完全填满棋盘(称「两溢」),此时双方最佳策略都是弃着,对局无法继续。在一般对局中,经双方同意,可以提前结束对局(称协议终局)。
- 3.3 协议终局的得分算法:
- 数目法:将死子回填,用第三种颜色的棋子填满基本眼位,得分=不能到达对方颜色的无色格点数(称为己方目数或路数)
- 数子法:不回填死子,用第三种颜色的棋子填满基本眼位,得分=不能到达对方颜色的无色格点数+己方颜色格点数(称为己方子数或地数)
- 3.4 为了让协议终局的得分与自然终局保持一致,计算某方的得分需要排除活棋必需的基本眼位,这个做法传统上称作「还棋头」。
- 3.5 时间规则:
- 加秒制:每方拥有一个时间池,其中有若干分钟的保留时间,结束回合时向时间池里加若干秒。
- 读秒制:每方有若干分钟的保留时间和读秒时间,保留时间用尽后,每回合时间超过若干秒的,超出时间从读秒时间内扣除。
- 包干制:每方拥有若干分钟的保留时间。
- 其他时间规则,包括两日制、不限时制、等等。
- 3.6 犯规(触犯全同、超时、违反礼仪等等)的处理应当以不影响游戏进程、结果为原则,不宜使用罚分、判负等手段。棋手无异议裁判不得擅自介入。
2024-05-10 16:01:46
古围棋规则极简版:一人一手,落子无悔,气尽提子,子多为胜。(这里的「子多为胜」可以指俘子或活子;「落子无悔」包含了psk的内容——对局中的重复局面一定可以由双方轮流悔棋达到)
注释极简版:
- 让子棋额外贴n-1分。
- 计算分数的办法可任选。
- 尽管规则里没有真正的「虚手」,但可以交一俘子模拟停一手。
2026-03-10 18:31:11
关于现实复杂度
这是一篇2021年的旧文,讨论的是棋类游戏的规则设计相关问题,最新版本见关于「现实复杂度」
以下所有讨论实际上都是为游戏设计服务的。我尝试说明,在棋类游戏的范围内,什么样的游戏是好游戏。由于棋类游戏这个限定词,我可以更多地关注玩法,尤其对于桌面棋类,我可以只关注「离散」的玩法⸺在空间上表现为由一个个格点组成的棋盘,在时间上表现为由一个个回合组成的游戏进程。为了客观评判玩法的优劣,我尝试在主观的判断中找到一些客观的依据,以此指引我的设计,这个依据就是「现实复杂度」。
在引入「现实复杂度」的概念之前,请先思考一个问题:围棋棋盘为何从十七道扩展为十九道,而象棋棋盘仅仅是从8×8发展为9×10,却没有变得更大呢?
我们自然地想到,人们是觉得原来的游戏不够难、不够复杂,才会扩大棋盘、增加棋子⸺这是提高复杂度最简单的两种方式。
然而,围棋的难度远远没有被穷尽,即使是目前最先进的围棋ai,也未能穷尽围棋的变化。那么当初棋士扩大围棋棋盘的理由就耐人寻味了:也许,即使是17×17的巨大棋盘,即使是「千古无同局」的高度复杂性,仍不能满足棋士们。或者说,我们所感受到的复杂度,要远远低于其复杂度的上限。
再看看象棋,中国象棋从宝应象棋发展而来,棋盘扩大到9×9,又增加了楚河汉界,变成9×10;棋子改动也不小,最大的变化是加入了「炮」。但宋代以后,象棋基本定型,大家认为它已经足够复杂了。
同样是「足够复杂」,十九道围棋与中国象棋的复杂度难道是差不多的吗?这似乎有悖于我们的常识。在相关研究中,围棋的「状态空间复杂度」与「策略树复杂度」是远远大于象棋的,其差距有几十个数量级。然而,围棋的棋手与象棋的棋手同样是人类,脑力并没有如此显著的差异,虽然围棋爱好者们在大众印象中更加硬核,但这难以解释巨大的复杂度差距。在长久的历史发展中,人们修改围棋与象棋的规则,使其复杂度处在大家能够广泛接受的范围中,由于历史足够长,我认为实际上两者的复杂度已经到了相当接近的水平,至少没有数量级上的巨大差别。
显然,原来使用的几个复杂度指标(状态空间复杂度、策略树复杂度)并不能很好地描述我们实际感受到的游戏复杂度,我们需要一个新的复杂度指标。
在与室友讨论后,我认为,对一种棋类游戏,可以简单地用算路的深度表示玩家水平。算一步棋需要理解规则,然后经过剪枝,考察可能的变化。那么规则越复杂,算一步需要消耗的脑力越多。对于一个水平固定的玩家,当他轻松算清获胜途径,他觉得游戏「简单」;当他感到自己脑子不够用,他认为游戏「难」或「复杂」。因此,姑且定义「现实复杂度」为行棋时实际需要的脑力。人们通常认为玩更复杂游戏的人会对同类的简单游戏形成降维打击,在dota-lol-王者荣耀玩家的辩论、在柯洁赢得斗地主冠军的评论区里,这类观点都很常见,而这可以用上述模型解释。当然,「现实复杂度」目前还没有一个很严密的定义,我希望未来通用型人工智能的出现能解决我的难题。
那么为何「现实复杂度」与另外两种复杂度差距如此之大呢?应该注意到,对游戏复杂度的描述,基本都是基于计算机科学的。人脑相比电脑,有一个显著的特点是内存极小,因此对任何复杂的规则都难以记忆,尤其是那种充满特例,难以抽象为和谐统一有机体的规则。计算机则不然,加几个限定条件并不拖慢运行速度,重要的是储存容量远大于人脑,耗时间的不是记忆,而是运算。因此,计算机看来难度相差极大的两种游戏,对人类来说可能差距很小。那么基本可以认定,象棋在9×10棋盘上达到了围棋19×19同数量级的「现实复杂度」,是由于象棋的规则更复杂,也就是说,「现实复杂度」与「规则复杂度」正相关。
「现实复杂度」还与什么因素相关呢?首先,既然这是人类感受到的实际的复杂度,自然与人类的大脑有关。越高水平的棋士能够动用更多的脑力来行棋,能够算到更多步数之后的变化。对同一种棋,不同人体会到的「现实复杂度」显然是不同的。显然,「现实复杂度」还与棋的种类有关,但我认为不同棋种,尤其是经过时间考验的流行棋种之间,其复杂度差距并不大,都受限于人脑的极限运算能力。毕竟,无论是围棋还是象棋,人类棋手的水平都远远没有到达穷尽所有变化的地步。
第三个因素,也是最重要的因素,我认为是「策略复杂度」。为什么不用传统的两种复杂度指标,而要新造一个概念呢?因为游戏是给人玩的,而「策略树复杂度」或「状态空间复杂度」都不能正确表示现实中的游戏深度。下面给出解释:
「状态空间复杂度」表示所有可能性,显示的是现实复杂度的上限,棋盘大小是它的一个小小侧面。状态空间复杂度不能正确拟合实际复杂度,它往往过分夸大游戏复杂性。想象一个100×100的棋盘,着一子于左上角,每步走一格,到达右下角胜利。100×100的巨大棋盘,无疑有很大的状态空间复杂度,但它难吗?傻子都知道走对角线最快。
「策略树复杂度」表示所有可能的走法,以上文游戏为例,它去除了许多不可能发生的走法,比如第一步走一格,第二部突然走五十格,等等。但还是那句话,傻子都知道走对角线,你却统计了所有绕弯路的走法,这显然也不能正确表示实际复杂度。
那么出了什么问题呢?我认为是游戏设计的「不均衡」导致的。这里的不均衡,指游戏的所有策略有明显的优劣之分,导致剪枝非常容易,「浪费」了设计者预想的复杂度。比如上文那种棋,走对角线显然是最优走法,玩家在得出最优策略后就无需理会其他任何策略了。由于玩家实际上非常容易得出最佳策略,那么这个游戏实际上是「简单」的,无论棋盘扩得多大,都无法使其拥有足够的现实复杂度。我认为,玩家实际得出最优策略的难度,即「策略复杂度」,就是我们实际体验到的游戏深度,也是游戏设计应当关注的因素。
这里举例说明「不均衡」是如何破坏游戏策略深度的:
首先,对于绝大多数回合制棋类,先后手不平衡都是现实存在的现象。比如五子棋,在没有其他规则的情况下先手是必胜的。必胜策略面世后,严重的「不均衡」出现了:五子棋就变成了一个背谱游戏,即使不断加禁手也只是背新谱而已。本来五子棋发展势头正盛,必胜策略给了它沉重一击。
我们可以看到,先后手的不平衡会影响游戏的均衡性。有一个经典的误区是:虽然先后手不平衡,但玩家分配到先后手的概率是一样的,因此仍然不失公平,并且让游戏更刺激了。我们知道这个观点是不对的,但往往找不到好的理由去反驳。但现在我们可以说:严重的先后手不平衡会容易得出最佳策略,进而破坏游戏的「策略复杂度」,伤害游戏深度,因此尽管并不影响公平性,仍然应该尽量避免。
对此,不同的棋类游戏有不同的办法,常用的解决方案有贴目、交换、二打等。五子棋在引入一手交换后,比赛的情形有明显的好转。另一个有趣的解决方式是六子棋贡献的:每手交换,即ABBAABBA……如此轮换。可以看到,它在形式上表现为除第一手外,每人连下两手棋。
其次,对于多兵种棋类游戏,比如各种杀王棋,棋子间的不平衡是常见的。如果这种不平衡过了头,策略深度就完蛋了。比如,如果给中国象棋设计一种强大的新棋子,它不能被吃、能走任意格、不会被阻挡,那么走其他棋子就毫无意义,象棋就变成一个棋子的游戏了。你看,一个不平衡的棋子使象棋变得多么「简单」。事实上一般热衷于设计新棋子的爱好者一般也不会设计出这么强的棋子,但只要新棋子离开了一个合理区间,游戏的策略深度都会受到不利的影响。考虑到棋子间的相互影响,以及棋盘对棋子的影响,这个问题会变得十分复杂。但一般而言,在一个比较长的演变历程中,人们会通过打补丁的方式解决这个问题。
现在我们知道,「现实复杂度」与「策略复杂度」正相关,而「策略复杂度」与游戏深度与游戏乐趣高度相关,在情况允许时,应尽量提高游戏的「策略复杂度」。
对于一种棋类游戏而言,规则是复杂好还是简单好呢?如上文所说,一种优秀的棋类应当有合适的「现实复杂度」,与围棋、象棋等流行棋类处于同一个区间。我们可以近似认为它的「现实复杂度」是一个常数。那么,在其他条件不变的情况下,规则越简单,策略深度越高。
从另一个角度看,规则复杂度会压缩算路深度,也就是说规则太复杂的游戏,人类很难算清好几步之后的变化。那么,这首先不利于高水平对抗,极端情况下,职业选手和普通人下棋都是丢石头,对胜负没有半点影响。这时,棋士就失去了提高的途径,失去了钻研的动力。其次,低水平棋手进步会很困难,感受不到自己的成长。举个例子,围棋爱好者通过钻研与对战,实力上涨,能多算一步,能压着之前的对手打,能直接感受到自己的进步。而镰仓大将棋的棋手呢?要多算一步何其困难,你的小小提升并不能带来实际的收益。成长带来成就感,胜利带来快乐,在游戏之外,规则简单的棋种为棋士创造更多的价值。
还有一点,规则更复杂的游戏每多算一步要消耗更多的脑力,那么,算零步的门外汉与算一步的入门者之间的差距也更大,俗称门槛高。任何游戏都要在知道规则的前提下才能玩,门槛高意味着想玩这个游戏都很困难,这显然不利于推广,也难以扩大影响力。你看,镰仓大将棋有普通的将棋受欢迎吗,如果不是出于猎奇,恐怕这种棋早就消失在历史的尘埃中了。
我们说,「易学难精」是好游戏的一个特点,从前文可以看出,这实际上就是「规则简单、充分复杂」。因此,大道至简,棋类游戏的规则越简单越好。
讨论到这里就够了吗?恐怕不是的。我之前一直在讨论的,仅仅是静态的「现实策略复杂度」,而棋局是动态的过程,复杂度的变化同样存在于棋局的各个阶段之间。下面是一个例子:
围棋是设计得很优秀的一种棋类,虽然难以得出最佳策略,但在序盘和官子阶段,又相对容易得出较优策略。序盘时情况简单,大可不必考虑具体的攻杀,只需注意大势。收官时棋盘上可落子的点越来越少,计算也越来越容易。我们注意到,对计算机来说,最开始的时候棋盘上每个点都能落子,情形是最复杂的,对人类而言则不然,这是因为人类有模糊计算的本领,现在深度学习也在利用算法模拟这种能力。我们看到,这种优秀棋类的复杂度曲线对人类来说是纺锤形的:序盘情形简单容易入门,中盘导向复杂引人入胜,终盘回归简单柳暗花明。
我认为只要游戏规则是简明的,人类通过模糊计算,体会大势,很快就能总结出游戏的较优策略,俗称「大势」,又叫指导思想。那么问题就在于游戏会不会走向复杂,会以什么样的速度滑向复杂。显然,所有优秀的棋类都应该有充分的中盘深度。而另一方面,如果序盘到中盘的局面展开太快,很可能大多数人玩得一头雾水,体验不到乐趣。如果太慢,极端情况下就是一本道的计算,同样体验不到乐趣。是以对理想的复杂度曲线,其斜率大于零,且大小适中。
现在讨论终盘,世界四大棋类的难度都是收敛的,这仅仅是个巧合吗?终盘难度降低有几个优点。第一个好处,就是能使对局平均步数方差比较小,而减少太过迅速或冗长的对局。另一个好处是,经过中盘的高强度思考后,终盘能够让棋手重新聚焦于胜利,意识到自己离终局越来越近,这会给棋手紧张刺激的感觉;而终局更多是直线计算,有利于棋手算得更远。那么胜利了,就是「我精心计算赢得了胜利」,失败了,就是「可惜,要是算到了就不会输」,赢了成就感很高,输了挫败感不强。而且,无论输赢都明明白白,赢得明白,输得也明白。这同样是一种正面的反馈,吸引着棋手再来一局。因此,形状比较类似正态分布的难度曲线,对于游戏的吸引力是有很大帮助的,这是围棋、国象、中象、跳棋经久不衰的一大原因。
那么,是不是难度不收敛的游戏就不是好游戏呢?恐怕也不尽然。观察之前我们对终盘的叙述,可以发现收敛的好处并不在于游戏性的优越,而更多体现在对玩家心理的迎合与游戏时间的控制,这些都是棋盘之外的优点。不收敛的游戏当然也有好游戏,比如黑白棋,后期局面并不会变简单;比如魔方,后期每一步都要拆解为更多的步骤。
总之,平衡是棋类游戏的设计中一定要注意的事情,这没什么捷径可走,只有多思考,多测试,多调整。那么,在保持合理的「现实复杂度」的同时,拥有充分的「策略复杂度」与较低的「规则复杂度」,这款棋类游戏的玩法设计就比较成功;设计风味等因素以后再谈。
围棋规则的计俘子迷思
闲话围棋规则是网络上讨论围棋规则最好的文章之一,作者提到等手是联系死子回填、唯空是地、双活无目这些规则的逻辑纽带,要想保证中日韩规则相互等价,就得保证双方等手。而要实现等手,就需要虚手时归还俘子、并保证终局时是后手方收后。
那么明清出现的「先手方收后获利」是不是正确的呢?不等手使得数子法和数目法结论不同,协议终局下一盘先手方收后的棋,为了手数平衡再下一手,按数子法结果没任何变化,按数目法后手方会少一目,这是把数目法的结果向数子法校正了。倘若换种办法做等手,先手方直接不收单官,就是反过来把数子法的结果向数目法修正了(这正是唐宋时期对弈的习惯)。
围棋的协议终局建立在双方地盘划分无误的基础上,要是双方棋手没有算清,下完单官再多下几手提光死子都是合理合法,哪有不准下单官的道理呢?这既不合棋理,也有违实战解决、提证死活的原则,因此要做等手也应该用第一种方法,其结果等价于数子法。看来明清的做法似更合理。
向两溢的情况做推广,逻辑也是类似的:对一盘下到了自然终局的棋,先手方收后那一手如果不下,俘子没有变化、活子少了一颗,这是把计活子法的结果向计俘子修正;如果要求后手方送一颗子去做等手,那么先手方的俘子多一颗、活子无变化,修正方向相反,是把计俘子法的结果向计活子修正。
(小贴士:计活子法就是下到棋盘满了,双方都无处落子,不愿填死自己的棋块而选择停一手,自然而然结束对局,这时根据棋盘上的活子数量判断胜负;计俘子法就是自然终局时根据吃子数量判断胜负,注意停一手本质是颗子自杀,也算吃子;等手时计俘子与计活子等价。)
| 做等手方案: | 多下一手 | 少下一手 |
|---|---|---|
| 协议终局 | 数子法 | 数目法 |
| 自然终局 | 计俘子 | 计活子 |
我们知道数目法或数子法加上还棋头就是为了在协议终局时模拟自然终局的结果,那么是不是唐宋数目法的结果等同于计俘子法,明清数子法的结果就等同于计活子法呢?这是不对的,协议终局下先手方收后完全不意味着下到自然终局时也是先手方收后。例如,当湖十局的第一局是黑收后,下到两溢是黑下最后一着;第七局同样是黑收后,到两溢却是白下最后一着;第八局是白收后,两溢时是白下最后一着;第十局同样是白收后,到两溢却是黑下最后一着。由此可见,自然终局时谁下最后一着也和前面协议终局的收后方全然无关。
(为了区分这两个概念,下文的「收后」都指自然终局下的收后⸺真正意义上的最后一手;协议终局下则应该使用「首虚」这个术语,首先停一手的玩家的对手,就是协议终局下的收后方)
不难发现,按照唐宋数目法「少下一手」的做等手习惯,上面每局协议终局时都应该是黑收后,但两溢时最后一着却有黑有白,所以唐宋数目法的结果和计俘子法并不等价;同时,每个未收的单官都会导致唐宋数目法的结果和计活子法产生偏差。因此可以断定:不下单官是错的,先手方收后获利是对的。
实际上,不管是数目法还是数子法,都是通过计算棋盘上的地盘来数棋的。数目与数子的区别,无非在于是「数未来的活子」还是「数现在与未来的活子」,本质上都应该是计活子法的等价形式。所以,正确的数目法应该收完单官,并通过多下一手来做等手,以保证数棋的结果和数子法保持一致,正确反映计活子这一底层逻辑。
那么计俘子法呢?我们已经知道引入「虚手还俘子」之后计活子、计俘子在先后手收后时仍有细微的差别,且无论数子法、数目法都没有考虑过自然终局下的收后问题,这就说明两种数棋法均非计俘子法的等价形式。因此要想建立计俘子法的等价形式,收后问题就不能不考虑。
有什么办法可以判断真正的收后方?先不考虑双活,此时双方子数之和是361个交叉点减去偶数个基本眼位,仍是奇数,因此(盘面上的)胜方必定收后;若是败方,最后一着必然是颗子自杀,没有收益当然不收后;平局的情况,应该是后手方收后。再考虑双活,无眼双活不影响,奇数个有眼双活会改变收后方。这么说,要想得到计俘子法的结果,在一般情况下,在计活子法的基础上对先行的胜者扣一分即可。
然而,倘若玩家选择在对手的空中填子,而非填在自己的空中,行棋的手数就会发生变化;同时,提子数量也会对上述结论产生影响;另外,即使排除这些干扰,块子自杀也是有些规则(如应式规则)所允许的,而这种行为显然会让手数发生变化。因此,自然终局下的收后方没法简单判断。这意味着,只要玩家不实际下到自然终局,计俘子法的结果就很难确定。(同时还意味着计俘子规则下可以靠填子实现半目逆转。)
那么,如果按计俘子法提出者章浒的方案,下到自然终局时强求手数平衡,逼迫未能收后的后手方再额外交一枚俘子,能不能解决问题呢?这个方案有两个问题:一是在一些排局下(比如全局双活图),并没有可供自杀的眼,「虚手交俘子」失去了理论基础;更重要的是,该方案本质上并不是计俘子⸺先行方两溢收后的情况下,要平衡手数只有后手方多送一颗子,结果先行方反而比计俘子多便宜一子,变成计活子了。
如果少下一手呢?少下一手还能叫「两溢」吗?如果允许先行方在有地可下的情况下直接结束游戏,那么没有任何理由强迫盘面落后的玩家在无地可下时陪着对手填子。归根到底,自然终局是双方玩家出于损失最小化的策略,都选择虚手才能实现的。等手只是为了结果换算方便,不能破坏基本的终局条件。唐宋数目法的弊病也是类似的,数目法下粘劫收后同样是合法行动,没有道理不让下,只是古代棋手不愿斤斤计较罢了。
总之,「两溢子多为胜」的规则不能强求等手,否则即使文本中「子」的含义就是俘子,结果也将成为实质上的计活子。进一步地,等手、计俘子、两溢组成了一个不可能三角。
从历史上看,我认为最初的古人下围棋时不太可能强求双方手数相等,特别是不可能对两溢时收后的这一子锱铢必较,甚至都没有证据证明古人意识到了「自然终局下存在收后问题」。因此目前没有任何理由认为古人会在自然终局下要求等手,章浒的计俘子规则更像是古棋规则的一个理想模型,是个真空中的球形规则。
另外,他「计俘子比计活子更早」的主张也是可疑的,尽管围棋的前身很可能是一种「一子胜负」的吃子棋,但「一子胜负」既不能叫计活子,也不能叫计俘子。在接下来的历史中,吃子棋可能是直接进化成了围棋,也可能经历其他过渡形态,比如陈祖源设想的「一眼活棋」时期。如果吃子棋不是直接飞跃成唐宋规则,那么「围棋思维从单纯的吃子到围空」这一转变肯定在「两眼活棋」前就早已发生了。即使没有中间形态,「产生两眼活棋规则」本身就意味着当时的玩家已经有了做活的意识,那么用活子来判断胜负也是自然的。何况,前文已经说明,古人即使用过计俘子法,到唐宋时已经是本质上的计活子了。
无论如何,死活死活,杀棋、做活永远是一体两面,计俘子和计活子也是表里一体。围棋规则的本质是如此简洁,「有气则生,无气即亡」就足以表述,这也是「木野狐」千年以降的迷人所在吧。