Soundmaking

Материал из Tau Ceti Station Wiki
Перейти к навигации Перейти к поиску
Construct.png

Этот раздел или статья в стадии разработки.
Информация на этой странице может оказаться неполной или не соответствовать реальности.
В данный момент ей занимается ‎Lizard.

Как устроены звуки в игре и для чего они нужны?

Предисловие.

В первую очередь, как многим известно, звуки созданы и используются в игре для погружения в атмосферу. Реалистичные и качественные звуки всегда будут необходимы для более глубокой и увлеченной игры. Вы, наверное, согласитесь, что отыгрывать персонажа и жить на космической станции, где симулируются многие физические законы и явления, будет гораздо приятнее, если звуки будут отражать всю полноту происходящего. Вряд ли будет разумным решением на полном серьезе добавлять казуальные, "игрушечные" звуки. Они могут задать настроение игре, могут заставить вас напрячь ваши нервы, почувствовать радость, печаль и даже, возможно, ощутить страх.


Кратко о рекомендуемых форматах.

Игровые звуки, как правило, хранятся и используются в формате .ogg и достаточно нежелательно использовать другие форматы. Хотя и в нашем билде содержатся звуки в формате .wav, их использование не рекомендуется ввиду их большого занимаемого объема памяти. Может быть качество звуков этого формата и высокое, но ого того не стоит. Проигрываются же эти звуки благодаря определенным командам в коде игры, но не стоит пугаться! Это не так сложно и страшно, как звучит на первый взгляд. Иногда бывает гораздо сложнее отыскать нужный звук и обработать его.


Поиск звука. Начальный этап.

Так какой звук вам хочется добавить в игру?

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


Рекомендации по поиску звука. На что стоит обращать внимание.

Надеюсь, у вас уже появилась идея по добавлению звука, но постойте! Прежде чем найти и скачать интересующий вас звук, ознакомьтесь с рекомендациями по его поиску и анализу:

  1. В вашем звуке есть шумы?
    В начале удостоверьтесь в отсутствии посторонних шумов в звуковом файле. Он должен быть чистым и не должен содержать чьих то голосов на фоне, не нужных второстепенных звуков каких нибудь машин или банального шипения микрофона из за некачественной записи. Так же нежелательно присутствие эха. Если вы обнаружили что нибудь из подобного, то рекомендуется найти другой звук. От этих шумов будет очень сложно избавиться без потери качества.
  2. Он качественный?
    Что же, похоже, что ваш звук не содержит шумов. Но теперь стоит обратить внимание на его качество. Чем оно хуже, тем хуже он будет звучать в игре. В отличие от шумов, качество звука невозможно повысить. Но им можно пренебречь, если потеря качества незначительная, а вам не удается найти другой. И запомните, что мы ищем качественные и реалистичные звуки, поэтому казуальные и упрощенные звуки не рекомендуются, если это, конечно, не требуется.
  3. Он подойдет для игры и будет ли удобно обрабатывать его?
    Отлично. Ваш звук не содержит шумов и обладает приемлемым качеством. Дело за малым. Стоит обратить внимание на вашу цель и на содержание звука. Может, это должен быть, например, звук выстрела C20R? Прослушиваем звук перед скачиванием. Вспоминаем, что в нашей игре не предусмотрены выстрелы очередями. Если это уже одиночный выстрел, то это идеально. Нет? Тогда, может быть, его можно обрезать и обработать? Если тоже нет, то этот звук будет сложно нормально обрезать без "заиканий", прерываний или прочего. Стоит поискать другой.


Рекомендованные сайты для поиска бесплатных звуков.

Но где же его достать? Существуют много хороших сайтов с бесплатными звуками, на которых вы можете найти почти любые звуки, но я порекомендую лишь несколько:

  • Freesound - настоятельно рекомендован к использованию ввиду огромного разнообразия звуков любого качества. Вы можете найти здесь почти все!
