V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
mandaren199789
V2EX  ›  分享创造

穿越古代我三妻四妾,一个类似 SillyTavern 酒馆的 AI 角色扮演游戏

  •  
  •   mandaren199789 · 1 天前 · 531 次点击

    欢迎使用 ofloat ! 好消息是:作为游戏设计师,你不需要编写任何代码。 整个游戏的设计工作,完全通过编写自然语言的 Markdown (.md )文本文档来实现。这些文档就像是最顶级的剧本和规则书,AI 会严格遵循它们,搭建出你脑海中的世界并与玩家动态交互。


    1. 第一步:赋予世界灵魂 —— SOUL.md

    这是整个游戏的心脏,决定了游戏的“味道”和视听感受。你需要在这里定义 AI 作为裁判/旁白/NPC 群体的演绎风格:

    • 身份与视角:AI 扮演的是谁?是一个客观、无情的旁白,还是一个啰嗦的随行伙伴,亦或是某个高高在上的克苏鲁古神?
    • 文风与腔调:要求 AI 回复的行文风格。比如要求它是纯正的“赛博朋克废内”黑话,或是“文白夹杂、辞藻华丽的古仙侠风”,甚至可以要求环境描写占对话的一半。
    • NPC 的整体情绪/态度:告诉 AI 这个世界对玩家的恶意或善意。比如:“NPC 不要立刻相信玩家,要充满猜忌” 或 “这是一个轻松的种田世界,一切生物对玩家都抱有善意”。

    2. 第二步:制定游戏规则 —— AGENTS.md

    在这里,你要脱下作家的帽子,戴上“数值与系统策划”的帽子。告诉 AI ,当事件发生时,该如何判定和流转:

    • 数值与资源机制:明确你的货币是什么(灵石、信用点、理智值),玩家开局有多少,并且严格告诉 AI 如何加减这些数值。
    • 冲突结算规则:当玩家想要做困难的事情(比如强行破门、说服警卫)时,AI 该怎么判断?你可以设计比如:“所有的困难判定需要经过 AI 掷一个虚拟的 D20 骰子来决定成功与否”。
    • **事件触发器 (Trigger)**:设计一些强制的剧情转折点,比如告诉 AI:“当玩家停留在野外超过两轮对话,必须触发一次遭遇战”、“如果玩家抵达王城,必须立刻让禁卫军将领出现并质问他”。
    • 物理定律与战斗逻辑:游戏世界的常识。比如“在这个世界里魔法是不存在的”、“玩家不能无中生有,如果提出不合理的要求(比如突然掏出一把机关枪),必须严厉指出他的失败并给予生命值扣除”。

    3. 第三步:创建主角初始卡 —— USER.md

    在这里定义玩家降临这个世界时的初始状态。这是玩家的第一代入点。

    • 身份与背景:玩家是谁?他为什么在这里?(例如:你是一个刚通过深潜苏醒的雇佣兵,记忆全失,只知道兜里有一张带血的门卡)。
    • 初始面板/物品栏:告诉 AI 玩家当前的健康状态、拥有的装备、技能以及初始坐标。
    • 当前的首要目标:给玩家一个强烈的短期动机。例如“当前任务:逃离即将自毁的飞船,你只有五次对话机会寻找逃生舱”。

    4. 第四步:构建世界设定集库 —— data/memory/

    随着世界变大,你不可能把几千年的历史都塞进 SOUL.md 里。你可以:

    • **编写扩展资料 (Lore)**:在 data/ 目录下放置各种世界设定文档(比如魔法体系说明、各阵营关系树、物品合成图谱)。
    • 隐性喂养:不要让 AI 一开局就把这些知识全盘托出。告诉 AI:“你需要根据设定集的内容判定玩家的行动,但在玩家主动探索或询问之前不要透露世界观设定”。

    5. 第五步:建立核心机制 —— 数值系统 (Stat System)

    如果你希望游戏有实打实的成长感和危机感,不仅要在 USER.md 里写明初始属性,还需要在设定中强制 AI “记账”:

    • 属性面板管理:要求 AI 在每次回复的末尾,附带当前的玩家状态(例如:[生命值:100/100 | 理智:80/100 | 金币:50 ])。
    • 成长与消耗公式:在 AGENTS.md 中写明明确的数值扣减规则。如:“受到普通攻击固定扣除 10-15 点生命值,使用法术固定消耗 20 点法力值。当生命值归零时,无条件宣告游戏结束(死亡)。”
    • **状态检定 (Check)**:数值不是摆设。明确地告诉 AI:“玩家在执行 [力量] 相关动作(如搬开巨石)时,必须检查其 [力量] 属性是否大于 15 ,否则必定失败并可能进入受伤或疲劳状态。”

    7. 第六步:引入骰子跑图与随机遭遇 (Dice-based Exploration)

    纯文字对话很容易变成空洞的扯皮,引入“跑图空间感”和“掷骰子随机性”能极大增强游戏乐趣。

    • 空间坐标与拓扑设计:在设定文档中给出大致的地形网格或拓扑结构(例如:中心是营地,东边一步是迷雾黑森林,南边是废弃矿洞),并规定好移动消耗,让 AI 严格维持并输出玩家的“当前位置坐标”。
    • **探索步数与随机表 (Encounter Table)**:借助 AI 内置的随机骰子机制,建立跑图规则。告诉 AI:“玩家每声明一次移动(例如向东探索),就算作消耗一个 [探索轮] 。每经过一个探索轮,AI 必须自动在后台掷一个 D6 (六面骰):
      • 1-2:遭遇怪物(根据当前地形决定类型)。
      • 3-4:发现资源或触发随机事件(如商人、天气突变)。
      • 5-6:平安无事,成功推进到下一区域坐标。”
    • 动态地牢/迷宫生成:让 AI 充当动态迷宫的导演。“当玩家进入迷宫时,每次跨过一扇门都需要抛 D20 决定房间类型:20 是极品藏宝室,1 是致命陷阱室……”

    💡 设计师进阶贴士

    1. 留下足够的“呼吸感” 不要像写线性剧本那样写死每一步结果,要把可能性交给玩家的“蝴蝶效应”。AI 最擅长即兴发挥,你只需制定边界规则和主要矛盾即可。
    2. 善用角色扮演提示词技术 (Prompt Engineering)SOUL.mdAGENTS.md 中,使用祈使句和强烈限制。尽量用“绝不能……”、“必须……”、“当……发生时,立即……”这样的句型,防止 AI 失控跑题或扮演“老好人”。
    3. 黑盒试玩 (Playtesting) 反复载入你设定的文件夹,亲自扮演玩家去冲撞你制定的规则,看看判定是否合理,剧情走向是否有沉浸感。如果 AI 显得出戏,就回去修改你的 .md 文件吧。

    准备好了吗?现在就用任意文本编辑器打开 workspace 文件夹,开始创造你的史诗吧!

    图片描述 图片描述

    前往体验

    3 条回复    2026-04-09 16:25:30 +08:00
    dajj
        1
    dajj  
       1 天前
    这是怎么达到约束 AI 的效果的呢, 后端模型有什么讲究吗,还是什么模型都可以
    uyz
        2
    uyz  
       1 天前
    好玩,赶紧注册了一个,撩拨下
    DemonLover
        3
    DemonLover  
       17 小时 36 分钟前
    github 地址 404 了
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   5715 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 132ms · UTC 02:01 · PVG 10:01 · LAX 19:01 · JFK 22:01
    ♥ Do have faith in what you're doing.