我今天发布了一款实时1v1问答游戏,名为Trivor。两名玩家,相同的问题,实时计分。这样的游戏如果没有其他在线玩家,完全死掉。这就是整个问题,我花了最多时间在此之前:没有玩家就不是一个有较少功能的游戏,而是一个加载屏幕。一个新用户打开应用程序,等待,看到什么也没有,卸载。从来没有达到第二天,所以从来没有机会让匹配工作的玩家。所以我在发布之前建立了一个机器人人群。下面是实际上涉及的内容,因为“只是添加机器人”掩盖了大部分工作。 他们需要历史,而不是仅仅是名字。 我的第一版是随机名称和随机评级的档案。感觉很虚假,立即——你赢得了一场比赛,点选对手的档案,发现有人有评级但没有过去。所以机器人被种植为真正的账户:比赛记录,胜/负历史,经验值和成就 由该记录计算而来,而不是分配。一个机器人在200场比赛中有60%的胜率,具有人类在记录中获得的成就。没有直接授予;所有内容都源自模拟游戏。一个后台作业每分钟运行,玩几场比赛。世界总是在移动,无论是否有人在线,所以评级漂移,排行榜发生变化,一个你在一周内看过两次的档案已经改变。还有一个每晚重新平衡,以便人群不会崩溃,所有人都集中在相同的评级上。 匹配是妥协的地方。 服务器只匹配人类与人类——它声称另一个真正玩家在新鲜度窗口内的等待票,或者将您放入队列。机器人fallback故意 不是 服务器端。客户端在11到30秒之间(随机化,以避免等待感觉机械)寻找一个真正的对手,如果找不到就取消票并启动一个与机器人在 ±250 分钟评级范围内的比赛。随机化这个窗口比我预期的更重要。固定超时是一个暗示——玩家会注意到“始终确切20秒”比注意到对手的任何事要早。 我不舒服的部分。 机器人比赛被记录为人类对手,并且他们移动真正的评级。理由是如果机器人比赛不算,排行榜模式将在新玩家中空白,等级将在几个月内变得无意义。如果他们被可见标记,几乎所有早期比赛都将携带“这场比赛并没有真正算数”的标记,这是另一种死游戏的形式。 我选择了使第一周感觉像真正的游戏的版本。 我仍然认为这是一个在安静中做出的错误决定,这是大约为什么我在第一天写这篇文章,而不是在有人找出它之后。 如果玩家问他们是否在玩机器人,我会说是,并且我宁愿它被找到了而不是被发现。 我仍在考虑的问题。* 是否在比赛历史中标记它们。 我在发布之前跳过它,因为它感觉像是在第一天宣传弱点——但越长越不添加它,看起来像是反应而不是设计选择。真诚的不确定,感兴趣的是,如果这里有人已经发货了两种版本并看到玩家如何接收它。