Нажмите на изображение для его увеличения
Нажмите на изображение для его увеличения
  • BBC Sound Effects - не удалось найти необходимые звуки? Тогда можете заглянуть сюда. Здесь не так часто бывают качественные звуки. В основном наполнен звуками с посторонними шумами, но здесь так же можно найти что нибудь подходящее.
  • NoiseSFX - Похоже, что вы в отчаянии. На этом сайте не так много звуков, но зато он отличается звуками неплохого качества. К тому же, он полностью на русском.


Мелкие замечания.

Перед тем как скачать нужный звук с сайта, скопируйте его ссылку себе в блокнот! При создании пулл-реквеста(ПРа) вам будет необходимо указать источник звука, то есть, где вы его скачали. Да, звуки на этих сайтах бесплатны и доступны для скачивания, но они все еще защищены лицензией. Например, звуки с фрисаунда требуют указание источника при использовании.

Весь алгоритм-пример поиска звука на примере одного из сайтов будет показан ближе к концу статьи.


Поиск звука на примере сайта Freesound

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

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

  1. Поиск звука.
    • Вводите любое слово, наталкивающее на интересующий вас звук.
    • Не всегда именно тот звук, который вам нужен, называется "прямо". Иногда можно выйти, например, на качественный и страшный эмбиент во время поиска обычного звука оружия! Понадейтесь на удачу, ваш интеллект и интуицию в этом пункте.
  2. Методы фильтрации поиска.
    1. {Automatic by relevance}.
      Рекомендуется использовать этот параметр в большинстве случаев. Сортирует звуки на страничке, ориентируясь на сходство названия и описания звука с вашими заданными данными в поиске.
    2. {Duration}.
      Не рекомендован к использованию. {long first} - поставит самые длинные звуки в начало. Длинные звуки, как правило - некачественные, нечистые звуки. {short first} - поставит самые короткие звуки в начало. Обычно их длины не хватает даже на то, чтобы вы его услышали. Придется перескочить на несколько страничек вперед.
    3. {Date added}.
      Не рекомендован к использованию. {newest first} - самые новозалитые звуки в начале. {oldest first} - самые мшистые звуки в начале.
      • Обычно старые звуки обладают заниженным качеством, но сделаны "с душой". В них нечасто бывают рандомнозалитые, отвратительные, шумные или бесполезные звуки.
      • Новые звуки могут обладать высоким качеством, но так же велика вероятность того, что вы наткнетесь на такой звук, который совсем не подойдет для вас. Выбирая этот параметр, вы играете в русскую рулетку.
    4. {Downloads}.
      Рекомендован к использованию(Most first). Сортирует по загрузкам. Most first - звук с наибольшим количеством загрузок будет в начале списка. Least first - самый непопулярный звук будет в начале.
    5. {Rating}.
      Не рекомендован к использованию. {highest first} - звук с наивысшим рейтингом в начале. {lowest first} - самый низко оцененный звук в начале.
  3. Дата загрузки, рейтинг и количество загрузок.
    • Обращать внимание на рейтинг - бесполезное занятие.
    • Большое количество загрузок - не всегда верный знак качества звука. Но в большинстве случаев это так.
    • Дата загрузки раньше 2012 - гарантия бородатости звука и его низкого качества звучания ввиду устаревшей аппаратуры записи.
  4. Прослушивание звука.
    • Вы можете нажать по треугольнику, чтобы прослушать его.
    • Круговая стрелка - зацикливание звука.
    • Вы можете прослушать отдельный фрагмент звука, просто нажав по полю звука.
  5. Вы можете скачать звук. Просто нажмите по его синему названию, откроется новая вкладка. Если вы уже вошли в аккаунт, вы можете нажать на {Download}, чтобы скачать его. Обращать внимание на особые параметры звука здесь не обязательно, если он вам понравился.
    • Перед скачиванием звука, обязательно скопируйте ссылку вкладки себе в блокнот. Она пригодится вам во время создания ПРа.


Обработка звука. Промежуточный этап.

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


Рекомендованные программы для обработки звуковых файлов.

