Welcome to U.A.C. [O.S.A.]
login / register 
Status: Guest
Архивы форума | iddqd.ru
Wolf 3D
ПравилаПравила ПоискПоиск
18+
Реализация фичей движка Build на движке GZDoom/UZDoom
   Список разделов - Местечко мапперов и моддеров - Реализация фичей движка Build на движке GZDoom/UZDoomОтветить
АвторСообщение
Manul12
= Warrant Officer =
Next rank: - 2nd Lieutenant - after 138 points
1152

Doom Rate: 0.95

Posts quality: +471
Ссылка на пост №1 Отправлено: 01.02.26 18:49:31
Есть ли какие-нибудь фичи движка Build, которые нельзя воплотить в движке GZDoom/UZDoom? Чтобы например сделать как можно более приближенную копию Duke Nukem 3D или Shadow Warrior или Blood на думовском движке. Как в качестве архитектуры уровней, так и в качестве геймплея и оружия. Вопрос чисто теоретический – я не планирую реальной модификации, потому что даже если и можно такое сделать, на это пришлось бы потратить огромное количество сил и времени, и скорее всего у меня просто не хватило бы умения и способностей.

Интересуют как те фичи, которые легко и спокойно делаются движком GZDoom/UZDoom, так и те, для имитации которых можно делать обходные способы, а также и те, которые в принципе сделать невозможно на текущей версии движка.

Рейтинг сообщения: +2, отметил(и): JSO x, Michael_63
2 5 1
Shadowman
UAC General
Next rank: Unavailable after 0 points
9004

Doom Rate: 2.02

Posts quality: +2535
Ссылка на пост №2 Отправлено: 01.02.26 21:54:49
Manul12 пишет:
так и те, для имитации которых можно делать обходные способы, а также и те, которые в принципе сделать невозможно на текущей версии движка.

Вот я не уверен, что можно полностью воссоздать поездку на поезде, как на одном из уровней 3 эпизода Дюка (Rapid Transit вроде бы).
Есть еще сектор над сектором - насколько порталы в гздуме позволяют это воссоздавать с точностью - тоже не уверен.
Нельзя воссоздать наклонные прозрачные 3д-полы.
Динамические слопы - когда рушатся стены от взрывов и образуются слопнутые поверхности там, где раньше была цельная стена - можно ли такое сделать без заранее записанных слопов "внутри" стены?

Рейтинг сообщения: +1, отметил(и): JSO x
1 8 2
SilverMiner
UAC Sergeant Major
Next rank: UAC Sergeant Major after 80 points
680

Doom Rate: 1.97

Posts quality: +322
Ссылка на пост №3 Отправлено: 01.02.26 22:33:47
Пускать волну из динамических слопов как в первом эпизоде низзя. Но мейби jso_x чёнить в зскрипте знает как сделать чтоб слопы были динамические. Есть форк здума kgsws где есть динамические слопы и порт на дос cdoom (сорцы страшно обфусцированы так что там пипец, хотя я переводил текст в читаемый вид в нотепад плюс плюсе с плагином одним, но я всё равно не углублялся туда)

Рейтинг сообщения: +1, отметил(и): JSO x
1 2 1
Герр Смертоносец
- Warrant Officer -
Next rank: = Warrant Officer = after 3 points
1137

Doom Rate: 1.34

Posts quality: +1023
Ссылка на пост №4 Отправлено: 02.02.26 00:45:51
Shadowman пишет:
Вот я не уверен, что можно полностью воссоздать поездку на поезде, как на одном из уровней 3 эпизода Дюка (Rapid Transit вроде бы).

Я уже говорил, что такое безумие? :oops:

Можно. И даже сделать процесс управляемым. Однако даже базовых возможностей UDMF для этого недостаточно, надо творить большие изуверства с зскриптом и ACS.
Shadowman пишет:
Нельзя воссоздать наклонные прозрачные 3д-полы.

Но можно их эмулировать, влепив моделей поверх невидимой ходибельной конструкции.
Shadowman пишет:
Динамические слопы - когда рушатся стены от взрывов и образуются слопнутые поверхности там, где раньше была цельная стена - можно ли такое сделать без заранее записанных слопов "внутри" стены?

Такого даже на Build не сделать. Это только экзотика вроде Red Faction и каких-нибудь Воксельштейнов с динамической ретопологией, таких игр и сегодня-то почти не делают.

