Создание пользовательских файлов личности для Scam With Your Friends превращает стандартного звонящего в того, кого запомнит всё ваше лобби, и процесс этот проще, чем ожидает большинство игроков. Соедините JSON-лист характеристик с клонированным WAV-голосовым паком — и у вас готов полностью реагирующий персонаж, которым можно поделиться.
Что на самом деле контролируют пользовательские файлы личности
Файл личности — это мозг звонящего. Он решает, как ваш персонаж приветствует жертву, когда начинает нервничать, как быстро наращивает давление и какие реплики выдаёт, когда мошенничество начинает разваливаться. WAV-голосовой пак — это рот, а файл личности — всё, что за ним стоит. Пропустите одно — и звонящий либо звучит правильно, но реагирует неверно, либо реагирует идеально голосом, который никому не принадлежит.
Сообщество рассматривает эти две половины как единый комплект, потому что игра читает их вместе при загрузке. На практике несовпадающие пары — самая распространённая причина того, что пользовательский звонящий загружается с молчаливыми диалогами или откатывается к стандартным реакциям.
Вот за что отвечает каждый компонент: Personality JSON хранит веса настроения, пороги эскалации и триггеры реакций, которые заставляют звонящего паниковать в нужный момент; папка голосового пака содержит WAV-клипы, имена файлов которых должны точно совпадать с ключами реплик в JSON, иначе игра загрузит тишину вместо диалога; запись в манифесте регистрирует вашего звонящего, чтобы загрузчик его вообще увидел; а дескриптор Мастерской управляет названием, тегами и текстом предпросмотра, которые определяют, скачает ли его кто-нибудь. Разорвите любое из этих четырёх звеньев — и звонящий либо не появится в игре, либо загрузится со стандартными реакциями, поэтому в темах сообщества по устранению неполадок сломанный пользовательский звонящий почти всегда сводится к одному несовпадающему компоненту.
-
Personality JSON — веса настроения, пороги эскалации, триггеры реакций и маршрутизация реплик
-
Папка голосового пака — сами WAV-клипы, названные в соответствии с ключами реплик в JSON
-
Запись в манифесте — метаданные, которые сообщают игре, что ваш звонящий существует
-
Дескриптор Мастерской — публичное название, теги и текст предпросмотра
Если вы никогда раньше не касались файловой структуры игры, руководство по моддингу в Мастерской Steam расскажет, где живут моды и как загрузчик их обнаруживает. Прочитайте его сначала, если пути к папкам кажутся незнакомыми.
Разбор JSON-листа характеристик
Каждый файл личности — это плоский JSON-объект. Вы не пишете код — вы заполняете значения. Типичный лист содержит name, указатель voiceFolder, набор весов mood и массив reactions, привязанный к игровым событиям.
Блок mood — это то место, где на самом деле живёт личность. Звонящий с высокой aggression и низкой patience будет давить на жертв жёстко и рано выходить из игры. Поменяйте эти числа местами — и получите медленного, болтливого оператора, который тянет людей минутами. Моддеры сообщества отмечают, что небольшие числовые сдвиги меняют ощущение от звонящего сильнее, чем любая отдельная реплика диалога.
Держите свой первый лист близко к стандартному шаблону — скопируйте стандартные name, указатель voiceFolder, веса mood и массив reactions дословно, затем меняйте только одно-два значения за тестовый прогон. Так, когда звонящий вдруг начнёт сбрасывать после двух гудков, вы будете знать, что это значение patience, которое вы только что снизили с 0.8 до 0.3, а не побочный эффект одновременного редактирования aggression. Тестировщики, которые крутят пять полей сразу, в итоге не могут изолировать причину — и именно так загрузка в мастерскую застревает на проверке со звонящим, который ведёт себя совсем не так, как тот, что они предпросматривали.
Настройка вашего мода голосового пака
Мод голосового пака — это просто папка WAV-файлов с соглашением об именовании, которое понимает игра. Ошибётесь с именами — и звонящий замолчит посреди разговора, что гораздо более раздражает, чем плохой голос. Схема именования сопоставляет каждый клип с ключом реплики в вашем JSON личности, поэтому greeting_01.wav проигрывается только тогда, когда JSON запрашивает greeting_01.
Прежде чем что-либо записывать или клонировать, решите, сколько реплик вам действительно нужно. Минимальный звонящий может обойтись двенадцатью клипами. Полноценный переваливает за шестьдесят. Больше реплик — больше личности, но и больше шансов сломать имя файла.
| Компонент | Формат | Правило именования | Частая ошибка |
|---|---|---|---|
| Приветственные клипы | WAV | greeting_01.wav | Нумерация начинается с 0 |
| Реплики эскалации | WAV | escalate_soft.wav | Пробелы вместо подчёркиваний |
| Реакции паники | WAV | panic_high.wav | Неверная частота дискретизации |
| Прощальные реплики | WAV | signoff_neutral.wav | Файл вообще отсутствует |
| Праздная болтовня | WAV | idle_01.wav | Дублирующиеся ключи |
Частота дискретизации сбивает с толку больше людей, чем что-либо ещё. Придерживайтесь 44.1 кГц, 16-бит моно, если у вас нет причин брать выше. Раздутые файлы увеличивают вашу загрузку и замедляют время загрузки, не улучшая то, как звонящий звучит в игре.
Запись против клонирования
У вас два пути. Запись собственного голоса — самый безопасный и оригинальный вариант. Клонирование — прогон короткого образца через голосовую модель — быстрее и позволяет создать звонящего, который совсем не похож на вас, что важно, если вы планируете публиковать.
Пошаговое руководство по клонированию голоса охватывает длину образца, очистку и то, как избежать роботизированных артефактов, которые делают клонированного звонящего жутковатым. Если вы клонируете, всегда держите под рукой чистый эталонный дубль, чтобы можно было перегенерировать реплики после плохой партии.
Какой бы путь вы ни выбрали, нормализуйте клипы до согласованной громкости перед упаковкой. Звонящий, который шепчет одну реплику и кричит следующую, читается как сломанный, а не выразительный. В Audacity запустите Effect → Loudness Normalization примерно на -16 LUFS для каждого WAV в паке, затем обрежьте ведущую тишину до менее 100 мс, чтобы первый слог не обрезался, когда игра запускает реплику. Несовпадающие пики также являются обычным виновником зависшей загрузки в мастерскую на «обработке» — валидатор отклоняет файлы, у которых усиление колеблется более чем на несколько дБ между дублями.
Написание личности, которая ощущается живой
Одни числа не делают персонажа. Хитрость в том, чтобы привязать значения характеристик к голосу, который им соответствует. Звонящему с высокой aggression нужна отрывистая, быстрая подача реплик. Оператору с высокой patience идут более длинные, блуждающие клипы. Когда JSON и аудио не согласуются, игроки замечают это сразу, даже если не могут объяснить почему.
Набросайте эту концепцию, прежде чем трогать хоть один ползунок, потому что это самый дешёвый ловец багов во всём конвейере. Абзац-набросок — «Нервный пенсионер, извиняется дважды за предложение, сдаётся в тот момент, когда жертва даёт отпор» — даёт вам фиксированную точку отсчёта для проверки каждого значения: если ваша confidence стоит на 0.8, но клонированный голос заикается на вступительной реплике, концепция подскажет, что именно неверно. Она также выявляет несоответствия рано, прежде чем вы сожжёте часы на чистку WAV или перезапись дублей для звонящего, чьи aggression и patience противоречат друг другу. Напишите абзац простым языком, держите его где-нибудь, где сможете перечитать во время настройки, и воспринимайте любое значение характеристики, которое борется с концепцией, как сигнал скорректировать число — а не персонажа.
| Характеристика | Низкое значение ощущается как | Высокое значение ощущается как | Лучший парный голос |
|---|---|---|---|
aggression | Пассивный, нерешительный | Напористый, быстро говорящий | Отрывистый, громкий |
patience | Нетерпеливый, рано выходит | Медленный, тянет жертв | Длинный, блуждающий |
confidence | Заикается, сомневается | Гладкий, непоколебимый | Ровный, низкий |
chaos | Предсказуемый, безопасный | Неуравновешенный, непредсказуемый | Хаотичный, разнообразный |
warmth | Холодный, деловой | Дружелюбный, обезоруживающий | Мягкий, непринуждённый |
Моддеры сообщества часто создают две версии одного и того же звонящего — одну настроенную безопасно, другую настроенную хаотично — и публикуют обе. Это стоит почти ничего дополнительно и удваивает способы, которыми игроки могут использовать вашего персонажа. Возьмите строку chaos из таблицы характеристик: безопасная сборка держит chaos около 0.2, чтобы оператор следовал сценарию и предсказуемо выходил, а хаотичный собрат толкает его за 0.8 ради хаотичной, разнообразной подачи, которая сбивает жертву посреди презентации. Поскольку оба варианта используют один и тот же клонированный набор WAV и скелет JSON, вы меняете лишь горстку значений характеристик перед второй загрузкой в мастерскую — так что один мод голосового пака даёт двух разных звонящих вместо одного.
Тестирование перед публикацией
Никогда не загружайте звонящего, которого не запускали в живой сессии. Загрузите файл личности, начните звонок и следите за тремя вещами: молчаливые реплики, несовпадающие реакции и тайминг, который ощущается неправильно. Молчаливые реплики означают несовпадение имени файла. Несовпадающие реакции означают, что ваши ключи JSON не совпадают с именами событий. Плохой тайминг обычно означает, что ваши клипы слишком длинные или слишком короткие для темпа, который ожидает игра.
Проведите как минимум две полные сессии перед публикацией. Первая ловит очевидные поломки: WAV-файл, который никогда не срабатывает, потому что имя файла в вашем JSON не совпадает с клипом на диске, или звонящий, чьё приветствие проигрывается поверх неверного события. Вторая ловит тонкие вещи — реплику паники, которая срабатывает слишком рано, приветствие, которое повторяется, прощание, которое обрывается на полуслове. Этот второй проход важнее всего для загрузок мода голосового пака scam with your friends, поскольку звонящий может пройти быстрый одиночный тест и всё равно рассинхронизироваться, как только второй игрок присоединится к лобби и игра начнёт жонглировать несколькими аудиотриггерами одновременно.
Загрузка вашего звонящего в Мастерскую
Загрузка в Мастерскую — это место, где большинство создателей-новичков застревают, и причины почти всегда будничные. Загрузчику нужен действительный манифест, миниатюра и структура папок, которую он распознаёт. Пропустите что-то одно — и кнопка либо станет серой, либо загрузка зависнет.
Вот надёжный порядок действий, и он существует потому, что Мастерская проверяет в фиксированной последовательности, а не всё сразу: сначала она разбирает manifest.json, затем сопоставляет каждый ключ JSON с вашей папкой audio/, затем проверяет размеры миниатюры и только потом открывает кнопку публикации. Пропуск шага вперёд — скажем, загрузка до того, как имена ваших WAV-файлов совпадут с их ключами JSON — это то, что порождает классическое зависание «застряло на 0%», поскольку загрузчик останавливается, разыскивая клип, которого не существует. Работайте сверху вниз, и каждые ворота открываются прежде, чем следующие.
-
Сначала убедитесь, что ваш звонящий корректно загружается в локальной сессии
-
Проверьте, что каждое имя WAV-файла точно совпадает с ключом JSON
-
Заполните манифест названием, автором и версией
-
Добавьте изображение-миниатюру в размере, который ожидает загрузчик
-
Опубликуйте, затем сразу протестируйте скачанную копию в свежей сессии
Этот последний шаг важнее, чем люди думают. Звонящий, который работает локально, всё равно может отказать после скачивания, если ваш манифест указывает на пути, существующие только на вашей машине. Всегда тестируйте опубликованную версию так, как будто вы посторонний, устанавливающий её.
| Симптом загрузки | Вероятная причина | Исправление |
|---|---|---|
| Кнопка загрузки серая | Отсутствуют поля манифеста | Заполните название, автора, версию |
| Загрузка зависает на 0% | Раздутый WAV-пак | Сожмите или обрежьте клипы |
| Загрузка завершается, звонящий молчит | Несовпадение имён файлов | Переименуйте клипы под JSON |
| Звонящий загружается, но без голоса | Неверная частота дискретизации | Переэкспортируйте на 44.1 кГц |
| Миниатюра отсутствует | Неверные размеры изображения | Измените размер до ожидаемого |
Когда загрузка в Мастерскую застревает
Застрявшая загрузка — самая частая жалоба в темах создателей. В девяти случаях из десяти это проблема размера файла — пак, полный несжатых WAV, может раздуться сверх того, что загрузчик готов отправить. Обрежьте тишину из клипов, уберите всё ниже 44.1 кГц и попробуйте снова.
Если всё ещё зависает, проверьте манифест на лишний символ или пропущенную запятую. Некорректный JSON-манифест остановит загрузчик без ясной ошибки. Заметки по устранению неполадок Мастерской охватывают сторону скачивания той же проблемы, которая часто имеет общую первопричину с отказами загрузки.
Как сделать вашего звонящего достойным скачивания
Публикация звонящего в Мастерской — работа в два клика: заполните название, бросьте ваши .wav-файлы, нажмите загрузку. Получить скачивания — вот сложная часть, потому что браузер Мастерской сортирует по трендам и новизне, и новый звонящий остаётся видимым в этой ленте лишь короткое окно, прежде чем новые загрузки его похоронят. Звонящие, которые действительно распространяются, — это те, у кого чёткая зацепка встроена в сам файл личности: отличительный голос, который не звучит как стандартное чтение текста в речь, запоминающаяся фишка вроде звонящего, который паникует громче, чем дольше идёт мошенничество, или набор реакций, который удивляет игроков при первом запуске провальной презентации. Обобщённый пак «злого парня» с плоским аудио пролистывают за секунды, как бы чиста ни была структура файлов.
Несколько вещей последовательно отделяют популярных звонящих от забытых: файл личности должен нести отличительный голосовой профиль, а не стандартное чтение текста в речь, набор реакций нуждается как минимум в одной фишке, которая нарастает во время провальной презентации, а .wav-клипы должны оставаться согласованными по громкости на каждом триггере, чтобы игроки никогда не слышали резкий скачок громкости посреди мошенничества. Звонящие, построенные вокруг одного запоминающегося момента — панической эскалации, невозмутимой реплики при сбросе, крылатой фразы, которая срабатывает при каждом успешном мошенничестве — нарезаются и делятся в серверах Discord, что приносит куда больше трафика в Мастерскую, чем когда-либо даст лента трендов.
-
Сильная миниатюра — игроки листают быстро, поэтому изображение должно продавать персонажа
-
Короткое, хлёсткое описание — одно предложение о том, кто такой звонящий и почему он забавен
-
Согласованное качество аудио — один плохой клип тянет вниз весь пак
-
Чёткий номер версии — сигнализирует, что вы планируете его поддерживать
-
Честные теги — помогают нужным игрокам его найти
На практике звонящие, обновлённые в течение первой недели после выпуска, получают заметно больше отдачи, потому что ранняя обратная связь позволяет исправить мелочи, прежде чем пак выпадет из центра внимания. Относитесь к своей первой загрузке как к бете, а не к запуску.
Итерации после выпуска
Как только ваш звонящий вышел, следите за теми же тремя режимами отказов, которые вы проверяли во время тестирования. Игроки скажут вам, если реплика молчит или реакция срабатывает не в тот момент. Держите исходные файлы организованными, чтобы исправление занимало минуты, а не часы.
Версионируйте свои выпуски. Поднимите номер, отметьте, что изменилось, и перезагрузите. Звонящий, который заметно улучшается со временем, собирает небольшую аудиторию, и именно эта аудитория превращает разовую загрузку в узнаваемое имя в Мастерской.
Часто задаваемые вопросы
Что именно представляет собой пользовательский файл личности в Scam With Your Friends?
Это JSON-лист, определяющий поведение звонящего — веса настроения, пороги эскалации и триггеры реакций — в паре с соответствующим WAV-голосовым паком. JSON управляет реакциями, а аудио управляет подачей, и игра читает оба вместе, когда звонящий загружается в сессию.
Нужно ли мне клонирование голоса, чтобы сделать мод голосового пака?
Нет. Запись собственного голоса — самый простой и оригинальный путь, и он избегает артефактов, которые иногда несёт клонированное аудио. Клонирование полезно, когда вы хотите звонящего, который совсем не похож на вас, но оно требует чистого эталонного образца и дополнительной работы по очистке перед упаковкой.
Почему моя загрузка в Мастерскую продолжает застревать?
Обычный виновник — раздутый WAV-пак, который загрузчик не может протолкнуть. Обрежьте тишину, переэкспортируйте клипы на 44.1 кГц и проверьте манифест на пропущенную запятую или лишний символ. Некорректный манифест молча останавливает загрузчик, поэтому проверьте JSON перед повторной попыткой.
Сколько голосовых реплик на самом деле нужно звонящему?
Минимальный звонящий обходится примерно двенадцатью клипами, охватывающими приветствия, эскалации и прощания. Полноценная личность переваливает за шестьдесят реплик ради более богатых реакций. Начните с малого, протестируйте в живой сессии, затем расширяйтесь, когда основное поведение ощущается правильным и ни одно имя файла не сломано.
Могу ли я опубликовать две версии одного и того же звонящего?
Да, и многие создатели так делают. Создание безопасной версии и хаотичной версии из одного голосового пака стоит очень мало дополнительной работы и даёт игрокам два способа использовать вашего персонажа. Просто версионируйте их отдельно, чтобы скачивания оставались ясными и обновления не перезаписывали не тот пак.
Пользовательские файлы личности и голосовые паки — это разница между звонящим, который существует, и звонящим, которого помнят. Отточите сопоставление JSON с WAV, протестируйте в живой сессии перед публикацией и относитесь к своей первой загрузке в Мастерскую как к бете, которую вы планируете улучшать.