Разумеется, без сторонних программ вам это не сделать. Порекомендовать я могу лишь две:

  • FL Studio - рекомендован к использованию. Обладает огромным функционалом и предназначен для профессиональной работы. К сожалению, он платный, но вы все еще можете скачать Trial-версию, функционала которой будет достаточно для работы со звуками. Trial-версия не ограничивается каким нибудь стандартным месяцем, а держится до тех пор, пока вы не купите полную.
  • Audacity - одна из самых популярных и относительно простеньких программ. Заниматься чем то серьезным здесь будет не очень просто.

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


Базовые рекомендации на этапе обработки звука

Для предотвращения создания "тяжелых" или попросту некачественных звуковых файлов существуют несколько условных правил, которые рекомендуется соблюдать:

  1. Одно из самых важных правил - контролирование битрейта звука.
    • Слишком высокий битрейт гарантирует вам высокое качество звука, но огромный размер файла. Слишком низкий же, наоборот, - низкое качество, но легкий вес звука. Старайтесь не превышать границу веса звукового файла в 100-150 КБ. Если звук очень длинный, например, если это какая нибудь тревога на станции, то следует задуматься об альтернативном решении - зацикливание короткого звука. Засорение билда огромными звуковыми файлами - не лучшее решение.
    1. Битрейт 64 кб/с рекомендован к использованию в большинстве случаев
    2. Битрейт 32 кб/с используется только лишь в тех случаях, когда размер файла превышает 100-150 КБайт.
      • Битрейты ниже 32 кб/с не приветствуются из за слишком низкого качества звука.
    3. Битрейт 128 кб/с необходим лишь тогда, когда качество звука ощутимо страдает из за занижения битрейта.
      • Битрейты выше 128 кб/с не приветствуются. На крайний случай - можете повысить его до 256 кб/с, но не больше.
  2. Контролируйте громкость звука.
    • Запомните. Понижать громкость звука в коде гораздо эффективнее и проще, чем потом повышать его же с помощью других переменных.
    • Слишком громкий звук теряет свое качество и может сильно раздражать игроков. Перед его обработкой, обязательно снизьте громкость, если он чрезмерно громкий
    • Слишком тихие звуки почти не будут слышны в игре. Их громкость не рекомендуется повышать в коде игры. Следует сделать это на этапе обработки.
  3. Следите за качеством вашей работы.
    1. Звук должен звучать наиболее реалистично и физически осмысленно. Может быть, это новое шипение ксеноморфа? Хорошо, но оно не должно звучать как шипение кошки. Это должен быть хищнический и хитрый звук. Возможно, такое решение будет отдаленно напоминать вашу цель, но это может плохо сказаться на атмосферности игры. Вы ведь не забыли, что мы здесь с вами делаем качественные и реалистичные звуки?
    2. Старайтесь избегать добавления эха при помощи программы. В игре существует свой собственный код по динамической обработке звука. Если кто нибудь, помимо вас, будет добавлять универсальное эхо для всех игровых звуков, то наложение эха подарит игре значительное повышение громкости звука, ощущение "кашицы" в звуке, а так же потери универсальности звука.
      • Вы можете добавить в коде игры переменную is_global = 1, если вам так необходимо эхо. И все же, оно крайне не рекомендуется.
      • Если все же вам нужно наложить эхо - не забывайте о качестве! Если это, например, звук отстыковки для экстренных капсул - стоит добавить подходящее эхо для крохотных помещений. Это анонс о надвигающейся ионосферной аномалии? Выкрутите эхо на максимум, ведь станция - не маленькая, а большинство персонала будет находится в ее широких коридорах и больших отсеках.
    3. Добавляйте эффект "препятствия" вашему звуку, если он задумывается как звук, исходящий из чего то, что недоступно по стандарту обычному глазу, руке игрока. К примеру, это постукивание, удары внутри шкафчика. Это должен быть приглушенный звук с эффектом препятствия, не так ли?
    4. Стерео звук, в котором часть звуков идем в левое ухо, а другая часть - в правое - плохое решение. Разумеется, благодаря "фичам" дриммейкера некоторые звуки будут смержены до монозвука, но некоторые - так и останутся такими, какими вы их сделали. Если скачанный вами звук уже идет в таком формате - вы можете смержить его до монозвука в ручную. не забудьте для этого немного повысить его громкость.
  4. Придерживайтесь стандартизированных названий ваших звуковых файлов, сортируйте ваши звуки
    • Если вы будете создавать большое количество различных звуков, то вы можете потеряться во всем этом! Для предотвращения этого, рекомендуется помещать звуки в разные папки с нужными названиями, а так же называть сами файлы так, чтобы они соответствовали содержанию звука
    • Вы так же можете заняться этим на последнем этапе - добавления звука в игру. Но все же, эта рекомендация остается в силе.


