你好,我用Unity制作了一款侦探游戏,想分享一下证据系统是如何运作的。我花了很长时间才把它做好。
我面临的问题是:在大多数推理游戏中,线索只是一种感觉。而我想要的线索,是能真正缩小嫌疑人范围的线索。但也不能太强,免得一条线索就直接结束游戏。
所以每个玩家拥有5个特征,每个特征只有两种选项:帽子或鸭舌帽、戴眼镜或不戴眼镜、红色上衣或蓝色上衣,等等。这样总共有32种不同的组合。
一条线索会告诉你罪犯的某一个特征,比如“没有胡子”。重要的规则是:每个特征至少被2名玩家拥有。所以一条线索永远无法直接指向某一个人。
只有完整的组合才是独一无二的。你大约需要4条线索才能确定。我最喜欢的是特征分配的方式。我使用成对的对立特征。一个组合和它的对立组合在每一个特征上都不同。所以如果我分配5对这样的组合,每个特征的两边恰好各有5名玩家。平衡非常完美,之后我永远不需要检查或修正。
对于困难模式,我会根据其他玩家与罪犯的相似度进行排序,先分发出最相似的那些玩家。这样所有人看起来几乎一样,你必须找出少数几个不同的特征。
还有说谎机制。只有罪犯可以对一条线索说谎。普通玩家只能报告他们实际发现的内容,服务器会对此进行检查。而且每个特征都有不止一条线索,所以一次谎言不会破坏所有线索。
游戏是用Unity制作的,后端是我自己的C#服务器。
如果你想尝试,游戏在Android上是免费的:
https://play.google.com/store/apps/details?id=de.korabu.codexseven
欢迎提问。
评论 (0)