我只是在考虑将Erlang用于游戏服务器的可能性。(哦,我不是 Erlang 专家,只是考虑舞台)这意味着使用Actor Model进行游戏模拟。当然,最大的吸引力在于它的并发分布在多个节点上。
我目前的大问题是我应该如何执行多角色交互,如碰撞检测。(这只是一个例子)
尽管任何游戏都需要碰撞检测,但从 Actor 模型的本质来看,它看起来效率不高,甚至没有意义,因为它需要全局同步的状态查询和所有目标 Actor 的更新。如果我使用任何同步,它会覆盖 Erlang 演员模型的所有好处。
当然,如果我正确使用空间分区,一次定位演员可能会更小,但这只是一种优化,而不是主要答案。或者这是这个问题的正确答案?通过减少交互参与者的数量来减少同步范围?