【发布时间】:2016-08-08 04:16:31
【问题描述】:
所以我正在为塔防游戏构建一个 2D 游戏引擎。我在我的游戏中使用了实体组件系统 (ECS) 设计,它提供了更大的灵活性和可扩展性。但是,我对如何实施自定义用户定义规则感到困惑。例如,用户可能想要一条规则,说明当两个特定实体发生碰撞时,会导致一定半径的爆炸。或者她可能想要一条规则,当某个实体的健康达到某个点时,它的速度会增加一定量。或者假设当两个其他实体发生碰撞时,关卡会自动结束并进入下一个关卡。
重点是我希望用户能够定义自定义规则和事件,但我不太确定如何在我的设计中加入此功能。我的一个想法是创建一个规则对象,它由一个谓词列表和一个动作列表组成,但我不太确定这些规则对象应该存在于哪里,或者应该在哪里检查/触发它们,或者它们是否'甚至是个好主意。
【问题讨论】:
标签: components game-engine rule-engine