материал взять отсюда
ИНТЕРВЬЮ
Когда у нас что-то не получается в игре, мы часто пеняем на лаги. Дескать, они во всем виноваты. Но что же такое «лаги» и откуда они берутся? Можем ли мы, игроки, сделать что-нибудь для того, чтобы меньше страдать от них? Сегодня мы решили разобраться в этом вопросе, и за консультацией обратились к ведущему гейм-дизайнеру ARENA Online Юрию Ходаковскому.
Корреспондент: Скажите, пожалуйста, что такое лаг?
Юрий Ходаковский: Лаг – это задержка пакета данных на пути от сервера к компьютеру игрока и обратно.
Корреспондент: От чего зависит появление лагов в игре?
Юрий Ходаковский: Вопрос очень сложный, поскольку возникновение лагов зависит от очень многих факторов. Это и качество интернет-канала самого игрока, возможности серверов его провайдера, естественно мощность игрового сервера, и нагрузка на сервер в данный момент времени на данной конкретной локации. Также не стоит путать лаги и подвисания.
Корреспондент: В чем отличие лага от подвисания?
Юрий Ходаковский: Основное отличие заключается в том, что подвисание целиком и полностью зависит от компьютера пользователя. Не зря существует такое понятие, как системные требования. Подвисание – это задержка обработки информации самом компьютером. И в данном случае не имеет никакого значения, поступила эта информация из папки с клиентом игры или от игрового сервера.
Корреспондент: Каким образом игрок может отличить лаг от подвисания?
Юрий Ходаковский: Это несложно. В клиенте игры прописана вся статика, то есть, все то, что не перемещается в пространстве друг относительно друга: это дыхание игрового персонажа, движение деревьев и травы, и так далее. Если у игрока на мониторе замирает все, в том числе и эти движения, значит, мы имеем дело именно с подвисанием: компьютер игрока слишком медленно обрабатывает изображения. Если подобное происходит постоянно, следует еще раз посмотреть, соответствует ли ваш компьютер системным требованиям. Если соответствует, но только минимальным или близким к ним, попробуйте уменьшить нагрузку, отключив некоторые дополнительные графические функции. Если же движения статических объектов выглядят так же, как обычно, но ваш персонаж не реагирует на команды, то это – лаг.
Корреспондент: Откуда берутся лаги? Насколько они вообще зависят от самой игры, от действий игроков?
Юрий Ходаковский: От клиента игры лаги не зависят абсолютно. Как бы мы ни обновляли клиентскую часть игры (то, что хранится у вас на компьютере), лаги от этого не появятся и не исчезнут. Они зависят только от сервера. Если на сервер поступает большее количество запросов, чем он может обработать, запросы ставятся в очередь на обработку. От игроков это тоже зависит. Например, во время осады все сразу устремились в замок. Сервер начал обрабатывать пакеты, появился небольшой лаг. В это время многие игроки (это бывает часто) начинают судорожно кликать мышкой, пытаясь заставить своего персонажа побыстрее куда-нибудь пойти. Но каждый клик мышкой – это еще один пакет данных, который сервер тоже должен обработать. Следовательно, чем больше вы совершаете подобных действий, тем большее количество лагов вы сами же и создаете. Лучше всего в данной ситуации просто подождать, пока сервер справится с нагрузкой, и не добавлять ему в это время лишней работы.
Корреспондент: Какие еще действия игроков могут влиять на лаги?
Юрий Ходаковский: Ни для кого не секрет, что маги качаются, собирая «паровозы» из большого количества монстров (некоторые собирают по 20-30 штук). Каждый монстр, умирая, отправляет ряд пакетов: о том, что он умер, о том, что из него выпал определенный лут, о том, что тело должно исчезнуть с локации (что в свою очередь сделано для профилактики подвисаний игры), о том, что на локации должны появиться новые монстры взамен убитых, и так далее. Следовательно, чем большее количество мобов одновременно было убито на локации, тем большее количество пакетов, присланных с нее, сервер должен обработать одновременно.
Также известно, что многие игроки, увлекшись качем, забывают собирать лут. Поскольку лут не является статическим (постоянно находящимся на локации и прописанном в клиенте) объектом, его нахождение на локации тоже поддерживает сервер. Так что большое количество предметов, разбросанных пол локации, также может привести к незначительным лагам, а также и к подвисаниям, поскольку нагрузка на компьютер пользователя также возрастает, и намного сильнее, чем собственно нагрузка на сервер. Игроки, располагающие мощными компьютерами, скорее всего, не заметят разницы, а вот тем, у кого техника находится нижней границе системных требований, это может помешать.
Корреспондент: Что могут сделать игроки для того, чтобы уменьшить нагрузку на сервер, мы примерно разобрались: не нажимать ничего, если залагало, не оставлять на локации лут, не собирать огромные «паровозы» мобов. А что предпринимается разработчиками для того, чтобы как-то улучшить ситуацию?
Юрий Ходаковский: Еще раз хотелось бы подчеркнуть, что собственно от разработчиков в данном случае ничего не зависит, поскольку они занимаются изменениями именно клиента игры. Работы с сервером – это совершенно другое дело. В некоторых играх практикуется такая вещь, как сокращение нагрузки на сервер путем прописывания в клиенте максимального количества данных. Фактически же это приводит к тому, что лаги в местах большого скопления игровых персонажей все равно присутствуют, зато значительно облегчается написание ботов. На Арене же создать бота не возможно, поскольку большая часть информации обрабатывается именно сервером, получить какое-то необоснованное преимущество перед другими игроками, заменив какие-то данные в клиенте игры, просто не получится. И менять эту политику мы не собираемся. Естественно, проводятся работы по увеличению мощности сервера, по оптимизации его работы. И многие игроки, я думаю, уже могли заметить результаты, если, например, сравнивать сегодняшний пинг с тем, что был, скажем, зимой. Но мы не останавливаемся на достигнутом. Как уже неоднократно говорилось, борьба с лагами – одно из приоритетных направлений развития проекта.
Сообщение отредактировал 11 мая 2010 - 15:24