Если переложить на этот проект то выходит следующее (поправьте если не прав):
Producer 1,2,3 - это игровые клиенты
Event manager - это websocket сервер куда поступают команды игроков (Event A,B,C)
Broker - это экземпляры websocket сервера (workers процессы которые принимают пакеты и соединения из "кучи" параллельно)
Consumer - это выходит игровой сервер что физику считает ? Но на одну локацию он один (он крутится в бесконечном цикле обрабатывая всех на локиции и npc в том числе). Их может быть много, но каждый идет со своим Event Manager (websocket сервером) на который он подписан . Правда есть одна оговорка - у меня бесшовный мир и другой Consumer может быть подписчиком и своего Event Manager и другого (в игре я просто вижу что происзодит на соседней локации и переходя переключаюсь на другой игровой сервер)
Полагаю если я все верно переложил у меня как на рисунке только Consumer 1 всегда подписан на все Event и отправляет результат вычислений назад и все Producer его получают
Комментарий недоступен
Комментарий недоступен
Если переложить на этот проект то выходит следующее (поправьте если не прав):
Producer 1,2,3 - это игровые клиенты
Event manager - это websocket сервер куда поступают команды игроков (Event A,B,C)
Broker - это экземпляры websocket сервера (workers процессы которые принимают пакеты и соединения из "кучи" параллельно)
Consumer - это выходит игровой сервер что физику считает ? Но на одну локацию он один (он крутится в бесконечном цикле обрабатывая всех на локиции и npc в том числе). Их может быть много, но каждый идет со своим Event Manager (websocket сервером) на который он подписан . Правда есть одна оговорка - у меня бесшовный мир и другой Consumer может быть подписчиком и своего Event Manager и другого (в игре я просто вижу что происзодит на соседней локации и переходя переключаюсь на другой игровой сервер)
Полагаю если я все верно переложил у меня как на рисунке только Consumer 1 всегда подписан на все Event и отправляет результат вычислений назад и все Producer его получают
написал статью на этот счет https://dtf.ru/gamedev/1889852-sozdanie-servera-dlya-onlayn-mmo-igr-na-php-ch-13-event-driven-pattern-json-rpc-i-pochemu-ne-servisnaya-soa-arhitektura