Skip to content

Latest commit

 

History

History
48 lines (31 loc) · 7.3 KB

File metadata and controls

48 lines (31 loc) · 7.3 KB

问答与澄清

  1. 请提供玩家人数→四类角色(镇民、外来者、爪牙、恶魔)数量的标准配比表,以及剧本要求的调整细则(如男爵 [+2 外来者] 的具体应用时机与范围)。

A: 请参考角色配置,这个规则是全局的,你可以将这个数量表硬编码到代码中。不过特殊角色确实会影响这个初始比例,影响的时机是游戏开始前,例如:初始玩家数量=8,那么正常情况下,你需要配置5个镇民,1个外来者,1个爪牙,1个恶魔。但是如果剧本中包含了男爵,那么你需要配置3个镇民,3个外来者,1个爪牙,1个恶魔。此外还有酒鬼角色,我在QA的下面另一个问题中有详细描述。角色配置请交给一个基于LLM的agent完成,它可能较为复杂,无法通过固定代码解决。

  1. firstNight / otherNight 字段:数值 0 是否明确表示该角色当晚完全不行动?若角色在场但数值为 0,是否仍需在该阶段向说书人提示该角色的提醒文本?

A: 数字为0表示该角色当晚完全不行动,不提示任何提醒文本。即便角色在场,也不需要向说书人提示该角色的行动。例如,一共有12人参与游戏,首夜只有4个角色的firstNight!=0,这意味着首个夜晚,你只需要让说书人处理夜晚行动这一部分逻辑循环4次,分别处理每一个角色的技能,对于其他玩家,当他们不存在。不过有时候也有例外,这里请开发一个可以动态维护的当晚行动列表。有一些及其特殊的技能可能会让玩家的角色发生变化,从而使得夜间即将行动的玩家数量动态变化。

  1. setup 字段的语义:当值为 1 时,是否表示该角色对局设置时需应用该角色的剧本调整(如酒鬼、男爵),且该角色可能未分配给任何玩家但效果仍生效?

A: setup的含义是它会影响初始角色分配。其中最特殊的是酒鬼,如果一个玩家实际上是酒鬼(外来者数量+1),你其实需要告知他是一个证明,然后为他配置一个token:“是酒鬼”,这样表面上镇民的数量似乎多了一个,但其实他是外来者。男爵类似,如果你决定初始的爪牙中包含男爵,那么初始的角色比例就需要-2镇民并+2爪牙。你可能还会遇到其他可以+-角色数量的技能,这一部分推理请交给agent完成,这不是硬编码代码能解决的。

  1. reminders 与 remindersGlobal:请确认添加与移除这些 token 的触发时机与生命周期(夜晚结束是否清除、是否可叠加、是否跨昼夜保留)。

A: 所有的token都可以在游戏的任意时刻添加或清除,具体触发添加或清除的一定是对应的技能,例如游戏初始时添加的“是酒鬼”token,这个token在配置角色时添加并持续一整局,没有什么技能能解除它。有些token在角色发动技能后由agent决定添加,并定时解除,如投毒者:技能发动后,他选择的玩家立刻被标记“被投毒”并处于中毒状态,但是会在下一个白天结束时被消除。注意这些事件很灵活,建议在实现时,通过在token中追加描述的形式,让agent智能的处理,尽量不要写固定代码。token是可以叠加的,多个技能可以对同一个角色生效,可以一直追加下去。

  1. 日间流程的最小化交互:提名与处决的 CLI 操作流程是否由说书人主动引导,还是由玩家通过固定命令触发(如 !execute <seat>!skip)?请提供你期望的命令清单与约束。

游戏的一切流程流转都应该由说书人主动引导。所以日间可能发生的事件,如:玩家主动发动技能,玩家受技能影响被动发生一些变化,玩家被处决或者白天无人处决直接进入黑夜都要由说书人先发问并由玩家确认,一个典型的日间流程如下:(夜晚结束进入白天)-> (如果不是第一个白天,此时一般昨晚会有玩家被恶魔杀害)宣布昨晚谁死了(可能有多个玩家)-> 宣布大家可以进行聊天,如果有人要发动技能,请告知自己的座位号和选择 -> 如果有人发动技能,执行并告知结果(也可能无事发生)-> 重新询问是否有人要发动技能,直到无人要发动技能-> 说书人宣布接下来进入提名环节,请决定谁要被处决然后告诉说书人结果 -> 如果有人被处决,宣布死亡并进入夜晚,如果无人被处决,直接入夜

  1. 胜利条件的补充:除“无恶魔存活”与“仅剩 2 名玩家且其中一人是恶魔”外,请列出本剧本或通用规则的其他胜利条件与判定时机(例如圣徒被处决导致邪恶胜利、镇长 3 人存活且无人处决导致善良胜利)。

通用规则没有其他胜利条件了,本剧本中的特殊胜利确实仅包括这两个,他们的判定时机都是白天结束时。不过注意,其他剧本可能有其他更灵活的特殊胜利判断条件,不要硬编码在某个时刻判定,请提供一个function_call给agent,并补充合适的技能知识给他,这样它就能在每次智能决策时都检查是否游戏已经结束了。

  1. 旅行者(team=traveler):当前是否完全不参与分配与行动顺序?如在示例 JSON 中出现,是否应在调度与胜利结算中完全忽略?

是的,完全忽略他们。旅行者是一种特殊的扩展规则,我们暂时不支持这种玩法。暂时不允许游戏中出现这类角色。初始化角色、调度和结算时都不要考虑他们。

  1. 请提供角色配置表的具体内容或在仓库中添加 角色配置.md。目前引用了该文件但未找到具体数值,为避免错误实现,请给出标准表或确认由 LLM 完全推理生成,不需要硬编码辅助知识。

以下是角色配比: 角色配置 根据不同的玩家人数,会安排不同数量的角色类型。下表记录了每种玩家数量下各类角色比例。 如果玩家数量是5,那么应当有3个镇民、0个外来者、1个爪牙、1个恶魔。 如果玩家数量是6,那么应当有3个镇民、1个外来者、1个爪牙、1个恶魔。 如果玩家数量是7,那么应当有5个镇民、0个外来者、1个爪牙、1个恶魔。 如果玩家数量是8,那么应当有5个镇民、1个外来者、1个爪牙、1个恶魔。 如果玩家数量是9,那么应当有5个镇民、2个外来者、1个爪牙、1个恶魔。 如果玩家数量是10,那么应当有7个镇民、0个外来者、2个爪牙、1个恶魔。 如果玩家数量是11,那么应当有7个镇民、1个外来者、2个爪牙、1个恶魔。 如果玩家数量是12,那么应当有7个镇民、2个外来者、2个爪牙、1个恶魔。 如果玩家数量是13,那么应当有9个镇民、0个外来者、3个爪牙、1个恶魔。 如果玩家数量是14,那么应当有9个镇民、1个外来者、3个爪牙、1个恶魔。 如果玩家数量是15,那么应当有9个镇民、2个外来者、3个爪牙、1个恶魔。

如果参与到游戏中的角色技能可以改变初始角色数量,那么在按照上表确定初始比例,再按照技能效果予以修正,镇民以外的角色数量增加可以扣减镇民来替换。例如男爵+2外来者,意味着初始镇民数量-2,外来者数量+2,除非剧本中外来者总数不够用