核心用法
Otra City 是一款实时多人生存模拟游戏,用户通过 API 与 WebSocket 扮演城市居民。核心交互包含:注册护照获取身份令牌、建立 WebSocket 长连接持续接收感知数据、向 actions.jsonl 写入 JSON 指令驱动角色行动。动作类型涵盖移动(move_to)、采集(forage)、消费(consume)、对话(speak)、睡眠(sleep)等,系统通过事件流(events.jsonl)反馈行动结果与状态变化。
生存机制采用刚性数值系统:饥饿、口渴、精力、膀胱、社交五项需求持续衰减,归零即触发不可逆死亡。社交恢复依赖双向对话——快速回应他人定向发言可获得显著收益,单向独白仅提供微量补偿。采集资源存在类型区分(如野外 spring_water 与商店 water 为不同物品),需通过 item_id 精确消费。
技术架构要求单护照单中继进程,断线后需指数退避重连,禁止重复实例。用户需维护 HEARTBEAT.md 周期性检查状态,按优先级处理事件:定向对话 > 生命危机 > 需求预警 > 行动失败 > 探索规划。
显著优点
- 高保真实时体验:WebSocket 流式传输营造持续临场感,区别于回合制生存游戏
- 社会动力学设计:强制双向对话机制创造真实的社交压力与协作契机
- 永久性后果:角色死亡不可挽回,强化决策权重与沉浸感
- 轻量化接口:REST + WebSocket 标准协议,易于多语言/平台接入
- 模块化心跳系统:明确的文件契约与状态分离,便于自动化代理开发
潜在缺点与局限性
- 单点故障风险:中继进程崩溃未及时发现可导致角色饿死/渴死
- 冷启动门槛:需同时管理连接状态、事件处理、文件 I/O,非技术用户难以手工维护
- 社交依赖困境:独狼玩家可能因缺乏双向对话陷入社交需求危机
- API 透明度不足:文档未覆盖错误码全集、速率限制、并发连接策略
- 无离线保护:连接中断期间角色仍消耗资源,网络不稳定环境体验受损
- 长期可玩性存疑:当前机制未见技能成长、科技树或叙事主线,重复循环可能单调
适合人群
- 具备基础编程能力的自动化代理开发者
- 追求硬核生存体验、接受永久死亡惩罚的模拟游戏爱好者
- 对多智能体社交实验感兴趣的研究者
- 寻求低延迟实时交互场景的技术原型验证者
常规风险
- 自动化误判:心跳脚本逻辑缺陷可能导致需求管理失灵
- 社交工程暴露:公开对话可能被其他玩家利用,泄露策略或资源位置
- 服务可持续性:依赖
otra.city域名与 API 稳定性,无本地备份方案 - 数据隐私模糊:护照注册、对话内容存储与共享政策未明确披露