Доброго всем! Мультиплеер с дедиком. На общей "арене", скажем на 4 игроков,

идут бои. В то же время, у каждого игрока есть некая "база", где наподобие HMM, он может возводить некие строения, дающие бафы, производить ресурсы для постройки и т.д.
У каждого игрока набор бафов уникален.

Вопрос: Учитывая, что дедик тащит в моменте только один левл, как сделать так, чтоб, игроки могли "уйти" на базу и одновременно там что-то делать, в то же время другие бы бились на арене?

Обработка базы должна быть на сервере, обработка арены тоже, как это можно распараллелить?

Может базу открывать локально у каждого игрока, а действия каким-то макаром перекидывать в rpc на сервер? Тогда каким?

15 ответов

19 просмотров

Доброго! Я думал в анриал можно сделать что бы работали разные загруженные карты, или все не так?

сделать базу "виртуальной" - левел только на клиенте, а логика/данные на сервере

Антон-Волков Автор вопроса
norlin
сделать базу "виртуальной" - левел только на клиен...

Вот, я о том, а как без приаттаченного к серверу контроллера передавать туда вызовы? Локальная карта не знает ничего о сервере и сервер о карте тоже.

Антон Волков
Вот, я о том, а как без приаттаченного к серверу к...

так а зачем его разаттачивать? пусть он приаттачен остается

Антон Волков
Вот, я о том, а как без приаттаченного к серверу к...

ну либо сделать базу частью серверного левела

Антон-Волков Автор вопроса
norlin
так а зачем его разаттачивать? пусть он приаттачен...

Когда я сменю уровень, будет уже новый контроллер. Одновременно два я не смогу играть.

Антон-Волков Автор вопроса
norlin
ну либо сделать базу частью серверного левела

В этом случае конфликт между игроками. Каждый там должен свое намутить.

Антон Волков
В этом случае конфликт между игроками. Каждый там ...

ну так сделать индивидуальную синхронизацию для каждого, я хз осилит ли анрил такое, честно говоря

Антон Волков
В этом случае конфликт между игроками. Каждый там ...

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

Антон Волков
В этом случае конфликт между игроками. Каждый там ...

Тоже сеть планирую в перспективе. Могу ли яму вас консультацию позже получить, где-то через месяцев 6-7?

Антон-Волков Автор вопроса
Евгений Синицын
Тоже сеть планирую в перспективе. Могу ли яму вас ...

Через 6-7, возможно. 😄 Я пока стараюсь пробить стену отсутствия нормальной инфы по мультиплееру. Везде считается, почему-то, верхом мастерства лисн-сервер на основе шаблона от третьего лица и добавлчется пара слов, что для нормальной игры нужен дедик, а это другая история. И все. 😄

Антон Волков
Через 6-7, возможно. 😄 Я пока стараюсь пробить сте...

Я пока на стадии изучения лиры 🤦🏼‍♂️😁 А если вот как сделать в вашем случае: есть пару вариантов идей. Отключаться на время шаманства и локальности делать базы а потом подключаться обратно и передавать в переменные репликации данные о бафах?

Антон Волков
Через 6-7, возможно. 😄 Я пока стараюсь пробить сте...

Втрой вариант на этой дж карте сделать отбельные локации или комнаты как бы, где происходит строительство

Антон Волков
Через 6-7, возможно. 😄 Я пока стараюсь пробить сте...

просто потому что дефолтная сетевая схема построена на сессионках, где максимум будет 16-32 клиента и всё.

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

Похожие вопросы

Обсуждают сегодня

Ребята, всем привет. Подскажите, пожалуйста, можно ли как-то через бота понять, что этого бота добавили в группу\канал и выдали ему права администратора?
Artem Stormageddon
9
Привет, такой вопросик появился кажется ли вам что Rust слишком сложный/строгий для высокоуровневого программирования и слишком "безопасный"/строгий для низкоуровневого?
Крокант
10
Это переведённый текст с английского. Я не говорю на русском, но могу использовать переводчик Телеграм. Приветствую! Я начинающий веб-разработчик и все еще учусь. В настояще...
𐩱𐩪𐩣𐩱𐩲𐩺𐩡
2
А какие существуют способы обработки ошибок выделения памяти в ядре? Т.е., допустим, есть функция, которая возвращает адрес свободной страницы в физической памяти и диапазон в...
disba1ancer
51
Всем привет. Хотел бы написать для себя свою ос. Причины: 1) нужен опыт в чем-то 2) будет меньше весить 3) свое, но там будут свои задумки Я понимаю что нужно писать для всег...
Shadow Akira
18
А не хотим ли мы развлечься? 😉 Но так чтобы с пользой для наших профессиональных навыков?? 👨‍🎓👩‍🎓 Предлагаю на октябрь запланировать тестовый запуск новой командной игры "Игр...
Andrii Kurdiumov
2
Всем привет! Скажите, никто не пытался уменьшить размер процесса ssl, которые ассоциируется с открытым соединением (не помню точное название этого процесса, но там была какая-...
Алексей
20
5? да там все 10
Boris Vinogradov
12
Привет всем! Почему этот код не срабатывает при добавлении или удалении пользователя из чата? bot.on('chat_member', async (ctx) => { console.log(ctx); }) bot.launch({allo...
Alexander
5
у кого сколько оперативы на базе данных ?
АДИЛЬБЕК
4
Карта сайта