Сокет против базы данных в создании игр - PullRequest
0 голосов
/ 06 июня 2018

Я создаю многопользовательскую игру для андроида, которая будет похожа на: вы выбираете персонажа, вы получаете оппонента, и во время этого сражения между игроком и игроком они нажимают только кнопки, которые являются «атаками».

Хотя поначалу это казалось простой задачей, я не совсем уверен, как установить связь между пользователями, чья атака была выбрана противником, но у меня есть две возможности: сокеты и базы данных..

Сокеты казались лучшим вариантом, однако я обнаружил, что они работают только в одной сети, что определенно не соответствует моим целям.

О базе данных ЯЯ не уверен, что это хорошая идея, так как выполнение такого большого количества запросов, чтобы проверить, выбрал ли уже другой игрок, может привести к замедлению игры.Я даже создал учетную запись Firebase, поскольку их база данных в реальном времени казалась гораздо более разумной в использовании, но я не смог найти какой-либо способ интеграции Firebase с LibGDX (которую я использую для этого приложения).

Подводя итог, ответ: каков наилучший способ быстрого обмена данными?Как я могу реализовать это с помощью LibGDX?

Я использую Android Studio, если это что-то помогает, и у меня бюджет 0 $.

1 Ответ

0 голосов
/ 12 июня 2018

Из-за бюджета в 0 долларов о получении VPS (виртуального частного сервера) не может быть и речи.Так что вам нужна другая альтернатива.Запустите свой сервер из дома, со своего собственного компьютера.

Ваш следующий шаг - получить бесплатную службу DNS, которая перенаправит веб-адрес на IP-адрес вашего домашнего маршрутизатора, и оттуда вы сможете настроить свой маршрутизатор для перенаправления.порты прямо на ваш компьютер.Это могут быть веб-порты или порты для использования TCP.

У вас будет выбор, что использовать:

1 - веб-сокеты, которые могут использоваться различными языками, на которых будет работатьсервер.

2 - сервер TCP / IP, который требует меньше ресурсов, чем веб-сокеты, и является прямой связью через TCP с вашим сервером.

Оба из вышеперечисленных будут иметь свои сильные стороны, но этодо вас, где вы начинаете.Само серверное программное обеспечение может быть написано на многих языках, включая Java, что будет более совместимо с вашим текущим проектом Android.

Я не могу подробно объяснить это без дополнительных вопросов.Отсюда много исследований различных технологий.

...