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

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

Страницы: 1 2 3 4 518 Следующая »
#30
2:17, 30 июля 2022

Mephistopheles
> Ну или амазон не компетентны в вопросах маштабирования в облаке.
Novaquark смогли, они как раз из пром. сектора выходцы.  Правда в геймплей обосрались, но это уже другая история.

#31
3:30, 30 июля 2022

Mephistopheles
> дык проблема не передать данные, а распарсить их и применить эффекты.
Распарсить ~1000 байт за фрейм ты неосилишь чтоли?

Mephistopheles
> то попытка воспроизвести все эффекты в соответсвии с пришедшими данными точно
> его добьет.
Что за бред? Это всеголишь 1000 ентитей. Я в игре спокойно 10-50 к ентитей делал без проблем.

Mephistopheles
> И добавь туда еще желающих померятся уроном, ну там собрать статистику по бою и
> тд. Это тоже будет жрать проц.
Лог по одному юниту на стороне клиента будет жрать проц? Ты чё там на екселе игру делаешь?

#32
(Правка: 11:24) 11:18, 30 июля 2022

samrrr
> Нет. Предрассчёты не важны в сети.
Как не важны?
Вот играет у тебя на серваке 7к пользователей, и каждому нужно искать путь.
Да наверное они разом тыкать не будут, но может понадобиться искать путь сотням одновременно.
А еще есть мобы и им тоже нужно путь искать, поэтому создают предрасчеты, где все возможные координаты хранят в базе, и не нужно никаких облачных вычислений.
Эти вычисления часто называют геодатой.
А сервак ведь не только пути считает, но и всё остальное обрабатывает, для всех этих 7к игроков.
Предрасчеты становятся важнейшей задачей, т.к. в других вариантах у тебя на серваке будет играть до 100 человек (образно, т.к. ресурсов на большее не будет).

Mephistopheles
> > php считается одним из лучших для написания сервера.
> хорошая шутка, я аж хрюкнул.
А че не так с php?
AJAX - используем как надстройку, а нижний уровень php.
Тоже считаю одним из лучших вариантов.
Он же только ответы генерит, причем быстро.
Вебсайты держат огромное кол-во запросов и норм.
Чем игра от веб сайта отличается?

> дык проблема не передать данные, а распарсить их и применить эффекты. Если от
> первого у тебя в бою 500х500 процу поплохеет, но если чудом не помрет, то
> попытка воспроизвести все эффекты в соответсвии с пришедшими данными точно его
> добьет
Ну распарсить как раз не проблема (браузер норм парсит, а игра типа не сможет), причем сервак не должен слать все подряд и для всех сразу, а только то что в поле видимости (а это вполне норм если предрасчеты есть).
Эффекты тоже не понятно - что с ними не так, в 2000х могли, а сейчас не могут?
Делайте эффекты для ММО проще.

Noocrat
> Сразу вспомнились бои 50х50 на осадах в New World (от Amazon со своими
> облачными серверами), где просто персонажи стояли на месте и происходила
> вакханалия...
>
> И та же Lineage 2, которая еще в 2000-х добилась на своих серверах боевок
> 500х500. Получается с годами технологический стек только ухудшается? :)
Знаешь что ты не учитываешь?
То что Lineage2 - это игра которая задумывалась как игра с низким уровнем трафика, т.е. она обрабатывала запросы довольно редко, почти по клику (отправленному запросу игрока).
А New World - по факту нон таргет игра и тут нужно отправлять запросы много раз в 1у секунду, и там трафик безумный, и если сервак не оптимизирован до идеала - будут фризы и тормоза, а может и ляжет.
И с годами за счет того что железо становится лучше всё только улучшается.
Взять ту же Lineage2, раньше считалось что 7к игроков на ПТС серверах это предел - а Ява вообще говнище 1-2к.
То сейчас Ява может нормально держать 20к игроков, и это не потолок (при хорошей оптимизации сервера и правильных предрасчетах). Пример тому сервер Asterios x1 запущенный в сентябре 2021 года.
Пруф

+ Показать

Там играло в пиках до 20к пользователей - и ни лагало. В городах можно было увидеть одновременно до 2к пользователей.
Я такого муравейника ни разу в жизни не видел в ММО играх, и все гут.
Но если бы это была "нон таргет", то там можно было смело делить игроков на 2 или на 3.

kkolyan
> Использовались ли при этом коробочные решения для мультиплеера?
Нет конечно.
Коробочные решения как правило заточены на сессионные игры, и часто на шутеры.
Т.е. колличество реплицируемых игроков будет скорее всего ограниченно, он ведь не понимает что будет оптимизированно, а что нет, при этом мир открытый и он думает что обрабатывать и обсчитывать нужно всех.
Поэтому часто и пишут до 100 игроков.
Вот я пробовал сделать сервак и тунелировать его через стим встроенными в UE4 средствами и плагинами.
Но сразу скажу что по дефолту Max стоит на 100 игроках. Будет ли больше работать, а хз.
Пруф 3 игрока (2 компа офис и 1 дома), и 400 ботов одновременно.

+ Показать

Ни кто конечно не мешает тебе перестать реплицировать игроков стандартными методами, и рулить ими как ботами, и сделать всё через костыль, но будет ли оно нормально работать, и можно ли это называть коробочным решением ... ?

#33
(Правка: 15:55) 15:47, 30 июля 2022

samrrr
> Распарсить ~1000 байт за фрейм ты неосилишь чтоли?
> Что за бред? Это всеголишь 1000 ентитей. Я в игре спокойно 10-50 к ентитей
> делал без проблем.
> Лог по одному юниту на стороне клиента будет жрать проц? Ты чё там на екселе
> игру делаешь?
ну как сделаешь игру с боями 500х500 тогда и поговорим. С удовольствием признаю твое превосходство и мастерство.

563
> А че не так с php?
он by design не для этого создан и нужно неслабо его накостылять что бы он хотя бы до гавноды дотянул. Как апи для персистенса он подойдет, а геймплейную логику им считать и принимать игровой трафик - извращение.

563
> Вебсайты держат огромное кол-во запросов и норм.
> Чем игра от веб сайта отличается?
у них общего разве что слой дао. больше сходств нету.

563
> Ну распарсить как раз не проблема (браузер норм парсит, а игра типа не сможет)
браузеры затачивались под эту задачу десятилетиями парой сотен шарящих в этом разработчиков. Так то наверное реально за десяток лет с сотней профи сделать сетевую часть для игры по определенным правилам чтобы бой 500х500 не лагал.

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

563
> Эффекты тоже не понятно - что с ними не так, в 2000х могли, а сейчас не могут?
Сейчас всем графоний подавай:)

#34
(Правка: 20:50) 20:45, 30 июля 2022

А я как раз делаю сетевой движок который может тянуть бои 500х500
Вот тут кратко описал характеристики
https://gamedev.ru/projects/forum/?id=269417&page=29&m=5567595#m422

Вот тут немного деталей
https://gamedev.ru/projects/forum/?id=269417&page=24&m=5566503#m347

#35
8:38, 31 июля 2022

Идеальный стек - это написанный самостоятельно на тех инструментах, которые вы хорошо умеете применять и заточенный под ваши запросы. В остальных случаях будут компромиссы (не факт, что это плохо). Взять готовый и делать игру лучше, чем мечтать о боях 500 на 500 в первом написанном онлайн сервере

#36
12:00, 31 июля 2022

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

#37
12:58, 31 июля 2022

Вий
> А я как раз делаю сетевой движок который может тянуть бои 500х500
вы с геймплеем не определились, как ты выяснил что он потянет?)

#38
13:05, 31 июля 2022

Mephistopheles
> как ты выяснил что он потянет?)
Взял калькулятор и посчитал трафик

#39
13:06, 31 июля 2022

Mephistopheles
> ну как сделаешь игру с боями 500х500 тогда и поговорим. С удовольствием признаю
> твое превосходство и мастерство.
Игру то я написать могу, но 1000 игроков набрать, уже нет.

#40
13:58, 31 июля 2022

samrrr
> Игру то я написать могу, но 1000 игроков набрать, уже нет.
я думаю ради замесов 500х500 без лагов к тебе очереди выстраиваться будут.

Вий
> Взял калькулятор и посчитал трафик
как можно посчитать трафик не зная какой будет геймплей? ты же не знаешь какие будут навыки\заклинания и как будут они работать. А это большая часть трафика.

#41
(Правка: 14:10) 14:06, 31 июля 2022

Zab
> Просто посчитать намечающийся трафик
Вий
> Взял калькулятор и посчитал трафик
оно так не работает к сожалению
пока не нагонишь 1000 чел онлайн точно не узнаешь, а синтетика тебе покажет всё что хочешь

собственно первоначальный обосрамс от амазона это наглядно показывает

#42
14:26, 31 июля 2022

#!
Со стороны сервера надо тысяче человек разослать информацию о тысяче. 10 байт на человека, допустим, меньше выйдет вряд ли. 10 отправок в секунду, без этого не будет никакой динамики. Сколько получилось? 100 мегабайт в секунду. Не то, чтобы это было в принципе невозможно, но ставить такой сервер придется на площадке провайдера и очень много платить за его эксплуатацию. И это мы взяли все свои ожидания по минимуму, скорее всего потребуется больше.

#43
14:31, 31 июля 2022

Zab
> тысяче человек разослать информацию о тысяче
если это открытый космос, то да, но даже при этом можно значительно сэкономить на дальних объектах
обычно же есть видимость и невидимых не надо пересылать

#44
14:52, 31 июля 2022

Mephistopheles
> как можно посчитать трафик не зная какой будет геймплей? ты же не знаешь какие
> будут навыки\заклинания и как будут они работать. А это большая часть трафика.

Зная технические ограничения я могу рассказать какой надо делать геймплей чтобы битвы 500 Х 500 были возможны.

Страницы: 1 2 3 4 518 Следующая »
ПрограммированиеФорумСеть