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

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

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

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

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

15 ответов

21 просмотр

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
5
А в каком формате фреймы? Сам формат сейчас придумываешь, или что-то готовое нужно распарсить?
Okhsunrog
5
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Раз начали говорить про embassy, то присоединюсь со своими парой вопросов. 1) Есть ли сопоставимые аналоги для асинхронного кода в emdebbed? 2) Можно ли внутри задач embassy ...
NI_isx
6
сделал сайт, прикрутил в боте сайт, и виджет логина. как автоматически логинить пользователя в аккаунт(телеграм), при входе с бота?
Александра Чернивецкая
5
Карта сайта