我正在开发一款游戏,游戏有一个不寻常的限制:玩家永远不会看它。输入是真实的工作。玩家在他们的代码编辑器中与AI代理合作;编辑钩子发射元数据,描述他们做了什么(写了一个文件,读取了一个文件,运行了一个命令,创建了一个子代理)。这些元数据驱动着一个持久的两派之间的战争,涉及五个领土。"会话"是他们的工作日。他们在工作日结束后会检查游戏,像是一款通过函件进行的策略游戏。四个设计问题是从中产生的,我做了什么: 1. 没有瞬时反馈循环。我所有的游戏设计直觉都假设玩家在一秒钟内看到动作的后果。这里,后果落地的时间是分钟或小时。最终,我设计了环境反馈:一个世界地图,活动始终在陆地上升起,所以当你看的时候,你可以在一眼望到最后几分钟,而不是一长串日志行。 2. 你不能奖励数量或速度。如果更多动作=更多积分,那么获胜的动作就是一个欺骗脚本。所以,反欺诈措施不是强制执行,而是经济学:使欺骗比玩耍更麻烦。进展奖励多样性和一致性,而不是原始计数,客户端发送数据是开源的——这意味着任何人都可以伪造事件。最终,我决定这是可以接受的,我设计得好到伪造不是值得努力的。 3. 隐私作为硬性设计限制。服务器从来不会收到真实值——文件名,命令,提示,标识符在离开之前在本地使用用户口令进行哈希。所以,每个机制都必须以计数和比较为基础。“你已经与3个不同的语言合作过”是可表达的;“你是Rust开发者”是不可以的。这个限制形塑了整个虚构:服务器不知道你写PHP,但它知道你打造了钢铁。 4. 寒冷启动是残酷的。领土控制游戏在玩家数量达到临界值之前是毫无意义的——地图就是... 米色。 我添加了激磁性质,使领土只有当一派领先超过10%时才会翻转(否则它会在每个事件之间闪烁),领土也可以保持“争夺”,至少可以读作一个状态而不是一个错误。但是,真正的答案似乎是通过小群体招募而不是小水滴来填充世界,所以世界在第一天就被填充。 我想听听你的意见:派别是由你使用的编辑器(JetBrains vs VS Code)分配的,选择一次在注册时永久。永久因为切换到获胜者会使领土得分无意义——但这也意味着玩家无法加入他们的朋友。锁定派别是否值得完整性,还是社会成本超过它?我也很好奇其他人如何处理无界限会话的环境/异步反馈在游戏中。 (它被称为BrawlCode,目前在闭 beta中——brawlcode.com——但我更感兴趣的是设计讨论而不是注册。)