提示

本页面是关于官方游戏的词条。

概述

  • 游戏名称:弈局残响
  • 制作方:暮雨
  • 发行日期:2026年7月24日
  • 运行平台:Windows
  • 游戏类型:单机策略围棋文字解谜游戏
  • 售价:免费

《弈局残响》是绒花计划新作的第一部官方游戏,由暮雨制作,运行平台为Windows。游戏故事线承接莲生玉宇,讲述的是凤凰黄泉棋境中的故事。该游戏开源且免费。

游戏系统

架构

《弈局残响》采用Python与Pygame开发,依赖PyInstaller打包为.exe文件。代码主要由 main.pygo_board.pynarrative.pyrenderer.pydata.pyeffects.pyeffect_executor.pyaudio_manager.py 八个模块构成。游戏以状态机驱动,主要状态流转为:TUTORIALTITLEPLAYINGFINALE_CHOICE → (SACRIFICE_MODE 或直接) → ENDING

围棋规则

本游戏在传统围棋的基础上进行了一定的简化和变通:

  • 棋盘:固定 13×13 路微缩棋盘,设九星位((3,3)、(3,9)、(9,3)、(9,9)、(6,6)),无座子制。
  • 先行方:玩家执白先行(承自更古老的围棋规则),象征凤凰之身份——秩序与天衡的守护者。
  • 气与提子:实现标准围棋气数计算与提子逻辑,包括棋串(group)的识别与整体提走。
  • 禁入点(自杀手):落子后己方棋串无气且未提走对方棋子时,判定为非法,撤销落子。
  • 同形重复(Ko):记录上一手棋盘状态,禁止落子后棋盘状态与上一手完全相同,防止打劫循环。
  • 气数祝福(Blessing):剧情节点赋予的特殊状态,下一手落子可越死生之界——即使落子位置形成自杀形(0 口气)也允许落子。祝福在下次落子后自动消耗,且仅对白棋生效。

AI行为逻辑

AI执黑,在游戏中扮演泽代的幻象。采用非阻塞延迟落子(is_ai_turn_pending + ai_action_time),玩家落子后上锁回合,AI在 0.4~1.2 秒后响应。AI策略随棋局阶段动态变化:

阶段手数范围行为模式
开局期第 1~24 手在玩家落子周围 8 邻域寻找空位落子
镜像期第 25~40 手以天元为中心镜像模仿玩家落子(中心对称)
侵蚀期第 41~48 手主动收紧白棋气数,优先选择 2~4 口气棋串的气位落子,为终局献祭制造机会

AI设有兜底机制:若计算出的落子点为自杀手导致 place_stone 失败,则遍历全盘寻找合法空位落子,绝不跳过AI回合,符合决斗的设定。

黄泉侵蚀机制

第41~48手为“黄泉侵蚀”阶段,每次AI落子后触发 apply_curse_effect

  • 气之诅咒:在白棋棋串的气位上凭空落下 2~4 颗黑子(不增加 move_counter),压缩白棋生存空间。
  • 诅咒棋子标记:凭空落下的黑子标记为 is_curse=True,以红色脉冲光晕渲染,区别于正常落子。
  • 视觉强化:画面边缘覆盖暗红色遮罩(vignette),侵蚀程度随手数递增(41手最弱,48手最强);每次诅咒触发屏幕震动(shake)与水波纹特效。
  • 安全校验:诅咒落子前检查黑子是否自杀、是否提前提走白子,若会则跳过该位置。

献祭系统

第 49 手触发终局抉择后,若玩家选择“主动弃子”(选项3),将进入献祭系统(Sacrifice Mode):

  • 献祭条件:落子位置需与己方棋子相邻,且落子后己方棋串被提走(真正的“断大龙献祭”)。
  • 献祭落子:使用 place_sacrifice_stone 方法,跳过气数祝福,直接执行落子 → 提对方死子 → 提己方死子(献祭核心)。
  • 视觉引导:献祭模式下,有效献祭位置以紫色脉冲高亮显示,提示玩家选择。
  • 保底机制:若棋盘上无自然献祭目标,force_sacrifice_opportunity 强制构造献祭场景(两种策略:利用现有棋串收气,或在空旷4×3区域直接构造献祭布局)。

