Воскресенье, 22 Декабря 2024, 19:21

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Вопрос об устройстве небольшого ММО
robertonoДата: Вторник, 12 Января 2016, 17:44 | Сообщение # 1
Чокнутый Кот
Сейчас нет на сайте
День добрый

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

Обобщенный вопрос темы: Как реализовать плавный переход с сервера на сервер ?

Реализация: Значит, делается это дело на UNET, в виде авторитарных серверов.
Мне пока что не известно сколько игроков сможет тянуть один сервер, поэтому давайте возьмем к примеру 100. В сумме игроков 450 к примеру и допустим стоит где то 6 серверов.
Вопрос в том, как реализовать переход с сервера на сервер и нужно ли это вообще делать ?

Поясню. Игрок заходит в игру, и подключается к рандомному серверу автоматически, в зависимости от пинга к серверу, заполненности сервера (предпочтение - половина).
Допустим он на Сервере1.

Идея и смысл автоматической смены серверов во время игры - периодически объединять игроков в одни группы. Т.е. допустим в каком то месте на карте на разных серверах, в сумме, достаточно много людей. Но на Сервере1 их пара человек.
Нужно переадресовать этих игроков на один сервер, с некими условиями (к примеру группа не больше 15 человек, и чтобы переход не был критичен игроку из за высокого пинга до второго сервера).
Ну или же вторая причина - друг этого игрока находится на другом сервере, и чтобы его увидеть ему конечно же нужно зайти на его сервер.

По графике это 2Д платформер, поэтому всё условно, довольно просто, и каждый игрок имеет ограниченный радиус видимости (сильно камеру отдалить возможности не будет).

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

Я сначала думал, что сделаю переход такой схемой:
1. Игрок играет на Сервере1
2. Сервер1 говорит, мол, переходи на Сервер2.
3. Игрок переходит на Сервер2, и только после успешного подключения он отключается от Сервера1.
Но проблема в том, что юнет не позволяет иметь сразу два NetworkManagerа и быть подключенным к двум серверам.

Я не хочу оставлять игрока без подключения к какому либо серверу вовсе, потому что на сервере считается физика, проверка на спидхак и др.,поэтому пока игрок не на сервере в игре много уязвимости (в теории).

Что посоветуете для решения проблемы? С какой стороны лучше подойти к решению этой проблемы? Как это сделать лучше?

В общем заранее спасибо.
afrokickДата: Вторник, 12 Января 2016, 18:32 | Сообщение # 2
участник
Сейчас нет на сайте
А нужен ли этот плавный переход?

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

Это значительно упростит вам жизнь
VinchensooДата: Вторник, 12 Января 2016, 18:40 | Сообщение # 3
Злобный социопат с комплексом Бога
Сейчас нет на сайте
Вам нужны комнаты или я неправильно понял?

robertonoДата: Вторник, 12 Января 2016, 18:47 | Сообщение # 4
Чокнутый Кот
Сейчас нет на сайте
afrokick,
Мне кажется что да, ибо не хотелось бы прерывать игрока от игры и в то же время хочется, чтобы его всегда окружали другие игроки, ведь это ммо а не синглплеер..

Переделать потом не вариант, нужно сразу делать нормально, ибо если игра станет популярной, как вы говорите, то ведь потом уже не будет времени с этим возится - это дело не одной минуты.

Добавлено (12 января 2016, 18:47)
---------------------------------------------
Vinchensoo, не совсем.
База данных у серверов одна общая. И есть куча маленьких серверов, которые уже обрабатывают передвижение, выступают посредником в соединении с БД.
Но если ситуация например такая: сервер полный, 100 человек, но они все раскиданы по всей карте, соответственно около игрока почти никого нету и выглядит это всё скучно. А я хочу объединять игроков на одни сервера. Т.е. если куча игроков с разных серверов тусуется например ровно в центре карты, то нужно их собрать на одном сервере по идее, чтобы они все видели друг друга

  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг