Когда любимая игра виснет, изображение фризит, а герой умирает на ровном месте — это адски бесит. Особенно, если ждал релиза долгие месяцы (а то и годы!) В тексте собрали истории геймеров, в жизнь которых ворвались баги и проблемы с сетью.
«Если в локации было много персонажей, все отваливалось»
В видеоигры играю давно, с самого детства. За это время было несколько факапов, которые врезались в память. Например, с игрой Legendary — это синглплеер про вора, который открыл ящик Пандоры и бился с мифическими чудовищами.
В самом конце игры был лифт, который вел на финальную битву. Стоило мне туда зайти, сразу «проваливался» под текстуры: лифт двигался вверх, герой летел вниз и не умирал. Как я ни пытался исправить ошибку — менял раскладку, перезагружал сохранение и сам компьютер, переустанавливал, ничего не помогало. В итоге игру так и не прошел — вернул другу.
Спустя годы увидел Legendary у одного из обзорщиков: посмотрел ролик и убедился — баг с лифтом на месте. Оказалось, чтобы его обойти, нужно было долго копаться в файлах, вплоть до снижения FPS. Разработчики, кстати, так и не пропатчили баг, так что столкнуться с ним вполне реально.
Другой случай связан с Lineage 2, корейской MMORPG (тогда я играл преимущественно на пользовательских серверах — они казались интереснее, чем «официальные»). Сильно раздражали подвисания: если в локации оказывалось много персонажей, все отваливалось — изображение начинало фризить, а персонажи появлялись очень выборочно. На официальных серверах было то же самое, поэтому самые «многолюдные» локации шли труднее всего.
Похожий баг есть и у Call of Duty: Warzone. Я часто играю на консоли, и на PS4 бывают серьезные проблемы с прогрузкой персонажей на дальних расстояниях, хотя снайперство — одна из главных фич игры. В итоге тебя могут убить не из-за невнимательности, а из-за проблем с отображением героев — ты можешь не увидеть врага.
«Однажды я застрял между стен. Пришлось ждать, пока герой умрет от голода»
Видеоигры, в отличие от других форм искусства, более требовательны к своему медиуму. Например, если записал альбом в 70-х на магнитной пленке, оцифровать его нетрудно. Дальше можно запустить и прослушать на любой машине с динамиком. Игры же привязаны к конкретным устройствам, тут начинаются трудности — например, проблемы с несовместимостью движков и кода.
Возьмем Subnautica — игру в жанре survival, одну из моих любимых. Я проходил ее на Xbox One, там она работала ужасно — даже после того, как вышла из раннего доступа. Например, когда я плыл на подводной лодке, дно не подгружалось, а если нырял — оказывался в бездне. Приходилось останавливаться и давать игре «подумать». Один раз я даже застрял между стен, из которых никак не получалось выбраться. В итоге пришлось полчаса ждать, пока герой умрет от голода, чтобы начать все заново.
Была еще история, связанная с Heroes of Might and Magic IV. С этой частью есть проблема — она не идет на современных ПК, даже в режиме совместимости. Как-то мне отчаянно захотелось поиграть, и я решил загрузить «Героев» на макбук. Это пришлось делать через эмуляцию эмуляции: мой ноутбук работает на процессе М1, поэтому все приложения, написанные для архитектуры Intel, эмулируются. Я поставил игру через приложение для Intel — оно эмулирует среду Windows, в которой эмулируется сама программа. В итоге ничего не вышло, пришлось оставить ретрогеймерские чаяния.
«Получаешь удар, проходишь дальше. Через несколько секунд оказывается, что умер»
Я фанат MMORPG, поэтому, выбирая игру, смотрю на новые релизы жанра. Когда был младше, любил free-to-play игры и бесился, если донат все решал. Бывает, в игре есть щадящая монетизация, но через полгода-год она оказывается нерентабельной для владельцев.
Например, была MMORPG «Аллоды Онлайн», где все удовольствие убивала плохая система донатов. Там микротранзакции вышли на какой-то космический уровень: за каждое сообщение в общем чате приходилось донатить. Еще на старте можно было проапгрейдить сумку, в которой лежал инвентарь: базовый вариант стоил около 30 рублей, а самый навороченный — 5 тысяч.
Что касается багов. Моя работа связана с программированием, поэтому часто могу сказать, с чем связана ошибка и на чьей она стороне. Если игра лагает, проверяю, не грузятся ли десять торрентов параллельно, но если канал свободен, то неполадки на сервере. Такое случается нередко: по моим ощущениям, в 8 из 10 случаев проблема на стороне сервера.
Например, в игре Path of Exile был баг, связанный с синхронизацией клиента и сервера. Периодически случался рассинхрон: на клиенте одно, а на сервере другое. Учитывая, что многие любят играть на «хардкоре» (один раз умер — и все), ошибка была критической. Получалось так: пробегаешь комнату, видишь кучу врагов, получаешь серьезный удар и замираешь — персонаж «оглушен». Но это на сервере. На клиенте спокойно обошел врагов и идешь дальше, а через несколько секунд происходит принудительная синхронизация, и оказывается, что ты умер.
Баг серьезный и тяжело исправляемый — для его устранения пришлось бы полностью переписывать всю архитектуру взаимодействия клиента и сервера. Три-четыре года назад разработчики все же сделали новую схему, которая полностью искоренила баг, но сколько для этого понадобилось времени!
Еще одна проблема — традиционные лаги и подвисания в день релиза. Игра выходит, начинается хаос: половина игроков не может зайти, другая сидит в очереди на логин. Есть ощущение, что облачные технологии помогут избежать таких проблем. Другое дело, будут ли разработчики в них инвестировать.
Откуда берутся баги?
Некоторые проблемы «вшиты» в саму игру. Часть связана с компьютером пользователя (он просто не тянет), другая — с сетевой связностью. Последнее техническое ограничение позволяют снять качественный CDN, масштабирование облачных сервисов и географическая близость серверов к игрокам.
«CDN помогает быстро загрузить контент — что-то поправить (например, если игроки после релиза жалуются на ошибки и залипы героев в текстурах) или добавить новое. Плюс в онлайн-играх важно, чтобы пользователи были на одной версии. CDN позволяет оперативно доставить обновление и вернуть всех в игру.
Масштабирование облачных сервисов актуально для тех, кто создает массовые онлайн-игры. Это поможет снять раздражение игроков из-за «очередей» (долгой загрузки игровой сессии из-за перегруженных серверов), следовательно — улучшить вовлеченность и игровой опыт в целом. А географическая близость ускорит пинг от игроков до сервера», — рассказывает директор по развитию услуг Selectel Александр Тугов.