灵体效果系统

剧情选择通过 SpiritEffectEffectExecutor 执行效果:

效果类型说明
LIBERTY_BLESSING气数祝福:下一手落子不受死活之缚
RANDOM_FRIENDLY随机友军:在随机合法位置落己方子
FRIENDLY_STONE / ENEMY_STONE在指定位置落己方/敌方子
REMOVE_STONE移除指定位置棋子
LIBERTY_CURSE气之诅咒(预留接口,暂未实装)

音频系统

  • BGM:两首原创曲目——《星移》(标题界面)、《侵蚀蔓延》(游戏中),循环播放,音量可调(默认 50%)。
  • SFX:三种音效——落子音(place.ogg)、提子音(capture.ogg)、弹窗展开音(popup.ogg),音量可调(默认 80%)。
  • 音效触发规则:popup 音效仅在 narrative.check_story_trigger 返回 True 且 should_play_popup_sound() 为 True 时播放,不在普通落子或提子逻辑中调用。

界面与操作

  • 操作方式:鼠标点击棋盘交叉点落子;主键盘数字键 1-4 选择剧情选项;R键回到标题;Esc 键退出;S 键进入设置界面。
  • UI 面板:左上角显示当前步数(N/49);右上角显示当前执棋者(黑/白棋子图标);祝福状态时显示★ 祝佑可用
  • 濒死棋子 Tooltip:鼠标悬停于濒死棋子(1 口气)上方时,显示该棋子的台词气泡。
  • 设置界面:方向键选择BGM与SFX之音量,左右键调整(步进 10%),Esc返回。

游戏剧情

剧透提示

以下内容包含游戏剧情,请自行决定是否继续阅读。

世界观背景

《弈局残响》是第一款官方游戏,完全依照ROSA系统规范词条制作。游戏以黄泉棋境为舞台,一个由水墨宣纸构成的异空间,玩家扮演的凤凰在此与AI对手泽代展开一场超越生死的对弈。棋局之中,黄泉之力不断侵蚀,常态逐渐被打破,每一步落子都在揭示千年前的真相。

剧情节点(固定步数触发)

触发手数节点标题剧情内容选择分支
第 1 手超然的假象屏幕渐亮,水墨棋盘。凤凰的独白:”……余见灰烬,以为不触则不损。“开始对弈(获得气数祝福)
第 15 手缺席的证明棋盘上出现一颗无法被轻易提掉的死棋。揭示德斯特星的毁灭是凤凰缺席的证明——隐退不是超然,只是错过了最惨烈的坍塌。① 承认自己的懦弱 ② 诅咒自己的无情(均获得气数祝福)
第 25 手镜像的裂痕黑棋开始模仿玩家的落子轨迹。揭示泽代变成石像的真相——“我执伤痕”的真正含义,泽代替凤凰承受了因果,而凤凰选择了涅槃逃离。① 直面泽代的镜像 ② 陷入疯狂的自责(均获得气数祝福)
第 40 手清算的降临黄泉棋境的宣纸开始撕裂、燃烧。凤凰看到了自己如果不逃避本该迎来的结局——和泽代一样,化为死物。恐惧消散,转为平静的绝望。迎接最终的清算(获得气数祝福)
第 49 手终局四十九手已尽,棋盘黑白交错如支离破碎的记忆。黄泉棋境边界坍缩,泽代的声音响起:“这一手,由你决定。“① 交白卷 ② 负隅顽抗 ③ 主动弃子

真相碎片

游戏共设 3 块真相碎片,分别在第 15、25、40 手收集。碎片数量影响结局文本的附加内容:

  • 第 15 手:缺席的证明——揭示凤凰的隐退本质是懦弱,错过了德斯特星的毁灭(末日灾变)。
  • 第 25 手:镜像的裂痕——揭示泽代与凤凰的关系,“我执伤痕”的真正含义。
  • 第 40 手:清算的降临——揭示凤凰本该迎来的结局,直面逃避的后果。

三种结局

结局一:交白卷(坏结局)

