Welcome to U.A.C.
login / register 
Status: Guest
Forum archive | iddqd.ru
Wolf 3D
RulesRules SearchSearch
18+
Auto-ambient Doom: универсальный мод для самозвучащих стенGoto page 1, 2  Next
   Forum Index - Проекты и идеи - Auto-ambient Doom: универсальный мод для самозвучащих стенPost a reply
AuthorMessage
JSO x
= 2nd Lieutenant =
Next rank: - 1st Lieutenant - after 122 points
1518

Doom Rate: 2.37

Posts quality: +823
Link to post #1 Posted: 15.01.22 12:39:40
Отличный креатив или рецензия на ресурс (+40)
Доброго времени суток!

Суть модификации проста: для акторов (ламп там всяких, факелов) звуки окружения добавляются элементарно; для полов/потолков тоже есть встроенные механизмы... А для текстур стен — ничего. Вообще ничего. Ни одной попытки на просторах всего Интернета.

Итак, предлагаю Вашему вниманию модификацию, которая ориентирована на заполнение последней ниши в автоматическом создании звуков окружения: для стен. Написана полностью на ZScript v2.4.0.




Далее описание идёт для базовой версии 8164bec (v0.4), если не указано обратного. Если что кардинально в последующих коммитах будет меняться — обновлю это сообщение.

Возможности:
1) Гибкий внешний (!) конфигурационный файл. Иными словами, мод без проблем можно запустить с любым Вашим уровнем, любым текстур-паком и любой другой модификацией. Главное, если текстуры меняются или появляются, то новый конфиг-связку нужно сделать. Но это нетрудно.
2) Работа на всех версиях GZDoom, выше или равной версии 3.3.0 (ниже не получится, там "level.GetChecksum()" нет): проверено на GZDoom 3.3.0, QZDoom 2.1pre, GZDoom 3.6.0, LZDoom 3.87c и GZDoom 4.7.1. (Прим.: GZDoom 4.8.1pre, похоже, не создаёт звуковые акторы при взведённом флаге "sv_nomonsters". Вряд ли что-то смогу с этим сделать, так как это крайне странно и я сомневаюсь, что проблема на моей стороне).
3) Возможность создания своих ZScript-/Decorate-акторов на линиях по тем же правилам: API прописан не только для звуков.
4) Ну, понятно, правильный спаун по заданной позиции на текстуре, с учётом смещений, флагов upper-/lower-unpegged и подобного.
5) Возможность добавлять звуки текстур на определённые уровни (по названию карты или по её хэшу) [Коммит 4c259bb].
6) Полная поддержка Doom 1, Doom 2, TNT и Plutonia [Коммиты d3ef597, 96ceec4].
7) Возможность скачать чистое ядро, без предсозданной конфигурации и без звуков — весит оно в районе пятидесяти килобайт вместе с документацией.


Временные ограничения:
Сделаю отступление: у меня появилась идея выложить модификацию до 24-го спидмаппинга, так как новый конфигурационный файл — под текстур-пак этого события — пишется просто (см. "Бонус"). В том числе и от этого появился сей жёлтый раздел.

1) Не уверен, будет ли работать корректно на 3D-секторах, так как тестировал только в Doom, Doom 2, TNT, Plutonia и некоторых ваниль-совместимых PWAD'ах.
2) Нет проверки на исчезновение текстуры (например, при опускании пола). Но нужно ли это? Не знаю, честно. Будет ли стоить овчинка выделки — ведь каждая такая проверка также занимает процент времени обработки.
3) Текущая версия отчасти техническая, поэтому в ней отсутствуют некоторые звуки, а для пары существующих громкость/коэффициент затухания прописаны не совсем реалистично. Ищу звуковых дизайнеров, так сказать!


Ограничения, которые невозможно обойти:
1) Несмотря на несколько мощных оптимизаций, обработка всех текстур на уровне всё равно занимает какое-то время.
2) Универсальная автоматика никогда не сможет сравниться с узкоспециализированной, поэтому иногда расстановка звуков может показаться нелогичной.
3) Из-за внутренней оптимизации, на которую я не в силах повлиять без переписывания кода движка семейства *ZDoom, некоторые дубликаты звуков недалеко друг от друга могут быть выгружены.



Download:
Репозиторий GitHub;
Прямая ссылка на релиз v0.4;
Прямая ссылка на последнюю нестабильную (nightly) версию;
8164bec от 2022.04.02 на Google Drive (v0.4).

Прошлые версии на Google Drive:
Hidden text:


383ebf2 от 2022.01.15 (первая выпущенная).
aebef7e от 2022.01.16 (v0.2a).
b9fd464 от 2022.02.26.
3d9ed34 от 2022.03.23 (можно сказать, предрелиз v0.4).



Бонус для спидмаппинга №24: конфигурационный файл. Проверить работоспособность можно здесь, так как ресурсы для Spd23 и Spd24 практически не отличаются. Запускать в следующей последовательности: сначала "spd23.wad", затем — ядро ("AutoAmbient.pk3"), потом — новый конфигурационный файл ("AutoAmbient_Spd23_Spd24.pk3").
gzdoom.exe -file spd23_v5.wad AutoAmbient_383ebf2.pk3 AutoAmbient_Spd23_Spd24.pk3



Credits:
Идея и весь код ядра — JSO_x a.k.a. Morthimer McMare.
Видео — YURA_111, Endoomer.
Бета-тестирование и обнаружение багов — Renaul Damek, YURA_111, ika707, Endoomer.
Звуки отчасти взяты с ZDoom Community Map Project II, отчасти — с сайта zvukipro.com.

Обо всех ошибках просьба сообщать с логом. Переключать глубину логгирования можно в "Auto-Ambient options"->"Log level", сохранять лог можно или скриншотом, или через "gzdoom.exe ... -stdout > _lastrun.txt" (для Windows)/"gzdoom ... > _lastrun.txt" (для Linux/MacOS).

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

Конструктивная критика и предложения, естественно, приветствуются.

Устаревшая и неактуальная информация:
Hidden text:


Видеодемонстрация v0.2a:


Нет проверки на доступное количество звуковых каналов ("snd_channels" который). Так что на каком-нибудь Doom 2 MAP24 "The Chasm" установленного по-умолчанию значения "128" не хватит. Советую сменить на хотя бы двести: "Options"->"Sound options"->"Sound channels". Добавлено с версии 276a860.

Настроек особо пока нет — только "показать/скрыть акторы" (коммит 05894f2 добавляет нормальное меню).

Не существует Википедии и инструкции по добавлению своих конфигурационных файлов (хотя работать будет, если разберётесь); API может немножко поменяться. Википедия по всему, включая настройки и создание конфигурационного файла, есть на GitHub и в архиве (с коммита 47fe93e и выше).


This post scores averagely at 16.00 point(s) with 0 commenters.
3 10 1
SLON
= Master Corporal =
Next rank: - Sergeant - after 34 points
256

Doom Rate: 0.44

Posts quality: +421
Link to post #2 Posted: 16.01.22 01:23:24
Для текстур Doom I кажись не работает.

Хотелось бы иметь для штатных доп.текстур, таких как wfall.

К адовым текстурам можно также какие-нибудь криповые звуки прикрутить.

This post scores averagely at 2.00 point(s) with 0 commenters.
lafoxxx [B0S]
- Captain -
Next rank: = Captain = after 136 points
2204

Doom Rate: 1.4

Posts quality: +1017
Link to post #3 Posted: 16.01.22 11:24:46
Вот это действительно здорово. В наушниках, с HRTF действительно полное погружение будет.


JSO x wrote:
взяты


А чё не Sound-Ideas? Каноничный сорс, как-никак (и как ни странно).

Добавлено спустя, как похавал (не помню, сколько минут, но было вкусно):

Интересно, а такие моды можно рассматривать, как accessibility-опцию? Типа если слепой чел играть в дум будет, сможет по звукам ориентироваться?
2 3 4
MasterMind
- Major -
Next rank: = Major = after 263 points
2677

Doom Rate: 1.85

Posts quality: +618
Link to post #4 Posted: 16.01.22 11:42:09
Отлично, еще один универсальный мод для моего autoload. Прекрасная мысль.

SLON wrote:
К адовым текстурам можно также какие-нибудь криповые звуки прикрутить.

Согласен. К мраморным рожам точно подойдет. И что-нибудь для великой и ужасной FireBlu
1 3
JSO x
= 2nd Lieutenant =
Next rank: - 1st Lieutenant - after 122 points
1518

Doom Rate: 2.37

Posts quality: +823
Link to post #5 Posted: 16.01.22 16:23:00
Ссылка обновлена. С последнего раза добавил то, что не успел к спидмаппингу: полнофункциональный логгер, нормальное меню и пара достаточно веских исправлений.


SLON wrote:
Для текстур Doom I кажись не работает.

