Создание сервера для Российских онлайн ММО игр ч. 12 — Очереди и параллельное программирование на CPU

В данной статье речь пойдет о взаимодействии WebSocket сервера и сервера рассчитывающего события в мультиплеерных играх (команды пользователей, игровую физику, алгоритмический искусственный интеллект и т.п.)

Создание сервера для Российских онлайн ММО игр ч. 12 — Очереди и параллельное программирование на CPU
2727

Комментарий недоступен

Ответить

Комментарий недоступен

Ответить

Если переложить на этот проект то выходит следующее (поправьте если не прав):

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 его получают

Ответить