Серверная логика для простой игры Unity - PullRequest
0 голосов
/ 18 февраля 2019

Я новичок в разработке игр, не могли бы вы дать мне совет о том, как реализовать сервер для игры, созданной на Unity для платформ iOS и Android.

Есть задача: онлайн 1vs1игра в пин-понг, где вы можете поставить свою игровую валюту.Есть (например) 3 режима игры со ставкой 5, 20 и 100 монет.Игрок выбирает, какую ставку он хочет сыграть, и ставит в очередь, затем второй игрок ставит в очередь ту же самую ставку, и для него автоматически создается комната, где они играют друг против друга до 10 очков, чтобы выиграть.Желательно осуществлять отбор противников по навыку / опыту игры.Так что новички играют с новичками, а с опытными опытнее (логика на сервере).Опять же, комнаты должны быть автоматически созданы.Не должно быть лобби с видимым списком номеров, только выбор ставки и ожидание оппонента.Победитель получает полную ставку (без комиссии).Должна быть база данных для сохранения результатов и настроек каждого игрока.Авторизация через социальные сети и электронную почту.Защита от мошенников является низким приоритетом.

Как я планировал: вся физика и логика происходит на стороне клиента.Сервер создает комнаты для игроков, которые ждут оппонентов и обеспечивает обмен локациями платформ через UDP, а также важные сообщения / события через TCP.На стороне сервера не будет никакой игровой физики и логики.Этот сервер будет подключен к базе данных для сохранения информации, списков лидеров и количества собранных монет и т. Д ...

Основные задачи: C # сервер для Unity Собственная логика на сервере Возможность работы с базой данных.

Я хотел использовать сервер Photon для этих задач, но не могу понять, возможно ли связать базу данных, например, MySQL, и обрабатывать минимальную логику на сервере, возможно ли это вообще?Какой сервер помимо Photon подходит для этого проекта? (Желательно бесплатный).Я буду рад получить помощь и найти правильный способ решения этой проблемы.

Спасибо.

1 Ответ

0 голосов
/ 18 февраля 2019

Для чего-то действительно простого я бы порекомендовал использовать собственную реализацию socket.io в своем клиентском приложении (c #) и действительно базовый сервер nodeJS с использованием socket.io.

Вы создали комнаты,отправка / обработка событий довольно удобна.

Для Unity есть платный ресурс (BestHTTP, который действительно хорош) и бесплатный (socket.io для Unity или что-то в этом роде).

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

Надеюсь, что это помогло!

...