Сервер для многопользовательской игры?

Всем привет.
Пришло время когда нужно разработать сервер для онлайн игры (клиентом будет android и\или ios) и по этой теме возникло много вопросов. Поскольку в разработке подобных вещей нет опыта, то вопросы могут быть чрезвычайно странные.


- Прежде всего каким образом должен работать сервер? Он должен все действия пользователей в момент их выполнения сразу синхронизировать сервер и сохранять в ту же mysql?
- Технология для самого сервера? В интернете очень много видел отзывов о nodejs как хороших так и плохих. Поэтому есть некоторая неопределенность на счет NodeJs. Также еще интересует такая вещь как ASP.НЕТ. Подходит она для таких целей и оправдано ее использовать?
- Допустим при выборе Node, в самом клиенте я должен обрабатывать ответ сервера. С этим понятно, но в каком формате будет этот ответ JSON( все верно) или я не правильно понимаю???
Для додатка(не игры) я использовал php + mysql "сервера для хранения данных". Правильно ли я делал?
Хотел бы от вас услышать некие советы в построение, оптимизации, правильном выборе технологий для подобного сервера который предназначен для сетевой игры.
  • Вопрос задан
  • 2720 просмотров
Решения вопроса 2
@Gizmothron
Подходит и Node.JS и PHP и C++ и Ruby и ASP.NET и Python и Java и пр. и пр. и пр.

Я бы предложил Go. С ним нагрузка на сервер будет меньше.

И есть хорошая документация и шаблоны по взаимодействию сервера и Android для Google AppEngine.

Из минусов - привяжитесь к Google AppEngine. Из плюсов - там очень многое есть из коробки и уже заточено под Android, а у Android заточено под Google AppEngine.
Ответ написан
OnYourLips
@OnYourLips
Для начала стоит определиться, будет ли игра требовать real-time сетевой код, или нет.
Если нет (99% ситуаций), то пишете сервер на любом удобном языке в вебе (PHP, Java, C#, Python, Ruby) с REST API. Специфические асинхронные решения (Node.js, Go) лучше не брать.

Если требует, то инструменты будут уже другими, стоит ограничиться java.nio, Go или Node.js. На других стеках тоже можно, например с помощью ReactPHP, но это не самые популярные решения.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
saboteur_kiev
@saboteur_kiev Куратор тега Разработка игр
software engineer
"Пришло время когда нужно разработать сервер для онлайн игры"

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

Потому что у вас вопросы звучат так "я хочу написать абстрактный сервер онлайн игры, понятия не имею квейк/дота/шарики онлайн, но как сделать чтобы все работало мгновенно на любом клиенте". То есть ни концепции, ни требований, ни понимания что критично а что нет.
Ответ написан
Комментировать
@VictKor
Игровая индустрия, 3d моделирование
nodejs+socket.io - очень хороший выбор для собственного сервера. Также полно готовых решений.
Советую познакомиться с этим циклом статей. Много интересного.
Ответ написан
Комментировать
VGrabko
@VGrabko
Golang, Php, Js
у меня php + go + mysql + redis + nginx
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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