Manul12 пишет:
Есть ли какие-нибудь фичи движка Build, которые нельзя воплотить в движке GZDoom/UZDoom? Чтобы например сделать как можно более приближенную копию Duke Nukem 3D или Shadow Warrior или Blood на думовском движке.

Технологию произвольно ездящих вбок платформ я освоил. Эксперименты с глубоким вмешательством в логику монстров ставил. Поэтому на данный момент могу ответственно заявить: полную функциональную копию Blood сделать можно. Хотя затрахаться придётся изрядно.

Рейтинг сообщения: +4, отметил(и): BeeWen, JSO x, Michael_63, RunnerFx
5
JSO x
- 2nd Lieutenant -
Next rank: = 2nd Lieutenant = after 40 points
1400

Doom Rate: 2.27

Posts quality: +778
Ссылка на пост №5 Отправлено: 02.02.26 01:09:27
Теоретически, если сильно постараться, то можно всё...

https://www.youtube.com/watch?v=jGR6m4Aa_Kw — "Duke Nukem 3D Speedrun (Max% Episode 1-3): 1:05:43.54 [WR]". Посмотрел первый эпизод (длится до 14:46).
- 4:25 — шестерни, 5:20 — поворотный механизм. Теоретически решено здесь и здесь.
- 6:19 — переключатель на четыре положения с изменением яркости секторов. Точно решаемо перехватом события нажатия.
- Все экраны между миссиями. Должно делаться довольно просто, как intermission в Doom 1 — но могут быть подводные камни, потому что это одна из самых старых и давно не обновлявшихся подсистем в *ZDoom.

Shadowman пишет:
Вот я не уверен, что можно полностью воссоздать поездку на поезде, как на одном из уровней 3 эпизода Дюка (Rapid Transit вроде бы).

Тут да, полностью тоже нет уверенности. В каком-нибудь движке, ориентированном больше на работу с геометрией, как Eternity Engine, точно можно, показано в "Heartland", MAP01.

Shadowman пишет:
Нельзя воссоздать наклонные прозрачные 3д-полы.

Можно, если аккуратно и если не показывать игроку лишнего ꓽ) .

Shadowman пишет:
Динамические слопы - когда рушатся стены от взрывов и образуются слопнутые поверхности там, где раньше была цельная стена - можно ли такое сделать без заранее записанных слопов "внутри" стены?

Полностью случайно не удастся, только если задействовать постпроцессинг уровня, в котором нужным секторам во время загрузки уровня задать несколько другой наклон. Но ведь в Duke Nukem 3D тоже все взрываемые места заранее на карте сделаны.

С другой стороны, можно красиво сымитировать — например, Dez (MyNameIs) таким занимался. А ещё задавал математическую плоскость по трём точкам, так что всё же можно попробовать создать такое поведение 3D-моделями.

SilverMiner пишет:
Пускать волну из динамических слопов как в первом эпизоде низзя. Но мейби jso_x чёнить в зскрипте знает как сделать чтоб слопы были динамические.

Да, уже какое-то время нельзя, где-то с GZDoom 4.8.0 на все поля структуры SecPlane поставили свойство "readonly". Справедливости ради, в первом видео, в спидране, я таких не увидел.

Но должно получиться через 3D-модель. Как в этой теме от N00b2015.

Рейтинг сообщения: +1, отметил(и): Michael_63
2 8 1
Michael_63
= Master Corporal =
Next rank: - Sergeant - after 48 points
242

Doom Rate: 1.54

Posts quality: +122
Ссылка на пост №6 Отправлено: 02.02.26 03:51:06
JSO x пишет:
Справедливости ради, в первом видео, в спидране, я таких не увидел.

Волна есть где-то, насколько я помню, в месте, где Дюк уменьшается и должен пробежать через низкую фигню. И мне кажется, что волна не бегущая, а стоячая (но это, наверное, не принципиально с точки зрения можно или нельзя сделать). Было это то ли в четвёртом, то ли в одном из секретных уровней. Давно, кстати, не играл я в Дюка.
theleo_ua
- Commissar -
Next rank: = Commissar = after 32 points
5308

Doom Rate: 1.79

Posts quality: +1211
Ссылка на пост №7 Отправлено: 02.02.26 11:28:07
у кого-то есть адекватные примеры максимально подробных демонстраций реализации билда на гздуме на ютубе?
4 1
Shadowman
UAC General
Next rank: Unavailable after 0 points
9004

Doom Rate: 2.02

