Ramp Labs 将 Claude Code 植入 RollerCoaster Tycoon 技术分析
一、新闻概述
1. 标题
Ramp Labs 实验项目:让 AI 在经典游戏 RollerCoaster Tycoon 中自主管理主题公园
2. 发布时间
2025 年 1 月(根据内容推断)
3. 来源
Ramp Labs 官方实验室
二、核心内容
1. 事件摘要
A. 主要内容
Ramp Labs 完成了一项实验性项目,将 Claude Code 集成到经典游戏 RollerCoaster Tycoon 2 中,创建了一个能够自主管理主题公园的 AI 代理。该项目通过 OpenRCT2 开源实现,构建了完整的 CLI 接口和 JSON-RPC 通信层。
B. 核心亮点
- Claude Code 可以自主分析公园财务、游客反馈、设施状态等 100+ 数据点
- AI 能够自主决策:调整票价、雇佣员工、建设饮料摊位、修理设施
- 项目完全开源,提供完整的构建指南和技术文档
- 探索了通用 AI 代理在可视化环境中的能力边界
2. 关键信息
A. 项目规模
- 开发时间:约 40 小时(跨越数周)
- 技术栈:C++、Claude Code、JSON-RPC、libvterm
- 团队配置:4 个并行的 Claude Code 实例协作开发
B. 涉及技术
- OpenRCT2:RollerCoaster Tycoon 2 的开源重实现
- rctctl:仿照 kubectl 设计的完整 CLI 工具
- Claude Code:Anthropic 的 AI 编程助手
- JSON-RPC:游戏与 AI 间的通信协议
C. 项目背景
Ramp 正在构建跨产品界面和内部运营的 AI 代理。该项目是对"通用代理"(One Agent)概念的早期探索,在玩具环境中测试 AI 的能力边界。
三、详细报道
1. 主要内容
A. 为什么选择 RollerCoaster Tycoon
RollerCoaster Tycoon(过山车大亨)不仅仅是一个"过山车游戏",它本质上是一个 B2B SaaS 接口的蒙特梭利教具。
核心原因:
- 游戏完美模拟了以客户为中心的业务运营和 SaaS 驱动的数字反馈循环
- 游戏内置了丰富的监控界面和管理窗口
- 氛围匹配:Claude Code 的终端窗口带来复古未来主义感,与 Claude 的 playful 个性相得益彰
与其他游戏对比:
- Minecraft:开放沙盒,缺乏资本主义结构
- Pokemon:主角是无法开设有限责任公司或申请信用卡的儿童
- StarCraft:包含经济、竞争和员工管理,但不够以客户为中心
B. Claude 能做什么(不能做什么)
Claude 擅长的领域:
- 游戏知识:Claude 对 RCT 非常熟悉,对被"黑入"90 年代游戏的前提毫不在意
- 信息收集:擅长浏览游戏的多样化指标和可观测性功能,创建有见地的报告
- 操作数字控制杆:调整配置、开关设施、定价、雇佣员工、启动营销活动
- 放置商店/平底骑乘设施:可以可靠地放置洗手间、饮料摊位,甚至尝试旋转木马
Claude 挣扎的领域:
- 路径规划与连接:定位主干道、路由新路径、连接骑乘入口/出口
- 过山车建设:放置大型预制过山车需要多尺度空间推理
- 垂直维度:倾斜地面、地下建设、自定义过山车设计
关键洞察:
限制通用代理的因素是其环境的可读性和接口强度。因此,倾向于将代理视为自动化的"勤奋",而非"智能",用于运营挑战。
C. 技术实现细节
项目架构:
graph TB
Claude[Claude Code] -->|CLI Commands| rctctl[rctctl CLI]
rctctl -->|JSON-RPC| RPC[RPC Layer]
RPC -->|localhost:9876| Game[OpenRCT2 Game]
Game -->|Terminal Display| Claude
Game -->|Game State| Data[100+ Data Points]
Data -->|Metrics| Claude核心组件:
- 新的菜单项:在游戏菜单栏中添加 Claude 入口
- 新窗口类型:显示终端,镜像远程运行的 Claude Code
- rctctl CLI:仿照 kubectl 模式设计的完整命令行工具
- RPC 层:将 CLI 命令传输到游戏状态
- 测试:集成错误报告工具
rctctl CLI 示例:
$ rctctl map area --x 44 --y 38
Map Area
--------
Anchor : (44, 38) top-left
Span : 16x16 tiles
X:44 45 46 47 48 49 50 51 52 53 54
Y:38 R P P P P . . E E . T
39 P P . S P S T P Q S .
40 P R S R P P . P Q S .
41 P S S S . P P P P P PLegend:
- R = Ride track/support(轨道/支撑)
- P = Footpath(人行道)
- E = Ride or park entrance(骑乘或公园入口)
- T = Tree or foliage(树木或植被)
- Q = Queue path(排队路径)
- S = Scenery/building(场景/建筑)
2. 开发过程
A. 开发模式
团队完全不掌握 C++,采用"vibe coding"(感觉编码)方式完成整个项目。
第一轮尝试:
- 使用 ChatGPT o3-Pro Deep Research 制定计划
- 用 Claude Code 分解为路线图
- 管理 4 个终端的 Claude Code 并行执行
- 3 小时后卡住,全部推翻重来
第二轮尝试:
- 切换到 Codex on GPT-5.1-codex
- 将任务分解为更小的块
- 使用谨慎的规划阶段
- 保持上下文在 60% 以上(编码模型性能最佳区间)
B. 开发体验
- 不像编程,更像管理模拟游戏
- vaguely 上瘾(模糊的上瘾感)
- 进展速度和焦点松散放大了每个新功能发布的奖励感
- 需要大量脑力带宽保持所有 4 个代理忙碌
主要挫折:
- 意外使用 "revert" 一词,Codex 字面理解并运行了 git revert
- 损失了 1-2 小时的进度
C. 质量保证
- 游戏内的 Claude 是勤奋的测试员
- 集成的错误报告工具让它直接将 bug 报告写入仓库
- 这个反馈循环对于修复帮助文本、CLI 不一致性和观察到的 bugs 非常宝贵
3. 数据与事实
A. 开发数据
- 总投入时间:约 40 小时
- 跨度:数周
- 代理数量:4 个并行 Claude Code 实例
- 上下文管理:保持在 60% 以上
B. 技术指标
- CLI 命令:覆盖所有重要数据点、控制和操作
- 数据点:100+ 游戏内指标
- 通信协议:JSON-RPC over localhost:9876
- 渲染:libvterm 终端渲染
四、影响分析
1. 行业影响
A. 技术趋势
- 探索了通用代理在可视化环境中的能力边界
- 验证了环境可读性是代理成功的关键因素
- 为 B2B SaaS 中的 AI 代理应用提供了实验参考
B. 代理设计范式
核心教训:
- 环境可读性是关键
- 编码代理是巨大助推力,但要构建"风帆"
- 开发循环(反馈循环)至关重要
- 经验胜过研究
2. 用户影响
A. 开发者社区
- 提供了完整的开源实现
- 展示了 AI 辅助开发的潜力
- 证明了非专业开发者可以用 AI 完成复杂项目
B. AI 研究者
- 提供了 AI 能力边界的实证案例
- 展示了多模态交互的挑战
- 验证了文本-空间推理的局限性
3. 技术趋势
A. 代理能力演进
- 当前模型正推动"通用代理"的边界
- 限制从代理能力转向安全性和集成问题
- 现在是开始在玩具环境中测试广泛范围代理的完美时机
B. 交互界面设计
- Claude 擅长干净、结构化的全知监控界面
- 在基于文本的游戏空间渲染中明显挣扎
- 创意的文本表示可能不切实际,最好通过"即代码"(stuff-as-code)方式解决
五、各方反应
1. 官方回应
Ramp Labs 将该项目定位为对 AI 代理能力的探索性实验,强调:
- 代理应该自动化的"勤奋"而非"智能"
- 环境可读性决定代理成功与否
- 通过游戏构建对 LLM 能力的直觉理解
2. 技术社区
- OpenRCT2 开源社区提供了基础实现
- kubectl 的 CLI 设计模式被借鉴
- C++ 社区的开源贡献使得项目成为可能
3. 用户反馈
- 项目展示了 AI 在游戏环境中的实际应用
- 证明了非专业开发者可以用 AI 完成复杂 C++ 项目
- 为 AI 辅助编程提供了有趣的实际案例
六、相关链接
1. 官方资源
- 项目主页:https://labs.ramp.com/rct
- GitHub 仓库:https://github.com/jaysobel/OpenRCT2
- Twitch 直播:https://www.twitch.tv/ramplabs
2. 技术文档
- SETUP.md:完整设置指南
- CODING_AGENT.md:技术深度解析
- RCTCTL.md:完整 CLI 参考
3. 招聘信息
- Ramp Labs 招聘:https://jobs.ashbyhq.com/ramp?utm_source=RampLabs
七、快速开始指南
1. 前置要求
- macOS(Sonoma 或更新版本)+ Xcode
- CMake 3.24+ 和 Ninja
- RollerCoaster Tycoon 2(Steam 购买)
- libvterm:
brew install libvterm pkg-config
2. 构建步骤
# 克隆分支
git clone -b claude https://github.com/jaysobel/OpenRCT2.git
cd OpenRCT2
# 配置
cmake -S . -B build -G Ninja -DOPENRCT2_PREFER_STATIC=ON
# 构建所有内容(游戏 + CLI 工具 + 终端)
cmake --build build --target agent_bundle -j8
# 运行
./build/OpenRCT2.app/Contents/MacOS/OpenRCT23. 编译产物
agent_bundle 目标编译:
- OpenRCT2:嵌入终端窗口的游戏本体
- rctctl:Claude 用于通过 JSON-RPC 控制游戏的 CLI 工具
- Sprite 资产:图形和 UI 元素