我正在为自己制作的游戏设计成就系统,并且为了能够实现更复杂的成就,我正在实现一种可用于成就的基于状态的自定义系统。
当前,成就感的处理方式是在我的整个游戏代码中,我发布了一个名为“ metrics”的词,以说明游戏中发生了什么。因此,例如,“ enemyKilled”是我正在使用的一种说法,它只是说一个敌人死于该更新。
因此,状态机的工作方式是每个状态都有一个过渡列表,这些过渡只是状态要注意的特定指标。如果发布了该指标,状态将转换为下一个状态。
我觉得这肯定会提供一些更强大的成就可能性,但是我很难为一个非常基本的成就而对状态机进行概念化。
我要实现的成就是“仅使用这种武器杀死这个老板”。因此,仅允许玩家使用一种特定的武器杀死Boss,这意味着所有伤害必须来自该种武器。
到目前为止,我的状态如下:
我遇到问题的状态是s1 ...我可以发布什么命名的指标来检查对老板造成的伤害仅来自此武器?字符串可以包含任何内容,因此我可以使用一个非常复杂的字符串,但这并不理想。
有人对我如何实现此目标或如何改进状态设计提出建议吗?或者,即使您对如何完全实现这些成就有更好的想法?