Добавить мультиплеер к уже написанному javascript самолету против астероидов

Поэтому я хочу спросить, как начать добавлять многопользовательскую опцию для игры, в которую я могу играть только для себя на localhost. Я хочу сделать так, чтобы можно было играть 2-3-4-5 игроков на локальном сервере (собственный частный сервер, который я могу получить) и отслеживать очки. У меня есть игра, но скучно, если вы играете в нее самостоятельно (это был академический проект, и я хочу сделать его больше и добавить многопользовательскую опцию, чтобы мы все могли играть:))

Дело в том, что я хочу, чтобы это был чистый код javascript + узел js.... Это всего лишь проект, в котором я хочу научиться создавать код самостоятельно, чтобы я мог разрабатывать дальнейшие приложения.

Мне нужно, чтобы вы сказали мне: -Где начать -Что делать:)

-А как этого добиться:D

Итак: я хочу добавить мультиплеер (без анти-читов или какой-либо защиты)= минимальный мультиплеер для игры 1 раз только в классе (я думаю, это будет 1 раз)

-Заранее спасибо

1 ответ

Быстро и грязно

Игра будет разделена на две части. Клиент и сервер.

Клиент (общедоступный JS на стороне клиента) будет:

  • Отправить данные на сервер о ваших действиях (кнопки)
  • Получайте с сервера сообщения о состоянии игры и применяйте их к дисплею

Сервер (private / node.js / socket.io) будет:

  • Управление клиентами
  • Управление состоянием игры
  • Трансляция игрового состояния клиентам

Вы можете думать об игре как о чате. Сервер принимает сообщения от клиентов и передает эти сообщения другим клиентам.

Когда вы загружаете игру, сервер принимает ваше соединение и добавляет вас в "комнату" в качестве клиента.

Когда вы выполняете действие от клиента, он отправляет запрос этого действия на сервер. Сервер проверяет, является ли запрос действительным, производит соответствующие обновления состояния игры и отправляет соответствующие данные обратно соответствующим клиентам.

Например, вы нажимаете кнопку, чтобы двигаться вверх. Ваш клиент отправляет запрос на сервер для продвижения вверх. Сервер проверяет вашу позицию и подтверждает, что вы можете двигаться вверх. Сервер обновляет ваши данные о местоположении. Сервер проверяет, какие другие клиенты будут затронуты вашими действиями (включая вашего клиента). Сервер отправляет эти данные указанным клиентам. Эти клиенты читают данные и применяют обновление дисплея (что ваш игрок переместился вверх).

Другие вопросы по тегам