Posts quality: +2535
Ссылка на пост №8 Отправлено: 02.02.26 22:17:37
На днях я тут вспомнил как раз Дюка... Что до всех этих механизмов - то перенос их в гздум, может, и возможен, но нужен ли?
В Дюке от них одни неприятности - все эти шестеренки, которые норовят тебя раздавить, или взрывы, которые задевают, если не отойдешь подальше. Или поезд, который раздавит, если встал не там в проходе.
Как-то большинство современных карт Дума, как я заметил, не использует ловушки - даже давилки вышли из моды. Видимо, игрокам в большинстве не нравятся подобные гонки с препятствиями, гораздо интереснее чистый экшен без ловушек.

Рейтинг сообщения: +1, отметил(и): BeeWen
1 8 2
Герр Смертоносец
- Warrant Officer -
Next rank: = Warrant Officer = after 3 points
1137

Doom Rate: 1.34

Posts quality: +1023
Ссылка на пост №9 Отправлено: 03.02.26 10:04:19
Shadowman пишет:
На днях я тут вспомнил как раз Дюка... Что до всех этих механизмов - то перенос их в гздум, может, и возможен, но нужен ли?

Нужен. Разумеется, давилки-прыгалки в стиле "Принца Персии" это скорее вредный антипаттерн для 3д-шутера. Но сама принципиальная возможность сдвинуть пол вбок или взорвать кусок стены - она просто зверски улучшает вариативность экшена, вариативность локаций и правдоподобность происходящего.

Конкретно Дюк в плане левел-дизайна и без механизмов очень спорный. Но вот Blood меня, например, просто очаровал. А когда я открыл для себя моды по Blood - очаровал ещё сильнее. В эти локации веришь, там всё как-то "уютно и по-настоящему", ощущаешь себя в живом мире, который живёт своей жизнью. Это при том, что возможности модмейкерства были ограничены, до появления портов даже добавить текстуру было проблемой, а нормального аналога Dehacked нет и сейчас. А люди мутили шедевры уровня Fate of the Damned и Death Wish.

Иной пример - Half-life. (Ответственно заявляю, что на Gzdoom можно полноценно воссоздать и её, только потребное количество кокаина измеряется тоннами.) Уже сильно более продвинутый движок с полноценными 3д-брашами, но смысл не в брашах. Смысл в том, что мир снова живой: и паровозы в нём ездят, и трубы лопаются, и чуваки куда-то шляются по своим делам. И всё это даёт такой простор геймплейной вариативности, что по количеству пользовательского контента игра наверное на втором месте после Doom.

А вот Doom при всех своих достоинствах в основном воспринимается мёртвыми лабиринтами. Застывший мир из Лангольеров, где стандартный путь добавить жизни это напихать over 9000 гадов на квадратный метр и заставить бедную пони бегать по кругу на гигаарене. Или же посадить пулемётчика/ревенанта (клинический случай: арча) вооон в ту нычку, откуда ему будет удобно срать волшебными птурами/хитсканами, а игроку его выковыривать нет. Это не то чтоб плохо, но это однообразно. В Doom местами хотелось бы больше Blood/HL. В Blood/HL местами хотелось бы больше Doom. Возможности к тому имеются, нету их глобальной систематизации. В моём идеальном мире к Zdoom-wiki должна быть отдельно пристроена Boom-pervert-wiki и UDMF-pervert-wiki, целиком посвящённые тому, как в рамках формата сделать то, что формально нельзя, но очень хочется. Были на тему полтора неплохих авторских сайтика, да почили в Бозе, и оно прискорбно.

Рейтинг сообщения: +1, отметил(и): Michael_63
5
Michael_63
= Master Corporal =
Next rank: - Sergeant - after 48 points
242

Doom Rate: 1.54

Posts quality: +122
Ссылка на пост №10 Отправлено: 03.02.26 11:15:31
Герр Смертоносец, плюс, только Дюка не обижай, нормальный там левелдизайн. Для своего времени даже очень хороший. А так, если придираться, наверняка можно и в Бладе найти кучу такого, что не по-настоящему.

Алсо, формат Boom устарел. Его полностью унаследовал MBF21, добавив новые возможности.
Shadowman
UAC General
Next rank: Unavailable after 0 points
9004

Doom Rate: 2.02

Posts quality: +2535
Ссылка на пост №11 Отправлено: 03.02.26 15:14:24
Michael_63 пишет:
нормальный там левелдизайн. Для своего времени даже очень хороший.