Ага, их попросту нет. Примерный план для них я подготовил, осталось доотлаживать ядро на Doom 2 и можно за остальные IWAD браться. В том же Heretic или Hexen вообще нечего озвучивать, кроме текстур воды и лавы.
Hidden text:




SLON wrote:
Хотелось бы иметь для штатных доп.текстур, таких как wfall.

А вот это очень хорошее предложение. Сейчас можно иметь конфигурационный файл в текстур-паке (если мод будет подгружен, конфигурация будет прочитана и применена, если нет, файл проигнорируется даже оригинальным doom.exe). Но вот идея сделать наоборот -- экстраполировать на известные текстуры -- мне не пришла.


lafoxxx [B0S] wrote:
А чё не Sound-Ideas? Каноничный сорс, как-никак (и как ни странно).

Так я ж не звуковой дизайнер, не занимался до этого подобным никогда. Что первое под руку попалось по запросу "звук такой-то" -- то и канон...

Спасибо, посмотрю.


lafoxxx [B0S] wrote:
Интересно, а такие моды можно рассматривать, как accessibility-опцию? Типа если слепой чел играть в дум будет, сможет по звукам ориентироваться?

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


MasterMind wrote:
И что-нибудь для великой и ужасной FireBlu

Так уже есть. Цитата с текущего конфигурационного файла:
texture FIREBLU[12] {
	group Flame randomChance100
	group Blazing randomChance50
}



SLON wrote:
К адовым текстурам можно также какие-нибудь криповые звуки прикрутить.
MasterMind wrote:
К мраморным рожам точно подойдет.

В саунд-дизайнера всё опять упирается. И, помимо того, можно ведь создать совершенно свой набор звуков: этот мне не до конца нравится, хотя, безусловно, атмосферы добавляет много.
3 10 1
BeeWen
Lieutenant Colonel
Next rank: - Colonel - after 333 pointsForum supermoderator
3707

Doom Rate: 1.58

Posts quality: +1027
Link to post #6 Posted: 17.01.22 11:49:15
Звуки шагов по различным поверхностям иогут вполне дополнить картину.
1 1 1
JSO x
= 2nd Lieutenant =
Next rank: - 1st Lieutenant - after 122 points
1518

Doom Rate: 2.37

Posts quality: +823
Link to post #7 Posted: 17.01.22 12:54:24
Да, верно. Но — дополнительным модом, так как у меня с самого начала не было цели добавить окружение всему, ибо для этого самого остального "всего" и без меня модификаций хватает.

JSO x wrote:
Суть модификации проста: для акторов (ламп там всяких, факелов) звуки окружения добавляются элементарно; для полов/потолков тоже есть встроенные механизмы... А для текстур стен -- ничего. Вообще ничего. Ни одной попытки на просторах всего Интернета.
3 10 1
JSO x
= 2nd Lieutenant =
Next rank: - 1st Lieutenant - after 122 points
1518

Doom Rate: 2.37

Posts quality: +823
Link to post #8 Posted: 28.06.22 23:57:02
Подниму тему, может, это мне поможет продолжить. Версия 0.4 была выложена несколько месяцев назад (её можно взять здесь, к примеру). С v0.2 произошли следующие изменения:

* Добавлена совместимость со всеми основными IWAD: первым и вторым Doom, TNT: Evilution и The Plutonia Experiment;
* Переделан и плюс-минус оптимизирован механизм появления акторов;
* Исправлена совместимость со старыми версиями движка: теперь минимальная версия GZDoom точно v3.3.0;
* Исправлена совместимость с различными модификациями. Если конфликтует -- скорее всего, проблема на стороне другого мода. Конкретно -- они не прописали там, где надо было писать, "Super.WorldTick()" или "Super.NetworkProcess()";
* Полностью доделан README на русском языке, частично -- на английском;
* Улучшено меню опций;
* Откорректированы громкость и затухание звуков. Правда, всё равно говорят, что местами слышится неестественно. Дайте мне, наконец, звукового дизайнера...
* В конфигурационном файле добавлена возможность фильтра по хэш-сумме карты (ранее был только по названию);
* Для API создан базовый класс "AutoAmbientSpawnableActor". Всё так же можно порождать любой актор, но наследованный автоматически получит ещё и угол, и указатель на линию, к которой привязан;
* Ну и исправлено некоторое количество багов, в том числе пара фатальных (спасибо YURA_111 и Endoomer).


Теперь -- по поводу следующей версии и почему её до сих пор нет.