玩家放下棋子,黄泉棋境宣纸合拢,水墨褪去。凤凰忘记了德斯特星、泽代与自己,成为黄泉中最安静的幽灵——不曾存在,也不曾消亡。

  • 收集 ≥3 碎片:附加”你曾触碰到真相的边缘,却选择松手。那些碎片随你一同沉入虚无。”
  • 收集 >0 碎片:附加”零星的残响试图挽留你,但你已不再聆听。“

结局二:负隅顽抗(普通结局)

玩家拼命提子,棋盘碎石飞溅,但每提一颗棋盘就崩裂一分。黄泉棋境无法承受暴力,玩家手指开始石化,手臂化为灰烬。终于明白这盘棋从来不是用来赢的——泽代曾试图告诉这个道理。

  • 收集 ≥3 碎片:附加”你知道真相,却仍选择以力破局。真相成为你最后的嘲弄。”
  • 收集 >0 碎片:附加”碎片在崩裂的棋盘中四散,你来不及拾起。“

结局三:主动弃子(真结局)

玩家找到那口气——最后一口气,落子断开它。棋串被提走的瞬间没有恐惧,侵蚀正从身上脱离。被提走的棋子化作一缕光穿透黄泉棋境屏障,粘土世界某处星辰重新亮起,泽代的石像上出现一道裂痕。玩家不再是对弈者,而成为棋盘上最后一颗弃子——这颗弃子改变了整盘棋的走向。

  • 收集 ≥3 碎片:附加”你以完整的真相为献祭。所有的碎片,连同你自己,一同化作那一缕光。”
  • 收集 >0 碎片:附加”即便真相残缺,你的弃子仍换来了一线变数。“

台词系统

游戏内置黑白双方台词池,按顺序循环取用:

  • 黑方台词(15 句):如“灰烬之中,犹存温热”、“子未尝见吾真”、“熵增惟一,真者无欺”、“落子无悔,生死由命”、“余待人归”等,体现泽代的沧桑与宿命感。
  • 白方台词(15 句):如“光驻此间”、“尔闻乎?此风声也”、“时如寒子”、“吾见汝影”等,体现凤凰的孤寂与追忆。

其他资料

视觉特效

  • 黄泉侵蚀滤镜:第 41~48 手期间,画面边缘覆盖暗红色遮罩,中心透明,强度随手数递增。
  • 屏幕震动:诅咒触发时屏幕随机偏移数像素,持续约 200ms。
  • 水波纹:诅咒棋子落下位置生成红色水波纹扩散动画(持续 300ms)。
  • 棋子光晕:被祝福棋子显示金色光晕;诅咒棋子显示红色脉冲光晕;濒死棋子显示红色濒死光晕。
  • 结局差异化视觉:坏结局灰暗褪色脉动;普通结局暗红裂纹崩裂;真结局金色光芒从中心扩散,献祭位置光点闪烁。

结局画面

结局画面采用逐行浮现动画(每字符 40ms,行间延迟 200ms),标题根据结局类型变化:

  • 坏结局:棋局终了 · 沉寂
  • 普通结局:棋局终了 · 崩裂
  • 真结局:棋局终了 · 余响

素材来源

类别名称来源/协议
字体阿里巴巴普惠体阿里巴巴集团,免费可商用
音效place.ogg / capture.ogg / popup.ogg爱给网”飓风影视服务”,CCE0(等同 CC0)
游戏引擎PygameLGPL 2.1 许可证
代码全部 .py 文件MIT 协议(AI 辅助生成部分归作者所有)
BGMbgm_title.ogg / bgm.oggCC BY-NC-ND 4.0(禁止商用、禁止修改后二次发布)

技术规格

  • 开发语言:Python
  • 游戏库:Pygame
  • 打包工具:PyInstaller(生成 _internal 文件夹 + .exe
  • 窗口分辨率:800×800 像素
  • 棋盘边距:90 像素 -帧率:60 FPS
  • 日志系统:输出至 %LOCALAPPDATA%\Yijucanxiang_Logs\game.log

版本历史

  • v1.0.2(当前版本):稳定正式版。
  • v1.0.1:完善加载画面与引导教程。
  • v1.0.0:首个测试版。实现完整三幕剧剧情、黄泉侵蚀机制、三种结局、献祭系统、音频管理、设置界面。

资源