Meinopoly —— 把任何一本书变成一个可玩的世界

可 mod 的大富翁式策略引擎:一条命令,AI 把一本小说读成角色、棋盘、画像与平衡好的规则;LLM agent 还能通过 MCP 坐上牌桌当真玩家。1,489 单元测试 + 45 E2E。

JavaScriptboardgame.ioLLM 管线(抽取/构建/生图/平衡)MCP serverJest(1,489 测试)Playwright E2E

GitHub

引擎恒定,世界全是 mod:角色、棋盘、美术、规则、连胜利条件都是数据。 内置六个世界,而新世界可以由 AI 从一本书端到端生成——

npm run create-mod -- mybook.txt --from-book --portraits --boardbg --auto-balance

四个阶段依次执行,每步可断点续跑:抽取(map-reduce 通读全书,并出人物、 地点、派系)→ 构建(六维属性 + 被动技能 + 个人传记;真实地名拿真实坐标, 虚构世界由 AI 布局)→ 美术(全员像素画肖像 + 时代风棋盘底图)→ 平衡(无头模拟器打几百局锦标赛,爬山调参直到没有角色在统计上过强或 过弱——它曾在一个生成世界抵达玩家之前抓出 67% 胜率的失衡角色)。任何 API 花费前先打印成本计划,一本长篇约 $0.5–1。

玩法在经典之上生长:租金对决(踩到别人的地可以挑战地主而不是付钱, 2d6 + 体力 + 运气÷2)、玩家间交易与轮转拍卖、每十回合轮转并牵动物价的 季节系统、四级建筑、三种可选胜利模式。三种看世界的方式:经典环形棋盘、 战情室地图(发光航线 + 可选岔路)、像素星球(在旋转的夜灯地球上玩)。

最得意的一层:MCP server 让 LLM agent 作为真正的入座玩家加入对局—— 十个工具覆盖建局/入座/座位视角状态/合法着法(与引擎做过 drift-oracle 对测)/ 落子/事件游标。claude mcp add meinopoly 之后,Claude 只看得到自己座位的 信息,然后开始下棋。

七月起,牌桌还会还嘴。舌战群儒给每一次进行中的租金、对决与交易开一个 窗口:这一座可以先讲道理,而不是直接动手——而 attempt_persuasion 就是 第十个 MCP 工具,agent 求情的位置,和人点那一下的位置完全相同。机器人按三 种策略应答(从不、总是、按价值权衡),服务端可以在线关掉整层而不必重新部署, 另有一个挑衅窗口,免得对决卡在一个永远不出现的应战者身上。

这些都不是空话:167 个冻结的游戏日志金样逐字节钉住每一句引擎文案; GitHub Actions 把单元测试、构建与 Playwright 拆成三个互不阻塞的任务, 每次推到 main 都跑一遍——其中一个挂掉,不会盖住另外两个的信号。