Войти
ПрограммированиеФорумСеть

Серверная часть для масштабной MMORPG (6 стр)

Страницы: 15 6 7 818 Следующая »
#75
(Правка: 18:52) 18:51, 1 авг 2022

Вий
> Ты предлагаешь делать нетрадиционным способом, который плохо подходит для ММО и
> хорошо подходит для RTS.
Иначе ты не сможешь сделать 1000 игроков в одном месте. Сервер просто сдохнет от нагрузки на сеть.

Вий
> Обсуждать особенности применения такого способа мне не интересно, потому что он
> вообще не подходит например если игроков не 1000 а 10000
Если ты хочешь сделать 10000 игроков в одном мире без инстансов как в DU, то конечно так просто не выйдет, прийдётся посложнее чем тупо инпутами обмениваться.

Вий
> да и на 1000 будут постоянные проблемы из-за потери пакетов и медленного
> сетевого подключения у игроков.
Факторка рабтает. Никто не мешает послать не 1 пакет, а 2. И потеря пакетов происходит редко.

Да и вообще, это самый эффективный способ, если у юзера не хватит на него мощности сети(а юзеру достаточно 100 кб/сек на 1000 игроков), то значит что это не для него игра.

Mephistopheles
> Это пока не поиграешь каким ни будь не адекватным билдом на основе CoC механики
> или flicker strike
Пое вообще странная игра. Синглплеер игра по факту, а требует сети и лагает от соединения. На какие деньги содержатся игроки, учитывая что игра бесплатная, не особо понятно.

Der FlugSimulator
> ... даёт ссылку на РТС движок )))
Уж извини, сорцы факторки никто пока не выложил.

Der FlugSimulator
> Разные тайминги, шаги интеграции, реализация float на разных системах.
Что за чушь? Как по твоему тогда факторка работает? Ты вообше вкурсе, что операции с float полностью детерминированные?

Вий
> просто нужен софтверный физический движок
А чё, комуто хардварный завезли?

Вий
> целочисленной эмуляцией флота
И с обычным float прокатит. Я меня же работало, даи в факторке тоже, а там вообще всё на double.

Вий
> Все зависит от списка платформ, компиляторов
Это если ты для какихнибуть эльбрусов пилишь. А для обычных игр это не имеет значения. Да и вообще, можно же float с помощью инта сделать. Илиже не заниматься идиотизмом и поставить std::ratio так как float для игр не нужен.

#76
(Правка: 19:25) 19:23, 1 авг 2022

samrrr
> На какие деньги содержатся игроки, учитывая что игра бесплатная, не особо
> понятно.
скинчики же, крайне ходовая и прибыльная херня.

samrrr
> И с обычным float прокатит.
Да и вообще есть мнение что в флоаты не нужны в сетевых протоколах таких игр как диабло.
А темболее у Вий игра спрайтовая, там вообще похрену на точность выше целочисленной:)

#77
(Правка: 19:38) 19:37, 1 авг 2022

samrrr
>
> Пое вообще странная игра. Синглплеер игра по факту, а требует сети и лагает от
> соединения. На какие деньги содержатся игроки, учитывая что игра бесплатная, не
> особо понятно.
Донат и реклама обычно в таком случае используется .
Бесплатно обычно только хуй и то только на бумаге

#78
20:33, 1 авг 2022

Внезапно от создателей Альбиона был доклад о создании сетевой архитектуры.
https://www.youtube.com/watch?v=x_4Y2-B-THo

#79
21:41, 1 авг 2022

samrrr
> Уж извини, сорцы факторки никто пока не выложил.
> Как по твоему тогда факторка работает?

Это ты скажи ))). Ты ведь утверждал, что там только инпуты )))

samrrr
> Ты вообше вкурсе, что операции с float полностью детерминированные?

Только на одной машине в ряде случаев.
Про таймеры я вроде говорил.

#80
23:05, 1 авг 2022

Der FlugSimulator
> Это ты скажи ))). Ты ведь утверждал, что там только инпуты )))
Открой сорцы спринга да посмотри. В фактоке тоже самое.

Der FlugSimulator
> Только на одной машине в ряде случаев.
> Про таймеры я вроде говорил.
Чушь. Мне достаточно просто на серв фактокки зайти, чтобы понять полную безосновательность твоего бредового заявления.

#81
1:28, 2 авг 2022

