Я как раз думаю о возможности Erlang для игрового сервера. (о, я не специалист по Erlang, просто рассматриваю этап )Это означает использование модели актера для моделирования игры. Конечно, самой большой привлекательностью является его параллелизм, распределенный по нескольким узлам.
Мой текущий огромный вопрос заключается в том, как я должен выполнять взаимодействие нескольких -актеров, например обнаружение столкновений.(это всего лишь пример)
Хотя обнаружение столкновений по существу требуется в любой игре, но по природе акторной модели это не выглядит эффективным и даже не имеет смысла, поскольку требует глобально синхронизированного запроса состояния и обновить по всем субъектам таргетинга. И если я использую какую-либо синхронизацию, она перекрывает все преимущества акторной модели Erlang.
Конечно, одновременное нацеливание на актеров может быть меньше, если я правильно использую разделение пространства, но это всего лишь оптимизация, а не принципиальный ответ. Или это правильный ответ на этот вопрос? Уменьшение диапазона синхронизации за счет уменьшения количества взаимодействующих акторов?