Состояние пользовательского интерфейса на стороне сервера и на стороне клиента для многопользовательской игры - PullRequest
0 голосов
/ 23 февраля 2020

Я работаю над многопользовательской стратегической игрой, и у меня следующий сценарий:

  • Есть много серверов, это объясняет, что происходит на одном из них
  • Завершение игрока Задача и в конце она покажет всплывающее окно
  • Это всплывающее окно необходимо будет сохранить, даже если клиент обновит sh страницу

Альтернатива A:

  • Сохранить на стороне сервера

Проблемы:

  • Медленнее
  • Сложнее управлять
  • Крайний случай : игрок присоединяется к рабочему столу, но затем возобновляется на мобильном телефоне. В настоящее время все всплывающие окна для настольных компьютеров совместимы с мобильными ... но не всегда так будет.
  • Все состояния всплывающих окон будут передаваться другим игрокам (некоторые потери пропускной способности там ...)
  • Некоторые всплывающие окна не зависят от сервера, например, открытое или нет главное меню / регистрация / вход в систему.

Альтернатива B:

  • Сохранить в локальном хранилище или аналогичном

Проблемы:

  • 1 игрок может иметь 2 страницы на одном сервере, более сложный для синхронизации c
  • Сервер не может знать, действительно ли вы откройте всплывающее окно и сделайте что-нибудь на его основе

Что вы, ребята, думаете? Мне действительно неловко ставить всплывающее состояние для каждого пользователя на стороне сервера ...


 popups:{
   user1: ['pop1', 'pop2']
 }

Вот так будет выглядеть состояние пользовательского интерфейса на стороне сервера.

...