Работа со звуком на примере программы FL Studio

Допустим, что мы обрабатываем какой нибудь звук. Так как именно его изменять?


Базовые инструменты FL Studio

Нажмите на изображение для его увеличения


Знакомьтесь с FL Studio! Запутанный на первый взгляд интерфейс на самом деле достаточно простой. Вам придется пользоваться только частью его функционала, ведь мы создаем не музыку, а всего лишь звуковой файл. Для упрощения ознакомления вас с этой неплохой программой я выделил 4 цифры:

  1. Основные инструменты, которые используются при работе, как правило, с несколькими звуками. По большей части вы будете использовать лишь некоторые.
    1. Инструмент-карандаш.
      Позволит вам перемещать звук по полю редактирования, подогнать его по таймингу, если вы скрепляете несколько звуков. Универсальный. Удерживая звук при помощи ЛКМ вы моежте перемещать звук. Нажав по звуку, а потом по пустому месту в поле - вы скопируете этот звук в определенное место. Нажав ПКМ по звуку - вы его удалите.
    2. Кисточка.
      С помощью нее можно копировать звуки. Но с этим отлично справляется карандаш.
    3. Перечеркнутый круг.
      Удаляет звуки по клику... Но с этим отлично справляется карандаш.
    4. Динамик с крестиком.
      Делает выбранный звук беззвучным. Не удаляет, а именно "выключает" его. Можно вернуть слышимость тем же инструментом.
    5. Две стрелочки.
      Можно смещать звук относительно его рамки. Полезно, когда, например, вы обрезали часть звука.
    6. Канцелярский нож.
      Обрезает звук. С помощью ЛКМ можно нарезать звук хоть на тонкие слайсы! Потом эти слайсы можно удалить с помощью карандаша или специального инструмента удаления. С помощью ПКМ можно обрезать и удалить часть звука сразу.
    7. Пунктирная рамка.
      Позволяет выделить сразу несколько звуков. Не так полезно при работе со звуками, а не с музыкой.
    8. Лупа.
      Очевидно, что она делает приближение в том месте, где вы нажали ЛКМ.
    9. Динамик с полосами громкости.
      Дает вам возможность прослушать конкретный звук при нажатии на нем ЛКМ. Удивительно, но, смотря куда вы нажмете и сколько будете держать кнопку, с такого места и столько он будет проигрывать этот звук.
    • Но при обычной работе вам придется использовать в основном карандаш и канцелярский нож. Иногда заглушение звука.
  2. Это ваш звук! Вы можете применять все инструменты, обозначенные сверху. Как видите, вокруг него много звуковых дорожек. Сверху обозначены секунды, начиная с 1. Вы моежте менять масштаб поля при помощи Ctrl + Колесико мыши.
  3. При двойном щелчке по конкретному звуку в поле, вы можете открыть панель редактирования звука. Снизу так же ваш звук - вы можете прослушать его, кликнув по нему.
    1. {PITCH}.
      Меняет тональность звука
    2. {MUL} и {TIME}.
      Меняет длительность звука вместе с тональностью.
  4. Более тонкие инструменты настройки звука.
    • Здесь будут расписаны лишь основные инструменты, которыми вам придется пользоваться.
    1. {Normalize}.
      Нормализует звук и его громкость. Фиксирует громкость звука, если включен. Если звук был слишком тихим или громким - он станет нормально слышимым.
    2. {Reverse}.
      Реверсирует звук, то есть воспроизводит его наоборот. Не рекомендуется использовать этот инструмент для ваших звуков. Действия этого инструмента ясно ощутимы - звук перестает звучать хорошо, четко слышится реверс.
    3. {SMP Start}.
      При увеличении этого ползунка, звук будет начинаться раньше. То есть, он сместится немного назад, за поле. Полезно, если звук начинается с тишины. Так же очень полезно при создании зацикленных звуков - можно легко по чуть чуть перемещать его, чтобы синхронизировать его старт с концом, без всяких щелчков или заиканий.
    4. {Length}.
      Меняет длительность звука. То же, что и SMP Start, только наоборот - убирает звук с конца. Звук будет заканчиваться раньше. Рекомендуется использовать, если ваш звук слишком долгий и его обработка вызывает проблемы с производительностью.
      FLS basics2.jpg
    5. {In}.
      Плавный старт звука, наращивание громкости с начала. Чем выше значение - тем сильнее будет заглушен старт и тем плавнее звук начнется
    6. {Out}.
      То же, что и In, только наоборот. Конец звука будет тише, будет заканчиваться плавнее
      • Важное замечание для In и Out. Обрабатывается весь звук, а не лишь тот кусочек, который находится у вас в поле. Если звук длинный, то придется выкручивать оба значения на большие значения или подумать об изменении его длины.
    7. {Crossfade}.
      Проигрывает в конце звука его же, только наоборот. Чем выше значение, тем больший "кусок" звука он проиграет наоборот ближе к концу. Не рекомендован к использованию по тем же причинам, что и в Reverse.
  5. Вы можете нажать на гаечный ключ или значок справа от него, тогда вы смените режим настройки звука. Это еще более тонкие настройки, со своими "фичами"
    1. {Boost}.
      Увеличивает громкость звука на значения, превышающее 100% от его первоначальной громкости. Не злоупотребляйте этим инструментом.
    2. {EQ}.
      Похожий по действию на Boost ползунок. Крутите вправо - увеличиваете громкость. Влево - уменьшаете. Меньшая потеря качества звука при обработке этим инструментом, по сравнению с Boost.
    3. {RM Mix}.
      Добавление помех, щелчков, интерференции на звуке. Полезно, если вы создаете какой нибудь роботизированный голос, или же какие нибудь помехи.
    4. {CUT}.
      Чем ниже значение, тем больше будет ощущаться эффект "препятствия" между звуком и вами. Например, если действия происходят где нибудь под полом.
    5. {RES}.
      Чем выше значение, тем больше будет симулироваться плохое качество звука. Будет так же добавляться некий писк. Полезно при параллельном добавлении помех с помощью RM Mix.
    6. {Reverb}.
      Ощущение объема вашему звуку, эхо. Нулевое значение - отключен. Минимальные значения - эффект крохотной комнатки. Максимальные значения - ощущение ангарности.
      1. Reverb {B}.
        Звук ощущается как настоящий, у вас в комнате или где нибудь еще! Добавление слабого эффекта эха.
      2. Reverb {A}.
        Сильное эхо, максимальная реалистичность.


