Mr. Purple

Twist

Решил недавно вернуться в игру и попробовать поиграть в каком-нибудь спокойном мире. Поскольку регистрация в ру-мирах закрыта из-за читеров и ботов, подался в испанскую версию игры. Активность там ещё меньше, чем у нас, но при этом новые миры регулярно открывают. И вот к открытию Queen Creek я и подоспел.

Начав играть, поймал себя на мысли, что в игре есть много разных визуальных деталей, которые мне не нравятся. И тут я вспомнил, что терпеть-то это всё не обязательно. Вон, игроки в Марвел Райвалс используют моды для изменения скинов, чем мы хуже?

Мы в Весте вроде привычные к скриптам, но те, которыми пользуемся, обычно добавляют полезные функции, а вот графику почти не трогают. Потому я решил исправить этот недочёт.

Скрипт

Я сделал Twist — небольшой скрипт, который меняет некоторые элементы интерфейса. Где-то выравнивает элементы, где-то меняет текстуры на более чёткие, где-то полностью перерисовывает то, что откровенно плохо сделано.

По наблюдениям, в игре банят только за скрипты, которые её автоматизируют, потому скорее всего вы можете устанавливать Twist ничего не опасаясь. Однако, вся ответственность, конечно же, на вас.

Как обычно, для установки нужно иметь расширение для пользовательских скриптов, вроде Tampermonkey. Если оно есть, жмите:

Установить скрипт

Если нужно поделиться скриптом с англоязычными игроками, есть версия на Greasy Fork. Обновляю её редко, но она должна автоматически подтягивать новые версии с моего сервера.

Что умеет

По умолчанию он не умеет ничего. Чтобы он начал что-то делать, нужно нажать на кнопку со скриптами в правой части игры, и в появившемся окне выбрать вкладку «Twist».

Окно настроек Twist

Что делать, если кнопки со скриптами нет

Если у вас установлено много сторонних скриптов, кнопки со скриптами может и не быть. Знаю, что какой-то из скриптов переопределяет эту кнопку, но не проверял, какой именно. Кнопка добавлена разработчиками Веста, и должна быть, если никакие иные скрипты её не перезаписывают. (Это такой полуофициальный способ интеграции скриптов в игру.)

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

Ещё, скрипт пытается работать динамически, потому изменения можно увидеть включая-выключая галки, без обновления страницы.

Checkboxes in game colors

По умолчанию чекбоксы в игре во многих местах не стилизованы, а потому покрашены в цвет системы. В зависимости от того, как выглядит ваша ОС, чекбоксы могут быть противно синими, как у меня.

Эта настройка перекрашивает чекбоксы в более приятный цвет. Слева — как было, справа — как стало:

Сравнение чекбоксов со включённой настройкой и без неё

Aligned task queue

Очередь работ в игре криво расположена и смещена на несколько пикселей влево. Это бесит.

Эта настройка исправляет позиционирование.

Сравнение очереди задач со включённой настройкой и без неё

No blinking shop and event icons

Кто-то когда-то в Инно придумал, что ивентовые иконки должны мигать, а магазин должен постоянно кричать, что у него там никому не нужные скидки. Это бесит.

Эта настройка убирает мигание.

Сравнение иконок событий со включённой настройкой и без неё

Возможный конфликт с другими скриптами

Если у вас установлен TW Essentials, то возможно у вас уже включена его версия этой опции.

Включение её в Twist не должно приводить к конфликтам, но на всякий случай знайте, оба скрипта будут пытаться починить один и тот же элемент интерфейса.

Tidy progress bars

Почему-то Инногеймс позволили себе во многих местах кривую вёрстку, которую не правили буквально десятилетями. Одна из этих кривостей — прогресс-бары, которые наползают на соседние элементы.

Эта настройка исправляет недочёты в тех местах, где они особенно бесят.

Сравнение прогресс-баров со включённой настройкой и без неё

Вы можете не видеть разницы между прогресс-барами слева и справа. Если так, то вы счастливый человек. Если же вы её увидели, то развидеть уже не получится, и эта кривость будет вас преследовать.

Tidier quest tracker

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

Сравнение списка квестов со включённой настройкой и без неё

Shadow on health and energy text

Из-за того, что полоски здоровья и энергии по центру сильно яркие, текст на них сложно читать, особенно если у вас плохое зрение. С этой настройкой — проще.

Сравнение полосок здоровья и энергии со включённой настройкой и без неё

Кривое позиционирование

Ещё хотелось бы починить позиционирование текста относительно этих полосок. Сейчас он не по центру.

Но проблема в том, что из-за того, как устроена вёрстка игры, сложно починить одним CSS-правилом для всех сразу. Чинишь в Хроме на МакОС, ломается в ФФ на Виндоус, и так далее.

Когда-нибудь что-нибудь придумаю.

Spaced message filters

Исправляет вёрстку чекбоксов в почте, которыми скорее всего никто никогда не пользовался.

