一个轻量级的回合制文字游戏引擎,专注于信息不对称和隐藏信息机制。
Wheeler Engine 是一个简单的Python游戏引擎,用于构建基于文本的回合制对抗游戏。目前实现了一个双人不对称对抗的演示游戏(守护者 vs 入侵者)。
当前状态: 早期原型,核心机制可用,功能有限。
- 回合制游戏循环
- 基于AP(行动点)的行动系统
- 简单的房间和物品系统
- 门锁机制和撬锁系统
- 基本的噪音和被发现机制
- Web界面(基于Flask)
- 单人模式(AI对手,使用LLM)
pip install -r requirements.txtpython web_server.py访问 http://localhost:5001 开始游戏。
如果要启用AI对手,创建 .env 文件:
LLM_API_KEY=your_api_key
LLM_BASE_URL=https://api.openai.com/v1
LLM_MODEL=gpt-4o-mini详见 AI_SETUP.md。
- H (守护者): 保护日记本,坚持6回合即获胜。初始6 AP。
- Z (入侵者): 窃取日记本并逃离,完成任务即获胜。初始10 AP。
- 每回合自动恢复5 AP
- 使用AP执行动作(移动、检查、拾取、撬锁等)
- 睡眠可恢复AP但会失去行动能力
- Z被H发现在卧室内即失败
- Z获胜: 获得日记本并到达出口
- H获胜: 坚持6回合 或 在卧室内发现Z
Wheeler Engine/
├── engine.py # 游戏核心逻辑
├── world.py # 世界和物品定义
├── player.py # 玩家系统
├── web_server.py # Web服务器
├── ai_player.py # AI对手(LLM)
├── world_definition.yaml # 游戏世界配置
├── templates/ # HTML模板
└── static/ # CSS和JS
- Python 3.10+
- Flask (Web框架)
- OpenAI API (AI对手)
- YAML (配置)
以下是计划中但尚未实现的功能:
- 更丰富的物品交互(使用安眠药等)
- 痕迹系统的完整实现
- 更多的房间和物品
- 改进AI决策质量
- 游戏回放功能
- 保存/加载游戏状态
- 多种游戏场景和难度
- 声音和距离的高级计算
- 更复杂的NPC行为
- 成就系统
- 时间旅行和多时间线机制
- 量子叠加态和延迟选择机制
- "融洽集"(coherence set)系统
- 基于ELO的世界线选择
- 涌现叙事(emergent narrative)
这些长期目标是受量子力学和博弈论启发的叙事实验,具有很高的实现难度和不确定性。
- 游戏状态存储在内存中,服务器重启会丢失
- AI对手需要外部LLM API,可能产生费用
- 前端界面比较简陋
- 缺少声音、图像等多媒体元素
- 仅支持单一游戏场景
本项目处于早期开发阶段,主要用于探索游戏机制和叙事可能性。代码质量和稳定性有待提高。
QUICKSTART.md- 快速开始指南AI_SETUP.md- AI对手配置PROJECT_SUMMARY.md- 项目概览CONTEXT_INJECTION.md- AI上下文注入机制
MIT License
本项目受到以下启发:
- 量子力学的多世界诠释
- 博弈论和纳什均衡
- 互动小说和文字冒险游戏
- ScienceWorld项目(世界定义参考)
注意: 这是一个实验性项目,功能和设计可能会频繁变更。