我开发了一个预测游戏叫做Hooper Picks,它让一组人预测体育比赛的结果。它不是一个赌博应用... 只是一个朋友之间的排名系统。它目前正在为2026年世界杯运行,所以我过去几个星期一直在观察分数动态的实时演出。头对头的分数很容易:谁离实际结果更近,就会得到一个分数。

问题出在组队模式上。我的第一版使用N-1分数:一个组6人中,离实际结果最近的猜测者得到5分,下一个最靠近的猜测者得到4分,依此类推。但是,这产生了一个下降问题... 每天有4-6场比赛。如果你在某一天忘记提交,可能会落后20分,很难弥补差距。

为了解决这个问题,我切换到实际提交了猜测的人数的N-1。也就是说,如果6人中有4人提交了猜测,那么第一名的分数就是3分,而不是5分。这可以防止晚期加入者或错过比赛的玩家迅速拉开领先的差距。

但是,这却引发了一个新的问题...有人因为每场比赛都有5分的价值而迅速拉开领先的差距。随着比赛的进行,参与度下降,顶级得分每场比赛都会缩小,因为参与度下降了。对于仍在玩的玩家,第一名的分数被数学护城河保护起来。

我正在寻求关于两个问题的反馈:

1. 你们会如何解决这个问题?我在考虑:将分数归一化到一个固定的范围(每场比赛的分数始终在1-5之间),为持续但落后玩家提供补偿分数,或者将N个最差的日子丢弃,仅奖励前三名玩家等。所有这些方法都有缺点,所以我很想知道你们喜欢的模式是什么。

2. 我是否漏掉了一个更好的路径?你们在其他游戏(视频、棋盘等)中是否见过类似系统处理“便宜尾巴”问题的好方法?我可能不是第一个人遇到这个问题,所以我宁愿学习已经工作的东西,而不是重新发明。

为了背景,这是设计在一个群聊/朋友共享兴趣的用例上。友好的失去兴趣是预期的,系统必须感觉公平,即使有人错过一周。