V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
爱意满满的作品展示区。
Srande

独立游戏] 我用 Pygame + LLM 搓了一个解谜游戏,把“海龟汤”和“逻辑狙击”做成了无限流

  •  
  •   Srande · 12h 9m ago · 570 views

    大家好,我是个独立游戏开发者(兼 Prompt 调教师)。最近在折腾大模型的时候突发奇想:能不能利用 LLM 的动态生成和逻辑判断能力,做一款真正的“无限流”文字推理游戏?

    ​于是我用 Python + Pygame 写了一个极简的 CRT 绿色荧光终端风格游戏——《 CyberCat:脑力演算系统》。

    ​目前开发出了早期版本,想和 V 站的各位老哥分享一下开发思路,顺便聊聊接下来打算加入的两个新模块(俄罗斯轮盘赌 & 走私审查),求一波脑洞!

    ​💻 目前已实现的核心玩法 ​游戏设定在一个机密终端里。所有的谜题内容不预设题库,全部由 LLM 实时动态生成。

    ​1. 模块 A:战术海龟汤(心理悬疑向) ​痛点: 传统海龟汤游戏玩几题就背板了,没意思。 ​实现: 我在后台写了一个高熵值的 Prompt 生成器,Python 随机抽取“诡异的日常行为”+“极端的反应”+“隐藏的残酷真相”,强制 LLM 生成一个没有超自然力量的悬疑剧本。 ​游玩:LLM 化身冷酷无情的裁判,玩家通过输入问题,AI 判断“YES/NO/无关”,直到玩家拼凑出真相,系统判定 WIN 。

    ​2. 模块 B:逻辑狙击(互联网杠精模拟器) ​玩法: 系统会随机生成一段逆天言论。 ​任务: 玩家需要在一长段看似合理的诡辩中,精准狙击其使用的“逻辑谬误”(比如:滑坡谬误、偷换概念、稻草人谬误)。你输入反驳,大模型来判定你是否“致命一击”还是“脱靶”。玩起来非常解压,专治低血压。

    ​3. 卷宗归档室 成功破解的案子,系统会自动将生成的 JSON 持久化保存到本地,未来可以直接载入复盘,或者把 .json 文件发给朋友玩。

    ​🛠️ 踩坑与技术分享 ​作为一个给极客玩的游戏,我采用了 BYOK ( Bring Your Own Key ) 模式。游戏内不内置 API ,玩家自己在 config.ini 里填入 DeepSeek 、OpenAI 或任何兼容格式的 API 和 Base URL 即可。既保护了隐私,我也省了破产的服务器费(笑)。

    ​最大的坑是“大模型的贪婪特性与惰性”: 一开始让 LLM 随便生成案件,它每次都给我写“六人战术小队去废弃雷达站找硬盘”。后来我果断剥夺了 LLM 的选择权,改用 Python 在预设的庞大词库里 random.choice(),把抽到的词作为强制限定词死死锁在 Prompt 里,并用极端的语气禁止它输出 Markdown 格式,这才实现了完美、纯粹的 JSON 随机生成,大大提高了游戏的可玩性。

    ​🚀 正在开发的下一个大版本:求脑洞! ​目前我正在构思将两个新的玩法接入这个终端,想听听大家的建议:

    ​1. 俄罗斯轮盘赌 (Russian Roulette - 语言博弈版) 不想做纯拼概率的赌博。我打算让 LLM 扮演对桌的恶魔,玩家和 LLM 通过言语博弈、虚张声势来获取“子弹位置”的情报。甚至可以引入“心理压力值”系统,你对 LLM 说的垃圾话越狠,它开枪自尽或失误的概率越高?

    ​2. 走私游戏 (Smuggling Inspection - 类似 Papers, Please) LLM 扮演千奇百怪的走私客(口音、性格、背景各异),试图带着违禁品通过你的文字边检站。你需要通过盘问(文字输入)、查阅动态生成的虚拟护照和报关单,找出其供词中的逻辑漏洞,决定是否扣留。 ​目前游戏本体很小,完全本地运行,大家如果有兴趣可以去我的 itch.io 页面白嫖下载体验(自带一个空 config.ini 让你填 Key ):

    ​想和 V 友们探讨: ​大家觉得“俄罗斯轮盘赌”结合 LLM 对话,还能怎么设计才能体现出“心理战”的压迫感? ​在处理 LLM 返回的不稳定 JSON 格式时,各位有什么更好的工程化兜底方案吗? ​欢迎吐槽和建议!

    欢迎关注我的 X 来获得最新开发进展( https://x.com/realcookgreen

    2 replies    2026-05-08 12:21:23 +08:00
    Dengddd
        1
    Dengddd  
       11h 3m ago
    一眼 AI 生成的文章
    Srande
        2
    Srande  
    OP
       7h 58m ago
    我今天早上忙着搭公交,没顾得上编辑主题就发了去,所以显得有点潦草,抱歉哈,各位。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3343 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 12:20 · PVG 20:20 · LAX 05:20 · JFK 08:20
    ♥ Do have faith in what you're doing.