samrrr
> Чушь. Мне достаточно просто на серв фактокки зайти, чтобы понять полную безосновательность твоего бредового заявления.
Если никогда серьезно с плавучкой не работал, так и говори. Плавучка детерминистична только при компиляции идентичным компилятором с идентичным набором флагов под идентичную архитектуру. Во всех остальных случаях гарантий нет. Одна и та же функция может давать разный результат в разных местах использования, один и тот же исполняемый файл может давать разный результат на разных процессорах. Про то, что при смене компилятора все плывет, я и не говорю. К счастью, в контексте MMORPG (как, впрочем, и факторки) никакого смысла использовать плавучку нет.

#82
(Правка: 6:04) 3:54, 2 авг 2022

}:+()___ [Smile]
> Если никогда серьезно с плавучкой не работал, так и говори.
Это ты серьёзно не работал с плавучкой и поленился даже читать тред, так как пруфы того, что метод рабочий, я предоставил.
В виде ртс движка и ещё одной популярной игры, которые работают на принципах пересылки только инпутов игрока. И работают успешно.

}:+()___ [Smile]
> Плавучка детерминистична только при компиляции идентичным компилятором с
> идентичным набором флагов под идентичную архитектуру.
А ты чё, собираешься компилить разными компиляторами с разными флагами под разные архитектуры? Мазохист чтоли?

Вон факторка есть на 3 основных архитектурах осях.
Безымянный | Серверная часть для масштабной MMORPG

}:+()___ [Smile]
> Одна и та же функция может давать разный результат в разных местах
> использования
Байки пошли. Такие сюрпрайзы бывают только если ты спецом отрёкся от стандарта флоата в виде -ffast-math Ну или какой говнокомпилятор от интела взял.

#83
4:08, 2 авг 2022

samrrr
> Вон факторка есть на 3 основных архитектурах.
Это каких?

#84
(Правка: 4:50) 4:38, 2 авг 2022

samrrr
> пруфы
пруфов того, что в факторке все на даблах, как-то не наблюдалось.

#85
6:04, 2 авг 2022

Вий
> Это каких?
Не архитектур а осей. Архитектура то одна x64
kkolyan
> пруфов того, что в факторке все на даблах, как-то не наблюдалось.
Скачай да посмотри. Половина кода то открыта.

#86
6:22, 2 авг 2022

samrrr
> Это ты серьёзно не работал с плавучкой и поленился даже читать тред, так как пруфы того, что метод рабочий, я предоставил.
Это не пруф. То, что набором костылей можно добиться стабильности плавучки, я и не отрицаю (и до факторки так делали, даже презентация от кого-то была). Вот только в обычных условиях код с плавучкой таким свойством не обладает.

> Такие сюрпрайзы бывают только если ты спецом отрёкся от стандарта флоата в виде -ffast-math
Даже тривиальная функция

double test(double a, double b, double c)
{
    return a * b + c;
}

выдаст разный результат на архитектурах с FMA и без, без какого-либо -ffast-math. И это сейчас с SSE еще все просто, вот во времена x87 компилятор промежуточные результаты хранил в регистрах повышенной битности.

#87
7:42, 2 авг 2022

}:+()___ [Smile]
> выдаст разный результат на архитектурах с FMA и без,
Пруфы будут? Или только безосновательные заявления? Счего вдруг включение simd изменит результат операции? Жду демонстрационного проекта на винду, или в експлорере.

}:+()___ [Smile]
> То, что набором костылей
Только вот твой же пример, даже теоретически, чтобы иметь различный результат, прийдётся врубить simd. То-есть ты берёшь какую-то экзотическую конфигурацию флагов, и начинаешь заявлять, что по разному будет работать.

#88
7:52, 2 авг 2022

Зря вы нападаете на вариант с отправкой инпута. Надо как-то выкручиваться, этот вариант можно и нужно рассматривать. У него свои проблемы, но может быть их удастся решить.

А про плавающую точку... Производителей железа никто не заставляет пользоваться тем стандартом, но они пользуются. Зачем переделывать хорошо сделанное... Найти комп, который ему не соответствует, сегодня трудно, но лет 15-20 назад такие были.

#89
(Правка: 8:22) 8:20, 2 авг 2022

Чтобы достичь эффекта, инпут надо направлять не только на сервер, но и с сервера рассылать всем в таком виде. Узкое место - рассылка с сервера. Моделирование же производить на каждом клиенте, за всех участников. Потянут ли клиентские машинки, вопрос.
И с лагом что делать? Сеть не быстрая, если не все клиенты в одной локалке. К тому же, лаг у всех разный.

Это не единственный вариант для сбивания квадратичной зависимости. Можно рассмотреть использование мультикастов, к примеру, или множества серверов доставки, с региональным распределением, или p2p связь.

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

Страницы: 15 6 7 818 Следующая »
ПрограммированиеФорумСеть