Поскольку на днях оценил Дюк свежим взглядом, то заметил одну вещь, на которую раньше не обращал внимания: при всем "реализме" локаций - на самом деле они нереалистичны. Улица в городе упирается в тупики домов, идет из ниоткуда в никуда. Дома стоят бессистемно, но так, чтобы игроку было интересно их исследовать. Магазин (на 4 эпизоде) сделан для гигантов высотой 5 метров - обычным покупателям пришлось бы использовать приставные лестницы, чтобы взять товары с верхних полок (ладно бы это был книжный магазин, такое встречается, но обычный продуктовый...) "Аттракцион" про "карибских пираток" выглядит не столько как аттракцион, сколько как очередной лабиринт с некоторыми элементами реализма, поставленными с геймплейной точки зрения. И так во всем. Космический корабль - тоже не корабль, а лабиринт коридоров и комнат, чье взаимное расположение не всегда поддается логике. В общем, "реализм" в Дюке - это такая перекраска текстур в обычном абстрактном лабиринте, а вовсе не попытка передать реалистичный город или завод. В "Бладе", по-моему, реализма в плане передачи реалистичности было побольше.
Michael_63 пишет:
формат Boom устарел.

Вот не надо про Бум, вполне нормальный формат, когда хочется быстро, не напрягаясь и не заморачиваясь с дсд-экстра фичами, сбацать парочку игровых карт...

Рейтинг сообщения: +1, отметил(и): BeeWen
1 8 2
Michael_63
= Master Corporal =
Next rank: - Sergeant - after 48 points
242

Doom Rate: 1.54

Posts quality: +122
Ссылка на пост №12 Отправлено: 03.02.26 15:58:03
Shadowman пишет:
Вот не надо про Бум, вполне нормальный формат, когда хочется быстро, не напрягаясь и не заморачиваясь с дсд-экстра фичами, сбацать парочку игровых карт...

Всё, что ты делаешь в Boom, ты можешь абсолютно точно так же сделать в MBF21. И, например, если есть какой-то проект в MBF21, но ты не хочешь использовать новые фичи - не используй. Делай карту точно так же, как ты бы её делал в Boom, она будет работать в точности так же. Новые фичи никто использовать не заставляет, а если другие захотят, пусть они используют.

Shadowman пишет:
Поскольку на днях оценил Дюк свежим взглядом, то заметил одну вещь, на которую раньше не обращал внимания: при всем "реализме" локаций - на самом деле они нереалистичны. Улица в городе упирается в тупики домов, идет из ниоткуда в никуда.

Я это довольно давно заметил, но мне это не особо мешает. Зато то, что в тех локациях сделан интересный геймплей, даёт чёткий плюс. С более реалистичными локациями его сделать сложнее, и, к тому же, надо учитывать ограничения по железу из 90-х. Если бы тогда делали, например, локации с красиво оформленным задним планом, чтобы было видно, что там в продолжениях этих улиц, тогдашние компы хуже тянули бы это.

...и вот так тема скатывается к тому, что делать "нужно", а что "не нужно"
Shadowman пишет:
Что до всех этих механизмов - то перенос их в гздум, может, и возможен, но нужен ли?

а потом и к тому, какие игры кому нравятся больше, а какие меньше. А могли бы пообсуждать возможности движка и технические приёмы. Кому-нибудь да пригодится.
RunnerFx
= Sergeant Major =
Next rank: UAC Sergeant Major after 20 points
660

Doom Rate: 1.55

Posts quality: +498
Ссылка на пост №13 Отправлено: 03.02.26 16:19:02
Для начала пофиксить бы простые баги-просчëты, которые не дают сливать врагов с использованием окружения. Для примера.
Всякие полы кислоты, лавы не дамажут монстров. Вообще.
Игрок не может сдвигать монстров. Кинетика должна раскидывать мелочь, но фига там.
Сложим уравнение и представим, что указанные фичи работают.
Игрок стреляет ракетой в толпу импов, пара чудиков умирает, остальных взрывной волной отбрасывает в кислоту. Кислота завершает начатое, киллкаунт подрос, игрок доволен.
Дюк здесь не особо продвинулся, утопить свинокопов не получиться.
В брутал думе работает кинетика от взрывов,кулаков, бочки можно толкать на манер hl1, но мобы не получают урона, если влетят в стену или упадут вниз с большой высоты.
3 1
Shadowman
UAC General
Next rank: Unavailable after 0 points
9004

Doom Rate: 2.02

Posts quality: +2535
Ссылка на пост №14 Отправлено: 03.02.26 16:23:07
Michael_63 пишет:
А могли бы пообсуждать возможности движка и технические приёмы. Кому-нибудь да пригодится.

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