Сравнение фильтров в почте со включённой настройкой и без неё

Fix broken avatars

Эта опция решает проблему, о которой не знают на русских серверах.

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

Сравнение аватаров со включённой настройкой и без неё

Технические подробности

Раскатывая обновление на языковые версии, Инно не сбросили кэш картинок аватаров на всех версиях своего CDN-сервера. Из-за чего одни сервера отдают свежие картинки, а другие — устаревшие.

Аватар же собирается из частей, части подбираются по конкретным координатам. Координаты не в курсе про то, какая там картинка. И клиенский код тоже не в курсе. Он ставит картинки по нужным координатам, на этом его полномочия всё. Потому, когда картинки поломаны, всё работает абы как.

Инно не будут целенаправленно исправлять эту проблему (хотя могли бы), потому что кэширующие CDN-сервера так устроены, что рано или поздно они обновят версии картинок в кэше сами по себе. В частности, на скриншоте выше версия «до» уже выглядит куда лучше, чем она выглядела ещё неделю назад.

Потому, если вас не сильно заботит эта кривость, можно и не использовать настройку. Через пару-тройку недель всё скорее всего само придёт в норму. Если только в очередной обнове не допустят эту же ошибку.

High quality textures

Игра создана во времена, когда не было экранов высокой плотности. Потому многие части интерфейса выглядят мыльно на экранах с высоким PPI (на т. н. «Ретина-дисплеях»).

Показать разницу на скриншотах сложно, т. к. если у читающего этот текст дисплей с низким PPI, то эта разница не будет заметна. Тем не менее, наверное проще всего указать на кнопки скрытия-закрытия окон:

Сравнение кнопок скрытия-закрытия окон со включённой настройкой и без неё

На текущий момент скрипт подменяет 41 файл с текстурами на более качественные версии. «Качественные» — понятие растяжимое, потому правильнее будет сказать, что часть текстур перерисована в большем разрешении с помощью ИИ, а часть отрисована руками.

В некоторых местах ИИ-апскейл даёт о себе знать, и если приглядываться к кнопкам вокруг аватара, то видно, что они немного кривоватые, и в целом выглядят как слоп. Но цель этой настройки — убрать мыльность, потому со слопоп тут приходится мириться. Ну и, см. ниже раздел про использование ИИ.

Redrawn items

К сожалению, Инногеймс не только не тратят деньги на разработчиков, они, видимо, ещё и на дизайнеров больше тратят ни цента. Иначе никак не объяснить то качество контента, который мы получаем последние полтора-два года.

Всё, что появилось за последние года, можно разделить на две кучи: некачественный ИИ-слоп и «будто соседский ребёнок рисовал». Некоторые из предметов бесят настолько, что я решил перерисовать их с помощью ИИ. Результат, конечно, слоповый, но будто бы лучше.

Сравнение предметов со включённой настройкой и без неё

Планов на то, чтобы перерисовывать весь инвентарь нет (хотя их «мыльность» раздражает). Пока что хочется исправить ещё пару десятков предметов, а дальше уже смотреть по обстоятельствам.

Что уже перерисовано
  1. Рубаха и штаны из набора одежды бойца.
    Потому что те, что нарисовали Инно, похожи на купленные в H&M.

  2. Набор оружия с ручной росписью (призовой на Октоберфест 2026).
    Потому что там уродский перочинный нож и невнятное ружьё.

  3. Наборы одежды, оружия и упряжи Шочикецаля.
    Потому что то, что есть, цензурными словами не назвать.

ИИ-дисклеймер

ИИ используется в трёх местах:

  1. Все предметы сгенерированы с помощью ChatGPT.
    Из-за этого некоторые из них выглядят более слопово, некоторые менее. Возможно какие-то будут ещё дополнительно перерисованы в будущем, чтобы избавиться это этого ощущения «сгенерированности». Но пока что результат ИИ приятнее, чем то, что рисуют Инно.

  2. Большинство текстур сгенерированы с помощью специализированных ИИ-апскейлеров.
    В некоторых местах это тоже выглядит слопово, но в большинстве (а перерисовано 40+ файлов) «ИИшность» почти незаметна. Плюс, некоторые текстуры перерисованы руками, т. к. ИИ не справлялся.

  3. Весь код расширения сгенерирован с помощью Claude.
    Он при этом внимательно прочитан, отревьюен и всё такое. Потому в его работоспособности можно не сомневаться.

    Несмотря на то, что код в общем-то элементарный, найти в себе силы на то, чтобы вручную разгрести говно код Инногеймс не получилось. Потому использование ИИ тут — компромисс, на который пришлось пойти, чтобы расширение в целом появилось.

Что дальше

Какие-то ещё текстуры будут исправлены, какие-то новые функции будут добавлены.

Чуть позже тут появится лог изменений, в котором при необходимости можно будет узнать, что нового.

Комментарии закрыты