Установка битрейта и формата звука

FLS basics3.jpg

Чтобы сохранить звук, нажмите {FILE} слева вверху, затем {Save as}. Выберите формат {.ogg}, назначьте название звуку и сохраняйте его.

Опа! А вы думали сохранять звук так просто? На самом деле да, эта панель не должна вас пугать. Здесь вам нужно только изменение стереозвучности/монозвучности звука, а также, самое основное - битрейт. Помните рекомендации по битрейту? Самое время ими воспользоваться!

Порядок действий при сохранении звукового файла:

  1. Ваш звук звучит в стерео нормально? Есть ли сильные расхождения между ЛЕВО и ПРАВО? Если да, то стоит смержить его до монозвука. Для этого нажмите на {Stereo} и выберите {Mono(Merged)}. Надеюсь в таком случае вы не забудете, что при смерживании в монозвук, громкость и вес самого звука немного уменьшается?
    • {Merged(Left)} и {Merged(Right)} используются для проигрывания звука лишь в одно ухо. Не используйте эти варианты.
  2. Установите битрейт в 64 кб/с при помощи горизонтального ползунка.
  3. Проверьте параметр {Disk space: NN KiB}. Он превышает 100 КБайт? Тогда стоит уменьшить битрейт звука до 32 кб/с.
    • Если он все еще весит больше, чем 100-150 КБайт, то стоит изменить его или найти альтернативное решение, например - зацикливание короткого фрагмента этого звука.
  4. Сохраните звук, нажав в этом окошке снизу {Start}
  5. Дождавшись рендеринга звука, скройте FL Studio и прослушайте ваш готовый звук. Не убил ли низкий битрейт ваш звук?
    1. Ощущается потеря качества или он звучит паршиво? Попробуйте увеличить битрейт звука в вашей скрытой FL Studio. Просто сохраните его снова, повысив битрейт до 128 кб/с. Не забывайте о пороге в 150 КБайт.
    2. Все еще звучит отвратительно и вы хотите идеальный звук? Странно, до этого обычно дело не доходит. Хорошо, но обратите внимание на его вес. Если он незначительный, то, думаю, вы можете повысить битрейт и до 256 кб/с. Все же, это не приветствуется.
  6. Прослушайте ваш звук несколько раз, погрузитесь в себя. Это то, чего вы хотели? Именно этот звук должен отражать сущность того действия в игре?
    • Не бойтесь начинать работу с начала! У вас все еще есть скрытый FL Studio. Может быть, вы захотите изменить какие нибудь параметры звука, или изменить тайминг воспроизведение какого нибудь из его фрагментов? Или, возможно, вам придется начать работу с нуля, ведь вы осознаете, что те звуки, которые вы выбрали, плохо подходят для этого?