Основная причина, помимо нехватки времени в реальной жизни -- я застопорился на выборе структуры данных для оптимального распределения акторов в неперекрывающей саму себя системе обработки. Пока что вырисовывается нечто жуткое: что-то вроде хэш-таблицы со внешней информацией о диапазонах а-ля филиппинский кроссворд и с ячейками, ссылающимися на повёрнутый на ~33° BLOCKMAP. Зато работать очень быстро будет... Если запустится...

Также меня убедили, что вот это --
JSO x wrote:
2) Нет проверки на исчезновение текстуры (например, при опускании пола).

-- попросту непрактично и что в следующей версии это необходимо исправить. За убеждение должен поблагодарить думеров Serious_MOod и Птица Дятел.

Небольшой прогресс по v0.5 есть в ветке "optimizing". Смотреть там, правда, пока практически не на что. Из интересного обнаружил, что создание актора по дороговизне исполнения переходит все рамки дозволенного: закомментировал момент создания (все остальные алгоритмы отрабатывали) -- уровни стали загружаться мгновенно. Раскомментировал -- и опять на некоторых уровнях по четыре секунды простоя перед запуском.

* * *

lafoxxx [B0S] wrote:
А чё не Sound-Ideas? Каноничный сорс, как-никак (и как ни странно).

Кстати, да, посмотрел. Либо я что-то не так понял, либо там платно абсолютно всё. Пока буду пользоваться предыдущим сайтом.

This post scores averagely at 3.00 point(s) with 0 commenters.
3 10 1
theleo_ua
- Commissar -
Next rank: = Commissar = after 24 points
5316

Doom Rate: 1.79

Posts quality: +1221
Link to post #9 Posted: 29.06.22 00:54:43
спасибо за труды!

This post scores averagely at 2.00 point(s) with 0 commenters.
4 1
MilkGolem
Recruit
Next rank: Recruit after 8 points
2

Doom Rate: 2

Posts quality: +4
Link to post #10 Posted: 29.07.22 01:02:42
Гениальный мод!

This post scores averagely at 4.00 point(s) with 0 commenters.
RastaManGames
= 2nd Lieutenant =
Next rank: - 1st Lieutenant - after 26 points
1614

Doom Rate: 2.08

Posts quality: +850
Link to post #11 Posted: 31.07.22 22:34:38
Просто загружаю мод... Звуков нет. ЧЯДНТ?


This post scores averagely at 1.00 point(s) with 0 commenters.
1 4 1
JSO x
= 2nd Lieutenant =
Next rank: - 1st Lieutenant - after 122 points
1518

Doom Rate: 2.37

Posts quality: +823
Link to post #12 Posted: 01.08.22 09:37:50
Что за версию движка используешь? И какой файл скачивал -- не "AutoAmbient_v0.4_core_only.pk3" (который является чистым ядром без конфигурации и звуков)?

Попробовал заменить поиск файла конфигурации "aambient*" на другой алгоритм -- ничего путного не вышло.

This post scores averagely at 1.00 point(s) with 0 commenters.
3 10 1
Taw Tu'lki
- Major -
Next rank: = Major = after 240 points
2700

Doom Rate: 1.29

Posts quality: +1372
Link to post #13 Posted: 01.08.22 11:06:09
Хах.
Вспоминаю, как на четвёртом уровне Final TNT DooM, когда играл с PC-Speaker'ом вместо Sound Blaster'а, слышал странные звуки, издаваемые из подвала данного уровня. Нигде подобного не встретил.

А мод хороший. Нужно бы поиграть.
1 15
RastaManGames
= 2nd Lieutenant =
Next rank: - 1st Lieutenant - after 26 points
1614

Doom Rate: 2.08

Posts quality: +850
Link to post #14 Posted: 02.08.22 11:59:05
Я использую не лёгкую версию, а максимально полную, что смог найти в сети. Мой порт - GZDoom 4.8.1.
Пробовал альтернативу в виде LZDoom 3.88B, но даже в нём точно такую же ошибку в консоль выбивает.
Может где отдельно надо конфиг скачать и в папку с портом запихать, а я опять проглядел?
1 4 1
YURA_111
UAC Sergeant Major
Next rank: Chief Petty Officer after 82 points
768

Doom Rate: 1.98

Posts quality: +137
Link to post #15 Posted: 02.08.22 17:23:17
RastaManGames wrote:
Может где отдельно надо конфиг скачать и в папку с портом запихать, а я опять проглядел?


