Главная > Аналитика > Про лаги Бойцовского клуба


Про лаги Бойцовского клуба

06.07.2011  Тема: Аналитика

Думается мне, что во многом «проклятие» тормознутости этой игры заключается в том, что любые размены, любые приёмы — мгновенны. Как пример. Использует игрок Призрачную защиту — отправляется запрос на сервер, потом он обрабатывается, потом возвращаются данные о состоянии боя на текущий момент. Использует Усиленные удары — отправляется запрос, обрабатывается, возвращаются данные (в полном объёме). Предположим, я за размен использую 1-3 приёма + сам размен. Это 2-4 запроса плюс обработка каждого.

Если взять пример из реальной жизни, то это сравнимо с тем, если бы я подзывал официанта каждый раз на каждый свой заказ. Разумеется, гораздо удобнее было бы сначала составить список того, что я заказываю, и за один раз отдать весь заказ официанту. Как это выглядело бы в реалиях онлайн игры Бойцовский клуб?

Сначала составляется список приемов, который я хочу использовать в данном размене. Когда я нажимаю кнопку «вперед» — я выражаю свою готовность отправить запрос на сервер (читай: официанту). Сервер проверяет, возможно ли осуществить такой размен (хватает ли тактик, маны, стрел, жив ли персонаж и так далее). Если возможно — сервер обрабатывает размен и возвращает его. Минус (он же огромный плюс) данной системы в том, что уже невозможно будет наносить мгновенные заклятия (как обычные касты, так и приемы вроде прорыва).

Система, описанная выше, подразумевает, что официант после подхода к каждому столику будет возвращаться на кухню и обратно. Можно ли сделать ещё лучше? Можно!

Официант собирает единовременно все заказы только когда все участники боя их приготовили. Тогда не будет необходимости возвращаться каждый раз с новым заказом, достаточно пройтись один раз. Этим подразумевается, что размены будут единовременные не только для двух противоположных участников боя, а для обеих команд. Тогда бой можно делить на ходы не отдельных персонажей, а на некие «стадии боя» — одновременные ходы всех персов. Это во многом упрощает обновление окна: если в памяти браузера уже хранится информация о стадии боя номер N, то при обновлении окна будет использована локальная информация, а не новая с сервера. К тому же, уверен, это интереснее и с точки зрения самого боя. Проблема будет только в боях 2 на 100, например, когда 50 персонажей бьют в единственный размен одного… Но разве это не логичнее?

Нельзя также забывать и о такой мощной библиотеке JS, как jQuery, которая значительно может упростить многие функции на клиентской стороне.

Автор: Модификатор

Внимание! Обновился наш рейтинг самых перспективных онлайн-игр!


Новые статьи категории Аналитика:

При копировании понравившихся статей, пожалуйста, не забывайте указывать ссылку на первоисточник со своего сайта, блога или группы. Спасибо. 

Добавить комментарий к статье “Про лаги Бойцовского клуба”:

Добавить комментарий анонимно:

* - обязательные для заполнения поля.