Welcome to U.A.C. [O.S.A.]
login / register 
Status: Guest
Архивы форума | iddqd.ru
Wolf 3D
ПравилаПравила ПоискПоиск
18+
Auto-ambient Doom: универсальный мод для самозвучащих стен 1, 2  След.
   Список разделов - Проекты и идеи - Auto-ambient Doom: универсальный мод для самозвучащих стенОтветить
АвторСообщение
JSO x
- 2nd Lieutenant -
Next rank: = 2nd Lieutenant = after 106 points
1334

Doom Rate: 2.26

Posts quality: +726
Ссылка на пост №1 Отправлено: 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:
Скрытый текст:


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).

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

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

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


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


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

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

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


2 7 1
SLON
- Sergeant -
Next rank: = Sergeant = after 20 points
320

Doom Rate: 0.56

Posts quality: +419
Ссылка на пост №2 Отправлено: 16.01.22 01:23:24
Для текстур Doom I кажись не работает.

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

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

Рейтинг сообщения: +2, отметил(и): MasterMind, JSO x
lafoxxx [B0S]
= 1st Lieutenant =
Next rank: - Captain - after 58 points
2032

Doom Rate: 1.38

Posts quality: +937
Ссылка на пост №3 Отправлено: 16.01.22 11:24:46
Вот это действительно здорово. В наушниках, с HRTF действительно полное погружение будет.


JSO x пишет:
взяты


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

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

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

Doom Rate: 1.85

Posts quality: +617
Ссылка на пост №4 Отправлено: 16.01.22 11:42:09
Отлично, еще один универсальный мод для моего autoload. Прекрасная мысль.

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

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

Doom Rate: 2.26

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


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

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




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

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


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

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

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


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

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


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

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



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

В саунд-дизайнера всё опять упирается. И, помимо того, можно ведь создать совершенно свой набор звуков: этот мне не до конца нравится, хотя, безусловно, атмосферы добавляет много.
2 7 1
BeeWen
Lieutenant Colonel
Next rank: Lieutenant Colonel after 182 pointsСупермодератор форума
3458

Doom Rate: 1.61

Posts quality: +860
Ссылка на пост №6 Отправлено: 17.01.22 11:49:15
Звуки шагов по различным поверхностям иогут вполне дополнить картину.
1 1 1
JSO x
- 2nd Lieutenant -
Next rank: = 2nd Lieutenant = after 106 points
1334

Doom Rate: 2.26

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

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

Doom Rate: 2.26

Posts quality: +726
Ссылка на пост №8 Отправлено: 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 пишет:
2) Нет проверки на исчезновение текстуры (например, при опускании пола).

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

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

* * *

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

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

Рейтинг сообщения: +3, отметил(и): VladGuardian, theleo_ua, MasterMind
2 7 1
theleo_ua
= Colonel =
Next rank: - Commissar - after 90 points
4800

Doom Rate: 1.8

Posts quality: +1032
Ссылка на пост №9 Отправлено: 29.06.22 00:54:43
спасибо за труды!

Рейтинг сообщения: +2, отметил(и): VladGuardian, JSO x
3 1
MilkGolem
Recruit
Next rank: Recruit after 8 points
2

Doom Rate: 2

Posts quality: +4
Ссылка на пост №10 Отправлено: 29.07.22 01:02:42
Гениальный мод!

Рейтинг сообщения: +4, отметил(и): VladGuardian, theleo_ua, YURA_111, JSO x
RastaManGames
- 2nd Lieutenant -
Next rank: = 2nd Lieutenant = after 150 points
1290

Doom Rate: 2.02

Posts quality: +596
Ссылка на пост №11 Отправлено: 31.07.22 22:34:38
Просто загружаю мод... Звуков нет. ЧЯДНТ?


Рейтинг сообщения: +1, отметил(и): JSO x
1 2 1
JSO x
- 2nd Lieutenant -
Next rank: = 2nd Lieutenant = after 106 points
1334

Doom Rate: 2.26

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

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

Рейтинг сообщения: +1, отметил(и): RastaManGames
2 7 1
Taw Tu'lki
= Captain =
Next rank: - Major - after 261 points
2379

Doom Rate: 1.42

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

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

Doom Rate: 2.02

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

Doom Rate: 1.98

Posts quality: +136
Ссылка на пост №15 Отправлено: 02.08.22 17:23:17
RastaManGames пишет:
Может где отдельно надо конфиг скачать и в папку с портом запихать, а я опять проглядел?


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

Рейтинг сообщения: +1, отметил(и): JSO x
JSO x
- 2nd Lieutenant -
Next rank: = 2nd Lieutenant = after 106 points
1334

Doom Rate: 2.26

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

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

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

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

Рейтинг сообщения: +2, отметил(и): theleo_ua, YURA_111
2 7 1
RastaManGames
- 2nd Lieutenant -
Next rank: = 2nd Lieutenant = after 150 points
1290

Doom Rate: 2.02

Posts quality: +596
Ссылка на пост №17 Отправлено: 03.08.22 06:04:18
YURA_111 пишет:
Сам файл как запускаешь? Gzdoom.exe -file Auto-ambient-Doom-master.zip

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

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

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

Doom Rate: 1.98

Posts quality: +136
Ссылка на пост №18 Отправлено: 03.08.22 16:22:29
RastaManGames пишет:
Так же. Никаких выкрутасов не проворачиваю. У меня так много разных модов спокойно запускаются.


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

Doom Rate: 2.26

Posts quality: +726
Ссылка на пост №19 Отправлено: 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 секунд:

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

Рейтинг сообщения: +1, отметил(и): RastaManGames
2 7 1
RastaManGames
- 2nd Lieutenant -
Next rank: = 2nd Lieutenant = after 150 points
1290

Doom Rate: 2.02

Posts quality: +596
Ссылка на пост №20 Отправлено: 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:

Рейтинг сообщения: +1, отметил(и): JSO x
1 2 1
Страница 1 из 2Перейти наверх 1, 2  След.
   Список разделов - Проекты и идеи - Auto-ambient Doom: универсальный мод для самозвучащих стен