Задать вопрос
@xamuronn

К какому типу приложения вы бы отнесли MMORPG, например WOW?

Вопрос по следам собеседования.
Мы знаем, что клиенты обычно делятся на два типа - толстые и тонкие, толстые - где основные вычисления происходят на компе пользователя, и тонкие - где основные вычисления происходят на сервере.

К какому типу скорее относится клиент MMORPG? Ведь вроде есть сервер, обсчитывающий положение/состояние тысяч игроков, и pwe сущностей.
И есть клиент, который как минимум отрисовывает все локально и в целом жрет довольно много ресурсов (сам клиент может спокойно занимать под сотню ГБ)

Не нашел информации про какое-то промежуточное состояние (между "толстосью" и "тонкостью"), но кажется что оно существует, если для него специальное обозначение/название?
  • Вопрос задан
  • 189 просмотров
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Stepik
    C# WPF. Создание оконного приложения
    2 недели
    Далее
  • Merion Academy
    iOS-разработчик с нуля
    4 месяца
    Далее
  • Учебный центр IBS
    SQA-I-003 Тестирование веб-приложений
    1 неделя
    Далее
Пригласить эксперта
Ответы на вопрос 5
Wispik
@Wispik
В MMORPG всё рассчитывается на сервере. А сотни Гб клиента, это 3d модели и текстуры по большему счету
Ответ написан
Daemon23RUS
@Daemon23RUS
WoW - толстый клиент. Вся тяжесть графики лежит на клиенте + физика (физика кстати проверяется сервером). Условно сервер сообщает куда повернута голова персонажа, а вся картинка (рельеф, текстуры, персонажи, действия персонажей) формируется на клиенте. Сервер это валидатор и хранилище данных. Валидирует действия персонажа и хранит их. Дополнительно присылает ранее валидированные и сохраненные данные персонажей находящихся рядом + неигровые персонажи (тут результат работы скриптов на сервере отвечающих за поведение NPC, но на клиент все равно прилетает где стоит/куда идет/как идет/какое действие выполняет) . Был удивлен ответам, что WoW - тонкий клиент.
Ответ написан
Я склоняюсь к тому, что это вопрос на рассуждение и правильного ответа тут нет.
Надо проанализировать приложения, которые мы точно считаем за толстый клиент и кого мы считаем за тонкий клиент.
И потом сравнить, что из этого есть в WoW.

В пользу толстого клиента:
1. Локально уже есть все ассеты, которые нужны для отрисовки
2. Графика рисуется локально (а не транслируется как видео)
3. Локально уже реализована вся физика и клиент оптимистично применяет все эффекты до подтверждения от сервера
4. Сервер и клиент общаются между собой адекватными сообщениями вида "такой-то персонаж движется сюда. Вон тот персонаж применил такую-то способность", а не " Клиент нажал мышкой на координаты x, y", "нарисуй такой-то ассет на координатах x2, y2".
5. Версия клиента и сервера обязана быть идентичной

В пользу тонкого клиента:
1. Сервер делает много валидаций и диктует клиенту, как он должен себя вести. Является источником истины.
2. Игрок не может играть в WoW без сервера чисто локально. На клиенте реализована не вся логика.

Какой из этих критериев ключевой я не знаю

То что можно клиент заменить на заглушку - не играет ни в какую сторону.
Ответ написан
Комментировать
@alexalexes
MMORPG - это тонкий клиент.
Для нормального функционирования всего стека игры для пользователя не обязательно рисовать полноценный интерфейс в 3D, достаточно иметь минимальный набор предустановленных скриптов, чтобы посылать адекватные сообщения на сервер в ответ на присланные им. Пользователю можно вывести хоть в командную строку только координаты персонажа, и писать команды скрипту, куда переместиться в текстовом режиме, и это будет работать.
Ответ написан
@Drno
тонкий. достаточно посмотреть как работали боты. которым ненужен был полноценный 3d клиент, например для LA2

они тупо в консольном режиме работали, грубо говоря)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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