
Какая ещё хронизация?!! Отстаньте от меня
В ритм-играх стрелки, которые нажимает игрок, летят в ритм музыке. В идеале вы нажимаете стрелку точно в тот момент, когда звучит нота в музыке. Но это только в идеале.
Игроки используют компьютеры самой различной конфигурации, соответственно, могут появляться погрешности. Откуда они берутся и как их устранить?
Автор статьи: Zmey (zmey@danceforge.com)
При перепечатке указание авторства и ссылка на DanceForge обязательна.
Во-первых, многие звуковые платы при выводе звука дают задержку (лаг). То есть Степмания подаёт на проигрывание звук, а слышите вы его, например, с 20-миллисекундным опозданием. Профессиональные звуковые платы (стоят они от 100$) и даже некоторые дешёвые платы (например, SB Live) выдают звук практически без лага при условии использования специального интерфейса (ASIO драйвер), но этот интерфейс не поддерживает ни Степмания, ни другие игры, то есть наличие задержек практически неизбежно. Если звук выводится на колонки через цифровой преобразователь - это ещё один потенциальный источник задержек. В общем, путь от программы (Степмании) к вашим ушам непрямой и погрешность гарантирована.
Во-вторых, многие игровые контроллеры также дают дополнительную задержку. То есть вы нажимаете клавишу, а Степмания об этом узнаёт не сразу, а только через некоторое время. Лагами часто грешат беспроводные клавиатуры и джойстики. Вместе со звуком всё это даёт суммарную большую задержку.
В-третьих, многие плазменные панели и ЖК мониторы, особенно старые, выводят изображение не сразу. Это так называемый визуальный лаг или задержка отображения.
Что с этим делать? Во многих играх, например, в официальных релизах Pump it Up для PC вам придётся смириться с задержкой, либо пытаться её уменьшить подбирая оборудование. В Степмании же предусмотрены гибкие настройки, позволяющие компенсировать лаги и восстановить синхронизацию стрелок и музыки. Как именно это сделать, мы рассмотрим в этой статье.
Представьте себе ситуацию: Степмания играет ноту и ожидает получить в этот момент нажатие кнопки на клавиатуре. Но из-за лага вы слышите ноту не сразу. Нажимаете кнопку, положим, точно в ноту. Но поскольку от клавиатуры к Степмании сигнал тоже поступит не сразу - лаг суммируется. Эту суммарную задержку назовём задержкой звука и контроллера и попробуем её устранить.
Если, играя заведомо хороший трек, вы нажимаете стрелки в музыку, но получаете не высшую оценку, либо высшую, но очень нестабильно - это значит, что ваша Степмания не настроена и её нужно синхронизировать.
Если же все треки вы играете без проблем, но скачали новый трек и в нём наблюдается вышеописанная проблема - скорее всего, этот трек создавали на ненастроенном компьютере и нужно синхронизировать только этот конкретный трек.
Процедура в обоих случаях несложная. Начнём с синхронизации конкретного трека.
Есть два способа синхронизировать трек:
Выберите трек и включите его. После того, как на экране появится лайфбар, нажмите F6. Это включит режим синхронизации. О том, что режим активирован, говорит появившаяся по центру экрана надпись «AutoSync».
Убедитесь также, что автоплей отключен (если нет - отключите его, нажав F8). Ассист-тик тоже должен быть выключен (F4 или F7 в зависимости от версии Степмании).
Теперь ваша задача - максимально точно нажимать стрелки в музыку. ВНИМАНИЕ! Не корректируйтесь взглядом по степзоне. Если стрелка не попадает по степзоне - не страшно, главное, чтобы нажатия шли в музыку!
Степмания накапливает статистику ваших нажатий. После того, как она определит смещение степчарта относительно того, как вы играете его на слух, она подвинет степчарт в правильную позицию. Обратите внимание - это произойдёт прямо ВО ВРЕМЯ игры: степчарт резко дёрнется вверх или вниз.
Совет: ничего не нажимайте на сложных участках трека! Вы не пройдёте такие участки ровно и только внесёте погрешность. Всё, что ниже great-ов, Степмания игнорирует, то есть вы спокойно можете подождать, пока начнётся более простой участок и продолжить с него - miss-ы не зачтутся в статистику.
Когда вы увидите, что степчарт сдвинулся в правильную позицию и рассинхронизации больше нет - нажмите ESC.
Степмания укажет, насколько сместился степчарт в результате синхронизации, и предложит сохранить изменения. Если вы шли ровно, соглашайтесь.
Запустите трек снова, нажмите F6 и повторите вышеописанную процедуру. Делайте это до тех пор, пока Степмания не скажет, что изменений не требуется.
Если трек сильно рассинхронизирован, вы не сможете подстроить его из режима игры, поскольку Степмания будет игнорировать все ваши нажатия кроме Great-ов и Perfect-ов. Поэтому подвинем его в редакторе.
Откройте трек в редакторе.
Вы можете управлять смещением степов относительно музыки с помощью кнопок F11 и F12 (в PumpMania нужно дополнительно держать нажатым SHIFT). Значение смещения указано в информации справа (Beat 0 Offset).
Смещение меняется шагами по 20 мсек. Для более точной настройки зажмите и держите ALT.
После внесения изменений проверяйте результат, нажав CTRL-P (проиграть трек с начала), SHIFT-P (проиграть с позиции, на которой стоит курсор), или P (проиграть выделенный участок). К сожалению, включить AutoSync в редакторе нельзя, поэтому, когда вы подберёте смещение более-менее точно, сохраните трек, переходите в игровой режим и продолжайте его синхронизировать первым способом.
Вы скачали заведомо хороший трек либо набор треков, но в нём наблюдается рассинхронизация степчарта с музыкой. Причина, как уже было сказано - ваше звуковое оборудование либо контроллер даёт задержку. Её нужно компенсировать, заставив Степманию смещать степчарты на N миллисекунд вперёд или назад.
Четвертая Степмания предлагает два способа:
Первый способ:
В Опциях есть команда Calibrate Audio Sync. В этом режиме будет проигран монотонный рисунок ударных, под который вы должны нажимать стрелки. Старайтесь нажимать их предельно точно. Вы должны это делать чисто на слух, НЕ КОРРЕКТИРУЯСЬ по степзоне. Можно даже отвернуться от экрана, как вариант - закройте верхнюю часть экрана чем-нибудь, например, полотенцем (способ Амегона
).
Повторите процесс много раз, пока среднее отклонение между вашими нажатиями (Standard deviation) будет не выше 10-15 мсек.
Степмания сообщит смещение музыки относительно ваших нажатий (New offset). Это та самая величина, на которую нужно подвинуть ВСЕ степчарты, чтобы восстановить синхронизацию. НО редактировать степчарты вам не придётся - достаточно сохранить результат синхронизации и он будет применён на глобальном уровне.
Смещение, которое в итоге получено, называется GlobalOffset. Оно хранится в файле My Documents/stepmania cvs/save/preferences.ini.
К сожалению, опцию Calibrate Audio Sync убрали в последней версии 4-й Степмании (Alpha 4). Она присутствует в StepMania-CVS-20080103.
Второй способ:
Вы можете синхронизировать 4-ю Степманию по существующему треку. Возьмите заведомо нормальный трек и включите режим AutoSync Machine нажатием SHIFT-F6 (а не просто F6, как это делали при синхронизации трека). Результат такой синхронизации будет записан в поле GlobalOffset и применён на глобальном уровне, а сам трек, который вы приняли за эталон, не изменится.
К сожалению, в 3-й StepMania нет функции синхронизации компьютера, но можно взять значение GlobalOffset из 4-й Степмании и прописать его с помощью текстового редактора в файле StepMania/Data/StepMania.ini
Если у вас нет 4-й Степмании, можно выкрутиться следующим образом: возьмите заведомо хороший синхронизированный трек, запустите его в режиме игры. Как при синхронизации трека, включите AutoSync, нажав F6 (опции AutoSync Machine, к сожалению, здесь нет) и, играя, добейтесь синхронизации. После этого нажмите ESC - Степмания предложит сохранить смещение.
Запомните это смещение, но НЕ СОХРАНЯЙТЕ в треке! Выйдите из игры и вручную пропишите его в поле GlobalOffset в файле StepMania/Data/StepMania.ini. Готово, компьютер синхронизирован!
Действия, изложенные в предыдущем разделе, помогут добиться точной синхронизации звука и нажатий. Но если вы счастливый обладатель плазменной панели или ЖК монитора, то с высокой вероятностью обнаружите, что стрелки немного не успевают долететь до степзоны когда вы их нажимаете. Особенно это заметно на быстрых треках.
В принципе, на качестве игры это не сказывается, но если вы привыкли смотреть на степзону - может вызывать некоторый дискомфорт. Такая проблема, в частности, присуща автомату Pump it Up NX с корпусом FX (несмотря на точную синхронизацию звука со стрелками, изображение выводится с лагом).
Причина такой задержки - так называемый «monitor input lag», то есть время, которое требуется монитору для того, чтобы показать информацию, которую он получил. Пусть вас не сбивают с толку задекларированные производителем параметры монитора: часто «по бумагам» задержка составляет всего 4-8 мсек (время реакции матрицы), но на практике оказывается 30, 60, а то и больше мсек за счет кривой прошивки или каких-то других факторов.
Как бороться с задержкой отображения? В 3-й версии Степмании и в PumpMania, к сожалению, никак.
В 4-й версии Степмании в файле в файле My Documents/stepmania cvs/save/preferences.ini появился параметр VisualDelaySeconds. Он аналогичен GlobalOffset-у, но компенсирует лаг монитора. То есть при отрицательных значениях этого параметра изображение будет выводиться раньше времени и, соответственно, можно подобрать такое значение, что вы не будете ощущать задержку.
Поэксперементируйте с этим параметром и подберите оптимальное значение для своего монитора. Рекомендуется делать это только после того, как вы устранили задержку звука и контроллера.
Несмотря на то, что при синхронизации компьютера через Calibrate Audio Sync большинство треков «более-менее» попадут в ритм, к сожалению, общепризнанного эталона синхронизации не существует и вам будут временами попадаться треки или пакеты треков, которые нужно будет корректировать. В принципе, прежде чем играть треки из любого нового пакета рекомендуется пройтись по ним по всем и исправить синхронизацию каждому, потому что даже в пределах одного пакета треки могут идти вразнобой.
Если вы играете треки из «официального» микса, например из пакета PIU Pro или In the Groove - возможно, есть смысл завести для них отдельную Степманию и глобально синхронизировать её под каждый конкретный пакет, чтобы не исправлять все 100+ треков вручную.
Распространённая ошибка при синхронизации трека - полагаться на ассист-тик. Во-первых, в стандартной Степмании в самом звуковом файле ассист-тика есть небольшой участок тишины в начале, во-вторых, ассист-тик играется с задержкой, которую точно так же нужно подбирать и прописывать в конфигурационном файле Степмании (а точнее, в файле metrics.ini темы оформления, которую вы используете)! Поэтому даю добрый совет - ЗАБУДЬТЕ про ассист-тик и при синхронизации треков полагайтесь только на собственный слух, иначе вы синхронизируете музыку не со степчартом, а с магнитными бурями на луне.
Если степчарт для вас слишком сложен, не пытайтесь синхронизировать трек по нему. В Степмании можно включить модификатор «Little» - он оставит только степы на 1/4 долях, тем самым упростив степчарт. По нему и синхронизируйте. В текущей версии PumpMania этот модификатор спрятан, но его можно вернуть подредактировав файл metrics.ini темы оформления, или воспользоваться способом, о котором написано ниже.
К сожалению, способ с «Little» не сработает, если при создании степчарта степы ставили не по сетке. Тогда у вас один выход - удалите нафиг этот степчарт зайдите в редактор, найдите какую-нибудь не использующуюся сложность и создайте ещё один степчарт: определите по музыке РЕАЛЬНОЕ начало каждого такта, затем поставьте в этих местах по центральному степу (<5>). Выполните синхронизацию по этому степчарту. Не забудьте потом его удалить.
Степмания позволяет замедлять трек (опция Rate). Не используйте этот режим при синхронизации! Замедление работает некорректно в StepMania 3.x (и, возможно, даже в 4.х) и вносит погрешность. Более того, даже в PumpMania, где ошибка была исправлена - замедление не будет работать правильно с неточно выставленным GlobalOffset-ом.