Дополнительно можно обсудить механику монстров в Билде и возможности ее воспроизведения в гздуме. Например, в Дюке у ряда противников есть встроенная опция прыжков или полета, причем она включается по каким-то правилам движка (вот как если бы в думе был A_Chase с опцией прыгать время от времени или взлетать в воздух). Хотя такое сымитировать в гздуме можно, но насколько оно будет выглядеть аутентично оригиналу - вопрос.
В бладе еще приседание имеется (те же культисты атакуют в сидячей позиции) - что тоже меняет механику противников. Хотя в Бладе поведение монстров менее разнообразно и ближе к думовскому - никто там не прыгает, ходячие по земле - ходят, летающие - летают, чтобы одновременно ходили и летали - такого не припомню. Потому разного рода ZBlood'ы регулярно появляются на гздуме.
1 8 2
Герр Смертоносец
- Warrant Officer -
Next rank: = Warrant Officer = after 3 points
1137

Doom Rate: 1.34

Posts quality: +1023
Ссылка на пост №15 Отправлено: 03.02.26 17:54:27
Shadowman пишет:
Другое дело что до тиражируемых решений еще далеко - мало придумать, как перенести в гздум сложную фичу билда, нужно сделать этот перенос максимально понятным для остальных и дать возможность тиражировать фичу на своих картах, не прибегая каждый раз к переписыванию кода заново.

Когда я закончу экспериментальный маппак (а это дело небыстрое), я наверное приложу к нему какой-то туториал по 3д-полиобъектам. Тиражируется-то оно легко, вспомогательные акторы сами куда надо приклеиваются.

Shadowman пишет:
Дополнительно можно обсудить механику монстров в Билде и возможности ее воспроизведения в гздуме. Например, в Дюке у ряда противников есть встроенная опция прыжков или полета, причем она включается по каким-то правилам движка (вот как если бы в думе был A_Chase с опцией прыгать время от времени или взлетать в воздух). Хотя такое сымитировать в гздуме можно, но насколько оно будет выглядеть аутентично оригиналу - вопрос.
В бладе еще приседание имеется (те же культисты атакуют в сидячей позиции) - что тоже меняет механику противников. Хотя в Бладе поведение монстров менее разнообразно и ближе к думовскому - никто там не прыгает, ходячие по земле - ходят, летающие - летают, чтобы одновременно ходили и летали - такого не припомню. Потому разного рода ZBlood'ы регулярно появляются на гздуме.

Заставить их прыгать, ползать и летать не проблема, флагами в декорейте/зскрипте хоть обжонглируйся. Проблема - точно знать, что именно имитировать. В Blood монстры бегают по какому-то совсем другому алгоритму. Он с одной стороны более багованный, и частенько монстры бегут в стену. С другой стороны он визуально более красивый. Там нет этой думовской привязки к восьми направлениям и бешеного кручения на месте в узких местах, и на игрока они могут наброситься с неожиданных направлений. Вот где бы описание этого алгоритма раздобыть? В Zblood логика чисто думовская, лишь слегка имитирующая Blood.
5
BKRItal
- Master Corporal -
Next rank: = Master Corporal = after 32 points
208

Doom Rate: 1.54

Posts quality: +121
Ссылка на пост №16 Отправлено: 03.02.26 23:36:40
Герр Смертоносец пишет:
Вот где бы описание этого алгоритма раздобыть?

Не знаю насчет описания, но можно наверно можно подсмотреть где-то там
https://github.com/NBlood/NBlood/blob/master/source/blood/src/ai.cpp#L256
https://github.com/NBlood/NBlood/blob/master/source/blood/src/aizomba.cpp#L103
https://github.com/NBlood/NBlood/blob/master/source/blood/src/aicult.cpp#L227
и т.д.

Рейтинг сообщения: +1, отметил(и): Герр Смертоносец
Герр Смертоносец
- Warrant Officer -
Next rank: = Warrant Officer = after 3 points
1137

Doom Rate: 1.34

Posts quality: +1023
Ссылка на пост №17 Отправлено: 04.02.26 01:47:42
BKRItal пишет:
Не знаю насчет описания, но можно наверно можно подсмотреть где-то там

О, шикарные ссылки. Выглядит оно, конечно, совсем не по-думовски и довольно запутанно. Но в принципе портабельно.
5
Страница 1 из 1Перейти наверх
   Список разделов - Местечко мапперов и моддеров - Реализация фичей движка Build на движке GZDoom/UZDoom