PANDOCARDS
设计文档 v0.6 · 2026.09

盒子已经打开了。规则依然生效。

The box is open. The rules still hold.

把一篇文章贴进来,回答几个问题,在几个方向里挑你喜欢的。后台的 AI 会把它做成一局能玩的卡牌游戏,地图、牌、敌人和胜负条件都是现写的。

AI 负责立法,Pandocards 负责保证它能编译通过。

An LLM writes the laws. Pandocards makes sure they compile.

示例牌面,来自一场虚构的港口封锁

一局怎么开始

你做决定,后台负责展开

  1. 你

    贴一篇文章

    历史、科技、体育、科学、文化类的文章最合适。你可以再附一段自己的经历,它只用来决定从哪个角度切入。

  2. 你

    回答几个问题

    系统用大白话摆出几个方向,你挑自己想玩的口味,比如围绕封锁累积压力,或者多方抢同一份资源。

  3. 后台

    并行生成

    多个 AI 把选定的方向分块展开成地图、牌和敌人,再交给程序检查。你回答完问题时,大部分内容已经在路上了。

  4. 你

    开玩

    通关或失败后,可以给这局的创意打一个分,也可以跳过。分数是否共享由你决定,默认不共享。

示范

一段报道里,有五处会变成规则

点一下带黄色标记的词,看它在规则里对应什么。文章和数字都是虚构的。

示例报道 · 虚构

封锁第九天,港口等一个决定

北港封锁进入第九天。船东协会说,泊位只剩十二个,而封锁预计第十二天解除。协会提出可以先垫付检疫费,条件是之后三周的泊位优先给他们。港务局内部有人认为,只要撑到那一天就够了,不必答应任何条件。

船东协会 actors

站在对面的一方,变成一个带阵营的角色。side 写 foe,control 写 auto,表示它按固定的剧本行动,玩家只能看到它下一回合要做什么。

actors:
  - id: shipowners     # 船东协会
    side: foe
    control: auto

代码是示意写法,字段名以正式的 DSL 规范为准。

同一套牌

换一层意思,就是另一种玩法

引擎只做数字的加减,不知道哪个数叫血量,哪个叫好感度。这一局怎么算赢,写在场景里。

1能量动作
重击
对一名敌方,
生命 −8。
目标:foe
cards:
  - name: 重击
    target: { side: foe, count: 1, mode: player_choice }
    effect: { resource: hp, delta: -8 }

pass_condition:
  { side: foe, resource: hp, op: "<=", value: 0, quantifier: all }

敌方的生命降到 0,这个节点就算通过。

两张牌的结构一样,都是先选谁,再改哪个数。差别只在名字、方向和终点。

AI 写,程序验

每个场景上桌之前,要过六道工序

虚线框的步骤用 AI,实心框的步骤是普通程序。能用计算解决的地方,不调用 LLM。

史官Chronicler

读你给的文章,抽出各方、冲突和争夺的东西,联网补充背景并注明出处。它会拒绝正在进行的冲突和灾难,也不会把在世的具体人物做成要被打倒的敌人。

AI联网搜索

召唤师Conjurer

先发散出多个方向,筛掉平庸的,再把选中的那个展开成完整设计。它只写设计,不写任何数值。

AI

校准师Calibrator

给设计填数值。普通内容按公式填,承载核心设计意图的内容再由 AI 复查一遍。

公式AI

编译器Compiler

检查规则合不合法:引用的东西都存在,不会无限循环,这一局一定能结束。

程序

裁决器Arbiter

验证这个场景至少有一条路走得通。它只做加减乘除,不调用 AI。

它具体怎么算
  1. 地图上的每条路线,加上每次奖励的选择,合起来叫一个组合。它把所有组合都过一遍。
  2. 对每个组合,按沿途拿到的牌,估算每个节点要打几回合、会损失多少、能推进多少。损失往大里算,推进往小里算,所以结论偏保守。
  3. 只要有一个组合能一路算平并达成胜利条件,就通过。
  4. 一个都没有时,让一个很笨的策略,只挑推进最多的牌,按事先定好的抽牌顺序真打一遍。打得通就放行,并把这套出牌顺序随场景存档。

它故意不去理解机制的含义,所以不会和写机制的 AI 犯同样的理解错误。

程序

引擎Engine

运行通过全部检查的场景。没有随机数,玩家可以按节点悔棋。

程序

规则依然生效

不管生成了什么场景,这六件事不变

现在做到哪了

演示版能玩,完整引擎在路上

以下依据 2026 年 9 月底的设计文档 v0.6。

已经有的

  • 能玩的演示版。前端加一个演示用的引擎,规则是写死的,用来试手感。
  • 设计文档 v0.6。规则语言、编译器、裁决器和三阶段生成都有成文的设计。
  • 五次实验。用三个手写场景去试规则语言,找出 17 处写不出来的地方并补上,也验证了裁决器的做法可行。
  • 生成管线各模块的实验版本。

还在做的

  • 完整引擎。按 v0.6 重写,演示版的引擎写不出设计文档里的全部内容。
  • 边问边做的前端。把一次性生成改成人和 AI 共同确认方向。
  • 等待时间。一次生成大约要 1 到 4 分钟,取决于模型速度,等待期需要真正有事可做。
  • 验收系数的标定。目前只在一个手写关卡上标定过。
  • 找真人来玩。

正在研究的问题:读过原文的玩家,能不能更快看懂 AI 做出来的新规则。计划投稿 CHI 2027 Late-Breaking Work,截止在 2027 年 1 月,仓库会在投稿时以 MIT 协议公开。

怎么参与

仓库公开后,可以从这几处开始