Sidebar

doom2gold в разработке

  • Наступило лето и у нас стартовал конкурс с призовым фондом в $120!
    "De-Make It!" Summer Contest.
Команда форума
VIP
28.03.2010
15 328
252
83
Награды
4
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
Потолочные плоскости мало помогают от утечек. В принципе на тех картах, где нормали кратны целому числу градусов, никаких ликов нет. Точность этих углов весьма невысокая, надо придумать что с этим сделать. Пока что список такой:
1. точность восстановления углов у неаксиальных плоскостей
2. выравнивание текстур по высоте
3. сохранить в карту оставшиеся энтити (ну это несложно, но муторно).
Вообщем первоочередная задача - избавиться от ликов на большинстве карт. Справедливости ради стоит сказать, что ликуют даже карты от QuakeDm, где автор вдвигает брашы друг в друга. Хрен бы там оно помогает %)

[ADDED=Дядя Миша]1544617461[/ADDED]
А так - карты отлично собираются, битых полигонов нет, всё семпотично.

[ADDED=Дядя Миша]1544617821[/ADDED]
Скомпиленный e1m1. Это его натуральный размер. Обратите внимание насколько дуумовский игрок меньше халфовского.

[ADDED=Дядя Миша]1544618287[/ADDED]
Дуум оперирует плоскостями, представленными в виде двух наборов данных. Для линий это yaw angle сохраненный в short, с отсечением дробной части. А для нод это divline, из которого можно восстановить два вертекса, из которых можно восстановить угол, который потом переконвертить в нормаль. Очевидно, что потери неизбежны. А лики возникают из-за разных данных. При одинаковых данных и потери будут одинаковые. Проверим.
 

Вложения

  • 123.3 КБ Просмотров: 19
Последнее редактирование:

Qwertyus

Well-known member
13.08.2009
1 363
26
48
Награды
1
  • Xash медаль
2 Дядя Миша:
Вероятно, надо тогда апскейл до привычных размеров сразу добавить, коль уж карта не просто декомпилируется, а переводится в GoldSrc-формат.
 

Ku2zoff

Member
12.08.2010
315
6
18
Награды
0
28
Карта вылетает с ошибкой bad surface extents 608/0 at position (32,-192,216) под голдсорсом. Под ксашем запускается.
 

ncuxonaT

Well-known member
05.05.2013
1 172
42
48
Награды
0
Дядя Миша сказал(а):
Обратите внимание насколько дуумовский игрок меньше халфовского.
Это не от того, что при разрешении 320х200 и мониторе 4:3 пиксель был не квадратный, а вытянутый на 20% по вертикали?
 

Cybermax

Супер Модератор
Команда форума
Супер Модератор
11.03.2008
2 590
28
48
Награды
0
В Ксаше ввожу в консоле map e1m1, карта не загружается. Запускаю батником hl.exe -dev 5 -log -console +map e1m1, карта загружается. В П2 через консоль map e1m1 запускается.

[ADDED=Cybermax]1544624537[/ADDED]
Сразу бросилось в глаза на сколько низкий потолок.
 

Вложения

Последнее редактирование:
Команда форума
VIP
28.03.2010
15 328
252
83
Награды
4
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
ь? Ъ!

[ADDED=Дядя Миша]1544629834[/ADDED]
Не выходит у меня избавиться от дырок. Ну да ладно. Будем думать.

[ADDED=Дядя Миша]1544634276[/ADDED]
самый простой способ избавиться от дырок - это снапнуть дистанцию неаксиальных плоскостей к какой-нибудь сетке. ну скажем к шагу 0.1. Я снапнул и дырки на e1m1 пропали. Пока оставлю этот вариант.
 
Последнее редактирование:
Команда форума
VIP
28.03.2010
15 328
252
83
Награды
4
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
закончил с текстурированием, остались только дыры :(
В лоб эту проблему не решить. Надо понять механизм возникновения. Там где плоскости секутся нодами, при условии что плоскость неаксиальная, очень высока вероятность появления мини-щели.
 
Команда форума
VIP
28.03.2010
15 328
252
83
Награды
4
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
Вот текущий результат. Это декомпиляция и сразу же сборка в bsp.
Посравнивайте наложение текстур.
 

Вложения

GNU/Hurt

Maïté
05.03.2014
1 092
23
38
Награды
0
2 Дядя Миша:
>мини-щели
А тебе принципиально эту проблему именно программно решить? Так-то если именно ради ремастера, то можно и мне карты скинуть -- я вручную пройдусь и щели закрою.

ps: там кстати из за того что небо в дууме перекрывает видимость в отличие от кваки и хл, то в местах с открытыми пространствами иной раз видно части карты, которые видно быть не должно, так что небольшая ручная доводка возможно имеет смысл.
 
Последнее редактирование:
Команда форума
VIP
28.03.2010
15 328
252
83
Награды
4
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
2 GNU/Hurt: дык вручную любой дурак щели закроет :]
Но почему мой бубен должен быть слабее духа машины?