Сам файл как запускаешь? Gzdoom.exe -file Auto-ambient-Doom-master.zip
Я запускаю так - никаких проблем нет (версия 4.8.2 ГЗДум)

This post scores averagely at 1.00 point(s) with 0 commenters.
JSO x
= 2nd Lieutenant =
Next rank: - 1st Lieutenant - after 122 points
1518

Doom Rate: 2.37

Posts quality: +823
Link to post #16 Posted: 03.08.22 01:04:50
RastaManGames wrote:
Мой порт - GZDoom 4.8.1. Пробовал альтернативу в виде LZDoom 3.88B, но даже в нём точно такую же ошибку в консоль выбивает.

Проверили и там, и там — у меня всё в порядке, воспроизвести не смог. Выше говорят, что тоже получается.

RastaManGames wrote:
Я использую не лёгкую версию, а максимально полную, что смог найти в сети.

Сейчас ни на каких ресурсах, кроме GitHub, модификации и нет. Но на всякий случай в раздел со скачиванием добавил прямые ссылки на релизную версию 0.4 (её советую перекачать и попробовать заново запустить), а также на последнюю нестабильную версию.

This post scores averagely at 2,00 point(s) with 0 commenters.
3 10 1
RastaManGames
= 2nd Lieutenant =
Next rank: - 1st Lieutenant - after 26 points
1614

Doom Rate: 2.08

Posts quality: +850
Link to post #17 Posted: 03.08.22 06:04:18
YURA_111 wrote:
Сам файл как запускаешь? Gzdoom.exe -file Auto-ambient-Doom-master.zip

Так же. Никаких выкрутасов не проворачиваю. У меня так много разных модов спокойно запускаются.

JSO x wrote:
Но на всякий случай в раздел со скачиванием добавил прямые ссылки на релизную версию 0.4 (её советую перекачать и попробовать заново запустить)...

Скачал и попытался в чистой Гоззе запустить. Снова та же самая ошибка...
1 4 1
YURA_111
UAC Sergeant Major
Next rank: Chief Petty Officer after 82 points
768

Doom Rate: 1.98

Posts quality: +137
Link to post #18 Posted: 03.08.22 16:22:29
RastaManGames wrote:
Так же. Никаких выкрутасов не проворачиваю. У меня так много разных модов спокойно запускаются.


Попробуй распаковать и запустить вместо архива папку.
JSO x
= 2nd Lieutenant =
Next rank: - 1st Lieutenant - after 122 points
1518

Doom Rate: 2.37

Posts quality: +823
Link to post #19 Posted: 03.08.22 20:22:34
RastaManGames, уточнение: под каким IWAD ты его запускаешь? Конечно, крайне косвенный признак, но по фону того скриншота -- это вроде как ни один из поддерживаемых на данный момент IWAD (Doom, Doom 2, TNT: Evilution, The Plutonia Experiment). Если что, я когда-то честно попытался найти текстуры для Heretic и Hexen, на которые можно было бы прикрепить звуки, однако потерпел неудачу -- обнаружил только водопады, у которых ещё даже для Doom звуков нет.

В любом случае, если используется что-то вроде Heretic, Hexen или Strife -- приношу свои извинения. Для v0.5 у меня уже есть идеи, что, помимо звуков, можно добавить к тем же ныне глухим и безэмоциональным готическим стенам.

Добавлено спустя 29 минут 39 секунд:

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

This post scores averagely at 1,00 point(s) with 0 commenters.
3 10 1
RastaManGames
= 2nd Lieutenant =
Next rank: - 1st Lieutenant - after 26 points
1614

Doom Rate: 2.08

Posts quality: +850
Link to post #20 Posted: 04.08.22 08:47:24
А-а-а-а-а... IWAD...
У меня так называемый "Doom_Complete.pk3", созданный WAD Smoosh'ем.
Это, в общем, Doom 1 + Doom 2 + Plutonia + TNT + NRFTL + Master Levels.
Перешёл на него, ибо он один весит в разы меньше, чем все эти IWAD'ники по отдельности.
Да и его советовал автор мода "War Trophies", чтобы между IWAD'ам прогресс не терять.

Блин, отвязать бы мод от IWAD'ов и просто позволить ему смотреть на весь спектр текстур. :book:

This post scores averagely at 1,00 point(s) with 0 commenters.
1 4 1
Page 1 of 2Go to topGoto page 1, 2  Next
   Forum Index - Проекты и идеи - Auto-ambient Doom: универсальный мод для самозвучащих стен