@jklasdfasdfasdf

Как можно создать онлайн в игре на Unity с такими требованиями?

Как можно создать "онлайн" в игре на Unity с такими требованиями?

1) Игра должна хранить информацию об игроке - друзья, предметы, скины (до 100)... Чтобы информация загружались при входе с почтой.
2) Бой. Игрок будет отправлять несколько значений другому игроку. Нужно, чтобы задержка была до 10 секунд, из любой точки мира. Враг не будет виден игроку, только его имя, рейтинг. Подбор противников по уровню. Бой пошаговый)).
3) Самое главное - чтобы игру было невозможно взломать.

Я занимаюсь созданием игр: уже придумал несколько проектов, но их не закончил, потому что они были учебными, но ещё много не знаю. Я ВООБЩЕ не знаю с чего начать делать "онлайн" в игре. Мою игру создаю "для себя", потому что буду и сам не против в неё иногда рубиться и хочу чтобы всё было сделано добротно, аккуратно.
  • Вопрос задан
  • 121 просмотр
Решения вопроса 2
VoidVolker
@VoidVolker Куратор тега C#
Dark side eye. А у нас печеньки! А у вас?
1) Игра должна хранить информацию об игроке - друзья, предметы, скины (до 100)... Чтобы информация загружались при входе с почтой.

Для этого используется база данных и сервер с бэкэндом и API.

Бой. Игрок будет отправлять несколько значений другому игроку. Нужно, чтобы задержка была до 10 секунд, из любой точки мира. Враг не будет виден игроку, только его имя, рейтинг. Подбор противников по уровню. Бой пошаговый

Для передачи данных от клиента к серверу используются сокеты и сетевой стек. Для сокращения задержек в рамках планеты можно расположить свои сервера в самых густонаселенных регионах и сделать свою систему синхронизации всех серверов, возможно даже с арендой отдельных выделенных каналов между ЦОДами с вашими серверами.

Самое главное - чтобы игру было невозможно взломать.

Взломать можно все. Абсолютно все. Взлом всегда на шаг впереди защиты от взлома. Т.е., происходит взлом, далее вся ситуация изучается, находится дыра и она исправляется. Есть стандартные методики защиты от взлома - шифрование, пароли, секреты, файерволлы, соответствующая архитектура и прочее-прочее-прочее. Чем больше денег потратить на разработку защиты - тем меньше вероятность взлома.
Ответ написан
Комментировать
@Ezekiel4
Охотник на пиратов и сборщик монолитов
Всё есть в гайдах, вот несколько названий, которые вам помогут соориентироваться в теме:
* Для мультиплеера: Photon Fusion, Photon Realtime или Mirror Networking
* Для авторизации: Playfab или Google Play
* Для хранения данных удалённо: Firebase
* Для локальных данных: JSON-сериализация или SQLite

Это не все варианты, но норм способы войти в тему без лишних нервов.

Ну и непрошенные советы - не стремитесь делать идеально сразу. Делайте ошибки и набивайте шишки, читайте документацию и долбите гугл вопросами - это нормально. На читеров забейте. Если вы потратите год на идеальную игру, с которой ни один хакер не справится, а в неё будет играть дай бог три с половиной человека, то какой в этом вообще смысл?

Лучший способ сейчас сделать вашу игру практически не взламываемой - сделать приложение-вебплеер для браузерки, которая 100% валидаций будет проводить на сервере, а на клиенте будет чисто ловить ввод и показывать красивые анимации. Ну и, конечно, сделать прокси сервер на пути всех запросов к главному, чтобы усложнить всем жизнь.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы