172 похожих чатов

Теоретический вопрос к сетевым архитекторам: Представим классический бэкенд крупной, современной, многопользовательской

ролевой игры в реальном времени. Например New World от Amazon. Как и в случае с какой нибудь дремучей World of Warcraft, принципиальная блок схема у серверной части не изменилась. Есть пачка мощных серверов, на каждый из которых приходится своя копия игрового мира, и ограничение по количеству одновременных подключений от игроков к этому миру. Все рассчитано таким образом, чтобы сервер, на пределе своих возможностей, справлялся с обслуживанием вычислений игрового мира - при подключении максимального числа игроков, и активности с их стороны. Все понятно и логично.
Но!
Существуют ли принципиальные технические барьеры, не позволяющие вместо (условно) 64 отдельных игровых серверов на (условно) 1024 активных игровых сессий каждый, запилить 1 гигантский, бесшовный игровой мир, на 65536 активных сессий? Распределив все это дело между теми же 64 физическими серверами, работающими как 1 кластер.
Или это принципиально нерешаемая задача распараллеливания?

7 ответов

4 просмотра

Очень хороший вопрос, это зависит от того как вы показываете этот огромный мир игрокам. И на ккакой предмет вам бесшовность. Непосредственные коммуникации между 100500 игровок все одно не возможны, у людей порвет голову. Т.е. нужно больше информации о самой игре чтобы ответить на ваш вопрос. Так же не забываем про локализацию игроков, отказоустойчивость, чюдеса с маршрутизацией и другие проблемы реального мира :)

Cooler3D- Автор вопроса
Evgeny Kovalskiy
Очень хороший вопрос, это зависит от того как вы п...

У них там под реализм закос, ММО выживач. Я им подсказал как вопрос коммуникации решить ты не можешь общаться с игроками, до которых персонаж не может докричаться.

Есть, на уровне приложения всё решается

Cooler3D
У них там под реализм закос, ММО выживач. Я им под...

Выносите текстовые коммуникации и голосовой чать на джаббер подобный движок, там вопросы коммуникации решены десятилетия назад 🙂

Cooler3D- Автор вопроса
Evgeny Kovalskiy
Выносите текстовые коммуникации и голосовой чать н...

Там не планируется текстовый чат. Говоря о докричаться, я имел ввиду буквально, в микрофон, с учётом радиуса от игрового персонажа

Cooler3D
Там не планируется текстовый чат. Говоря о докрича...

В таком разе это вопрос огранизации игрового процесса больше чем, вопрос технический 🙂 Т.е. есть хардок на расстояние между двумя игорьками кто коого слышит, в пределах игры у вас их может быть несколько тысяч 🙂 Рендер сцены отдельно, голос и чат отдельно 🙂

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

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

А как старый хаскел с новым стыковать ? потому как тут работает https://play.haskell.org/saved/C3xpMzcd, а вот тут https://stepik.org/lesson/7602/step/9?unit=1473 нет ошибка C...
Fedor
131
Вопрос я правильно понимаю что в коде newtype ArrowMap k v = ArrowMap { getArrowMap :: k -> Maybe v } getArrowMap есть функция типа k -> Maybe v, если да, то не понимаю задач...
Fedor
61
Продолжая диалог про свифт в проде – сейчас возник вопрос в активном наборе бекендеров. В основном в нашей компании мы фанаты Java Spring и полностью ей довольны. Однако найм ...
Guseyn
27
Как Вы считаете нормально ли в двадцатых годах 21 века в ВУЗах Российской Федерации обучать студентов работе с TASM? Не слишком ли это "архаично"? (Если оффтоп или флейм для э...
Spiker01
52
Привет всем. Не знаю, удачный ли чатик я выбрал для вопроса, но он как будто в целом про концепцию фп и конкретно про Haskell. Прочитал, что в целом в мире фп нет идеи мутабел...
Gellert Cringewald
15
Комрады, хотел уточнить. Проперть в OnDestroy юнита-хозяина по-прежнему доступна? И еще уточнение: finalization юнита наступает раньше или позже OnDestroy?
Ed Doc
48
Читаю сейчас [нет, уже больше не читаю!] курсовую о Булгакове, написанную, похоже, с помощью ChatGPT. Это удивительный психоделический опыт. Текст в основном написан в стиле б...
✨ Uni [🌊 В отпуске]
1
Всем привет! поделитесь, пож-та, как кто дебажил / решал проблему с 504 Time out ошибкой от nginx, когда стучишься на свой vapor сервер? в логах /var/log/nginx/error.log е...
Paul
24
Как добавить ссылку в Быстрый доступ в Проводнике windows 10? Нашёл, как на power shell сделать, но может есть способ через Дельфи?
А
31
@helgispbru @Dreamer_0x01 @Pathologic93 @webber_12 Не уверен, что вам всем это жутко интересно, но в продолжение недавнего диалога отправлю свои наброски. Хочу понять, правил...
Андрей [aharito] Харитонов
13
Карта сайта