Вживление звука в игру. Финальный этап

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

Чтобы начать работать в дриммейкере, для начала вам необходимо пройти все этапы "становления" вас на гитхабе, а именно:

  1. Регистрация в [гитхабе]
  2. Скачивание и установка [программы для работы]
  3. Клонирование актуальной версии нашего [билда]

Так же вам необходимо перенести ваш созданный звук в уже клонированный билд. Папка со звуком находится в {####/TauCetiStation/sound/}. Ориентируйтесь по названиям папок в этой папке или создавайте свои, если вы добавляете сразу много близких по роду звуков.

Надеюсь, эти шаги уже выполнены вам. Теперь мы сможем приступить к самому дриммейкеру.

Знакомство с DreamMaker'ом

В начале откройте {taucetistation.dme} в {####/TauCetiClassic/}. Это то место, где вам предстоит кодить.

Ориентация в коде

Отлично, вы дошли сюда и все еще не передумали делать звук из за страшных мыслей о кодинге! Все гораздо проще, чем вы, вероятно, думаете. Вам нужно просто отыскать нужные строчки в коде. Для этого я помогу вам ориентироваться и в папках с кодом, использовать его поиск, ориентироваться в самих строчках. Это необходимо намного больше, чем знание того, как же все таки проиграть звук. Ведь вы же не запихнете звук туда, куда сами не знаете куда будете пихать?

  • Если вы абсолютно не разбираетесь в коде, вы можете открыть любой файл и просмотреть синтаксис языка DreamMaker'a. Это не сильно поможет вам в вашей задаче, но поможет вам определить сходства с языком, который вы, возможно, уже изучали. Чтение кода с попытками его осмысления - неплохой способ обучиться кодингу, запомните это, как бы это странно не звучало.

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

Нажмите на изображение для его увеличения
  • А какой звук вы хотите добавить?
    Этот вопрос, вы, кажется, уже где то слышали? Не забывайте о ваших целях. Зная примерно, где должен проигрываться звук(вы же не просто так звуки создавали, верно?), вы сможете найти нужную папку, в папке вы найдете необходимый вам файл, а далее - и строчки кода.
  1. Поиск по дереву папок.
    Малоэффективный и затратный по времени поиск нужного вам файла. Следует ориентироваться на вашу интуицию, логику и знание английского языка в этом пункте. Может, это новый звук удара баллона? Тогда однозначно это что то материальное, и это даже определенный предмет. Значит стоит поискать в code/game/objects/items ? Хм... Это же оружие, верно? Тогда нужно найти что то связанное с оружием. Может weapons? guns? extinguisher в конце концов?
  2. Поиск по файлам в билде.
    Достаточно эффективный способ найти нужный для вас файл, но для этого также нужно обладать теми же качествами, что и в пункте выше. Алгоритм действий похож на предыдущий, только здесь не придется применять такую логику. Здесь больше интуиции - как бы могли предыдущие разработчики назвать файл, который бы мог содержать интересующий вас процесс или объект?
  3. Поиск по строчкам кода.
    Так же эффективный способ поиска, но занимает много времени и требует небольшого знания кода. Это же надо, проверить все эти кучи файлов в игре, все их строчки и буквы! Ориентироваться здесь нужно на свои знания кода или уже залитые файлы. Может быть, вы хотите добавить вариативности звука? Вбейте в поиск старый звук формата {sound/*****.ogg}. А может это озвученное действие моба? Введите то, что должен вводить пользователь в F3 в игре, а именно, например, {*cough}. Ведь что то же должно вызывать сообщение с эмоутом, если введено {*cough}?.
    1. {Find next} находит следующую совпадающую строчку в коде именно в порядке расположения папок и файлов в игре. Еще берется в учет то, куда вы кликните своим курсором - стого места он и будет начинать поиск. Find all - находит все совпадения в одном открытом файле или во всех файлах игры.
      • Вы можете выбрать вариант в {Search} - {This file} или {All files}. {All files} ведет поиск совпадающих с вашим запросом строчек по всем файлам игры! Занимает обычно около 15 секунд, может больше(зависит от производительности вашего ПК).

Базовые знания о кодинге звуков.

Весьма неплохо познать код вы можете при помощи [руководства анимуса]. Здесь же советы будут даны с расчетом на то, что вы уже хоть немного понимаете код.

Удивительно, но просто вставить свой звук куда нибудь в процесс или объект не выйдет. В большинстве случаев придется более подробно смотреть строчки кода в том районе, куда, предположительно, вам нужно будет вставить звук. Вы ведь не хотите зацикленных, обрывистых или вызывающих рантаймы звуков? И это, к слову, не все. Часть из них находится в файле {sound.dm}. Помимо них, существует несколько других способов добавления звука в код(некоторое могло немного устареть):

  1. /proc/playsound(atom/source, soundin, vol, vary, extrarange, falloff, channel = 0, is_global, wait = 0, voluminosity = TRUE)
    При призыве этого прока будет воспроизводится по умолчанию объемный звук. Этот прок будет использоваться вами чаще всего.
    • Чтобы это сделать, вам нужно написать в нужную строчку прок {playsound(*источник*, *путь к звуку*, *громкость*, *вариативность*, *доп. радиус*, *резкое увел. или уменьш. громкости(в усл. ед.)*, *канал*, *глобальность звука*, *ожидание*, *объемность*).
    • Конечно же, все эти параметры не обязательно указывать. Вы можете указывать их в том порядке, в котором они расставлены, без присваивания переменным значений, то есть вместо {vol = 100} после пути к звуку вы можете просто написать {100}.
    1. {atom/source}.
      Источник звука. То, к чему он будет привязан. К примеру, {src} - источник звука, {owner} или {host}(это разные вещи, просто немного похожи) - обладатель источника звука или какая либо другая переменная, которую вы могли обозначить в коде несколькими строчками выше. Вы можете добавить "приставку" {.loc}, если хотите привязать звук к месторасположению чего либо.
    2. {soundin}.
      Путь к звуку или текстовое название переменной {soundin}, которая превратится в один из заданных путей. Путь к одному звуку указывается в формате {####, 'sound/test.ogg', ####}. Путь к сразу нескольким звукам задается либо в самом проке, где вам нужно проиграть звук при помощи {####, pick('sound/test1.ogg', sound/test2.ogg'), ####}, либо в проверке на "текстовость" soundin'a. В данный момент он находится снизу в {sound.dm}.
    3. {vol}.
      Громкость звука, в процентах.
    4. {extrarange}.
      Дополнительные радиус звучания. Положительные значения увеличивают радиус, отрицательные же уменьшают
      • Каждая единица этой переменной изменяет дальность звука на 3 тайла
      • Минимальное значение переменной, при которой прок playsound() еще имеет смысл: -6. При таком значении звук будет слышен мобам, находящимся на растоянии не более трех тайлов. При: -7 звук будет слышен лишь мобам, находящимся на тайле с источником звука.
    5. {falloff}.
      Резкое уменьшение или увеличение громкости звука. Громкость может быть раздута до значений, превосходящих 100% от его нормальной громкости.
    6. {channel = 0}.
      Канал звука. По умолчанию равен 0, то есть любой случайный и свободный из 1024 доступных. Два или более звуков, проигранных на один канал за короткий промежуток времени перекроют друг друга. Более поздний звук "заткнет" более старый, если тот еще не завершен и если переменная wait = 0.
    7. {is_global}.
      Глобальность звука. Добавится ли эхо этому звуку?
    8. {wait = 0}.
      Ожидание окончания предыдущего звука на определенном канале. По умолчанию отключен, то есть, звук не будет ждать другой звук - он просто перекроет его. Если переменная включена, то звук добавится в очередь, пока не проиграется.
    9. {voluminosity = TRUE}.
      Объемность звука. Будет ли звук слышен в разные уши или же нет?
  2. /mob/proc/playsound_local(turf/turf_source, soundin, vol, vary, frequency, falloff, channel = 0, is_global, wait = 0, voluminosity = TRUE).
    Проигрывает звук конкретному игроку. Переменные не различаются, поэтому я не буду их объяснять
    • Напишите {M.playsound_local(null, ####)}, где M - определенный моб, которому нужно проиграть звук. Такое нужно делать, как правило, в цикле. Переменная может иметь другое название и быть привязана к подклассу моба, например, к людям {mob/living/carbon/human/H}. Разумеется, в начале нужно устроить несколько проверок и присвоить мобу переменную подкласса человека. Удивительно, но унатх, таяра, абдуктор, тенелинг и так далее также являются людьми!
  3. {SEND_SOUND(target, sound)}.
    Посылает конкретный звук цели. Не рекомендуется использовать
  4. {M << sound('sound/example.ogg')}, где M - любая цель.
    Посылает звук конкретной цели при помощи стандартных операторов DreamMaker'a. Если указан world, то проигрывается всем игрокам, назодящимся на сервере. Не рекомендуется использовать.
  5. {fire_sound} - переменная для огнестрельного или энергетического оружия.
    Проигрывается звук при выстреле. Эта переменная, а не прок, поэтому необходимо присвоить ей определенный значения при помощи {fire_sound = 'sound/example2.ogg'}
  6. {hitsound} - переменная для холодного оружия.
    Проигрывается звук при ударе по чему-либо. Это также переменная, а не прок. Присвойте ей значение {hitsound = 'sound/bolon.ogg'}
  7. {usesound} - переменная для определенных действий.
    Проигрывается звук, когда что то с чем то взаимодействует. Например, моб откручивает что то гаечным ключом. Присваивание значения так же, через {usesound = 'sound/tool.ogg'}

Вы можете также создавать свои проки или переменные и использовать их в своих целях. Главное не забывайте, что мы делаем качественные звуки и качественный код, поэтому не переборщите!

Советы, замечания, фичи при кодинге звуков в DreamMaker'e