[ADDED=Дядя Миша]1544960678[/ADDED]
Нашёл более оптимальный способ затыкания щелей. Пушить дистанцию у нодов не слишком оптимально - неизвестно что и куда подрежется в итоге, оно может захватить лишнего. Гораздо лучше у готового браша найти все неаксиальные плоскости, снапнуть их дистанцию к сетке и перебилдить браш заного.
Получается гораздо более аккуратно чем в преведущем варианте. В принципе и этот вариант можно расширить, например найти оппозитные плоскости со слишком большой толерантностью и подвигать только лишь их.
 
Последнее редактирование:

GNU/Hurt

Maïté
05.03.2014
1 092
23
38
Награды
0
>Посравнивайте наложение текстур.
Нада больше карт, навспример. На e1m1 чисто, но на других картах бывают сложнее места -- надо вспроверить. Хотя там и в оригинале они так наложены, что и не понятно это криво так или так и задуумано.
 

Ku2zoff

Member
12.08.2010
315
6
18
Награды
0
28
GNU/Hurt сказал(а):
Нада больше карт, навспример.
Дайош весь первый ипизот! С освещением, энтитями и звуками! А, блин, до этого далеко. Чёрт возьми, а мне это уже нравится. Побегал по e1m1, прекрасные ощущения. По наложению текстур, вроде бы всё на месте.
Солидарен с GNU/Hurt, для оценки кач-ва нужно больше карт.
 

Cybermax

Супер Модератор
Команда форума
Супер Модератор
11.03.2008
2 590
28
48
Награды
0
Ощущение ностальгии с одной стороны, в сочетании с восторгом от того что это честное три дэ, а не фокусы. А самое ценное что это по сути основано на оригинале.
 

KorteZZ

Возрождение...
18.10.2009
560
62
28
Награды
1
31
Якутия
hl-collection.ru
  • Золотая медаль 113
Вот что вылезает при попытке запуска на стимовской ХЛ
Запустил под 0,98 Ксашем. И показалось, что потоки низкие и чел просто пробивает их своей головой, видя то, что находится за потолком. Потом ещё застрял игроком в текстурах посреди стены. Но что-то скрины не сохранились =(
 

Вложения

Последнее редактирование:

mittorn

Active member
22.04.2010
1 225
19
38
Награды
0
2 KorteZZ:
пока что не заработает под голдсорсом из-за того что разрешение текстур не кратно 16
 
Команда форума
VIP
28.03.2010
15 328
252
83
Награды
4
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
Нада больше карт, навспример
Другие карты пока не конвертятся, лезут ужастные баги, связанные с энтитями. Например на e1m2 половина уровня обратилась в func_door %)
Мне надо как следует газобгаться с этими подъемниками. Тому шо там форменный идиотизм. Подъемник - это не сектор и даже не браш. Это просто линия с параметрами. Ну ок, линия принадлежит брашу, значит это подъемник? какбынетак! Эта же линия со спец.настройками принадлежит другому брашу, который соседствует с дверью. Линия-то весь общая между ними! :facepalm:
Я предположил что джверь, это как минимум две таких линии - спереду и сзаду. Однако это не работает на подъемниках, у которых мы видим максимум одну сторону.
Дайош весь первый ипизот! С освещением, энтитями и звуками! А, блин, до этого далеко
На самом деле гораздо ближе чем кажется. Накодить монстров и освещение это весьма быстро. Всё упирается только в качество конвертации карт.
На данный момент мой декомпилятор корректно дампит только e1m9 и e1m9.
Корректно - имеется в виду, что их сразу же можно скопилировать и дырок не будет. И то он часть муверов пропускает на e1m9, а компилятор считает нижние помещения замкнутым пространством и отрезает их нахрен %)
Причём главная проблема именно вот в надёжном детектировании этих джверей.
Как только я её решу, всё должно будет встать на свои места. Останутся еще кнопки, там тоже пока не очень понятно что делать. В дууме нет никаких брашевых энтитей, он взаимодействует с частями уровня. Поскольку части уровня охвачены двухмерным BSP-деревом, двигать их влево и вправо нельзя - поломаем дерево. Отсюда вытекает принципиальная невозможность устройства сдвижных дверей. Только вверх и вниз. С точки зрения дерева такая дверь остается на своём месте. Кнопки - это линии, триггеры это тоже линии. Пересёк линию - активировалась иная линия, у которой тэг совпал с пересечённой. Тэги можно считать примитивным вариантом связки таргет-таргетнейм, т.к. из нее не понятно кто и кого активирует. Дверь, как я уже писал выше - это тоже линия. Эту линию можно активировать через юз, как кнопку, а можно через тэг по триггеру или по другой кнопке. Линия-кнопка отличается от остальных тем, что меняет свою текстуру и издаёт звук. Вообщем суть в том, чтобы эти кнопки встроить внутрь мирового браша с этой же кнопкой и при этом не нарушить герметичность пространства. Тут уже CSG потребуется. Но я пока так далеко не заглядываю, мне бы с дверями газобгаться. А када разберусь со всеми брашевыми энтитями, дальше совсем легко будет, класснеймы прописать точечным и вася-кот. Между прочим в дууме тоже есть спаунфлаги, Not in easy, Not in medium, как в кваке. А у монстров еще дополнительно спаунфлаг Ambush, ну тожы как в кваке :) Точечные энтити особым разнообразием не блещут - итемы, монстры и декорации. Из интерактива - взрывающиеся бочки. Ну вроде бы и всё.

