我正在构建一个具有大量触发能力的回合制游戏。一个动作可以触发多个自动施放的能力。我试图远离优先系统或让玩家选择首先触发的触发能力(如在 MTG 中)。这只是不必要地增加了游戏的复杂性。所以我想尝试同时触发多个能力。
在此示例中,能力A触发能力B和能力C。如果B和C影响不同的游戏对象,则执行B然后执行C就可以了。但是,如果它们都影响同一个游戏对象,那么执行顺序可能很重要(执行B然后C会导致与执行C然后B不同的状态)。
我想知道如何解决这个问题。我在考虑一个事件系统。大多数复杂的游戏机制都归结为一些简单的机制(移动、伤害、(de)buff、单位放置/移除)。我可以为每个事件创建一个事件,并将执行分为两个步骤。首先是计划阶段,其中计算损坏、计划移动等。这些数据被输入事件系统。一切完成后,事件被分派,动作实际执行。我看到的唯一问题是如果两个对象想要移动到/在同一位置创建。