[ADDED=Дядя Миша]1545044209[/ADDED]
ЗЫ. если кто вдруг не понял, линия это еденичный полигон, у которого Z нормали всегда равен нулю. Т.е. они ориентированы только по XY. При виде сверху эти полигоны действительно выглядят как линии. Для разнообразия каждая линия может состоять из трёх полигонов. Верхняя часть, средняя часть и нижняя часть. Верхняя часть начинается от высоты прописанной глобально для всего сектора и тянется до высоты соседнего сектора. А если соседний сектор ниже этого, то наоборот - его линия тянется до высоты этого. Так делаются перепады потолков. Аналогично устроена и нижняя часть - от прописанной высоты нижней части, тянется до нижайшего соседнего сектора. Верхняя и нижняя части секторов не геймплейные, игрок там находиться не может. Это пол и потолок. Игрок находится между ними в средней части. Средняя часть ограничена линиями со средней текстурой, но эти линии не имеют соседей подобно полу и потолку, т.к. из них бессмысленно пытаться построить конвексный браш. Чаще всего эти линии смотрят за уровень. Поэтому из видимой линии просто достраиваются недостающие пять сторон браша, а чтобы было красивее - коннектятся с соседними линиями. Если средней текстуры нет, то полигон невидим. Но еще не означает что он проходим! Для прохождения служат особые флаги в структуре линии. Флаг солид, если текстура обозначена как "-", получается клипбраш. Если текстура "-" и нет флага солид - то это просто пустое пространство между секторами или внутри сектора. Есть так же флаг для блокировки монстров, func_monsterclip по нашему. И что особенно интересно - есть флаг для блокировки звука! Представляете? в дууме уже была блокировка звуков, закрылась дверь и звуки сквозь нее не проходят. Вот так-то!
 
Последнее редактирование:

GNU/Hurt

Maïté
05.03.2014
1 092
23
38
Награды
0
>в дууме уже была блокировка звуков, закрылась дверь и звуки сквозь нее не проходят. Вот так-то!

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

>двигать их влево и вправо нельзя - поломаем дерево

А в gzdoom можно (и вращать тоже), там уже полноценные энтити добавили?
 
Последнее редактирование:
Команда форума
VIP
28.03.2010
15 328
252
83
Награды
4
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
Насчёт комнатки с щелью ничего не знаю, пока такого не видел еще.
Как в gzdoom сделано тожы не знаю. Ну да, все заморочки дуума - лишь дань производительности и не более того. Если мощи хватает, все эти ухищрения идут лесом. Дело только в этом.
 

GNU/Hurt

Maïté
05.03.2014
1 092
23
38
Награды
0
>пока такого не видел еще.

на e1m9 ещё так очень хорошо видно.
 
Команда форума
VIP
28.03.2010
15 328
252
83
Награды
4
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
Делаю двери. Самое неудобное то, что дверь, которая открывается по нажатии пробела - легко вычисляется, у этого сектора как правило проставлен special в линиях. Ну там 26, 27 или еще какой дверной номер. Гораздо хуже обстоят дела с дверями и подъемниками, активируемыми через цель. Там у линии просто стоит тэг. И всё. Надо найти линию-активатор с таким же тэгом. Причём убедиться, что это именно активатор, а не очередная дверь. Далее. Номер активатора задаёт движение двери-сектора. Это дико неудобно в перекладке на энтити. Ну представьте чтобы у вас были кнопки func_button_close_door и func_button_open_door и каждая могла бы выполнять только одно действие. В некотором смысле это похоже на систему префиксов, чтобы мы точно знали что делаем - открываем или закрываем. К тому же от типа активации зависит не только это, а например звук, издаваемый дверью, высота подъема, скорость, время ожидания. Всё это очень неудобно детектировать.
 

Донат - Операционные расходы

Итого
1 141.00 $
Цель
1 300.00 $
Донат завершается:

Доноры Красавчики

Новые сообщения

Пользователи онлайн

Нет пользователей онлайн.