OpenSource — объединяем карты
Юрий Цуканов,
Видео c единой картой Half-Life:
https://youtu.be/-SaRdQdW-Ik
Картинка c единой картой Half-Life 2:
Автор, между прочим, наш соотечественник. В ближайшее время обещает реализовать поддержку Portal 2.
Кстати, на видео видно что часть Черной мезы находится в воздухе, часть на поверхности, и часть под землей, а Ксен еще глубже
и загрузка будет идти 5 часов
Там довольно скалистая местность. Возможно часть комплекса тупо находилась в какой-то скале.
В игре повествование прерывается, когда Гордона вырубают и уносят неизвестно куда, под пресс мусора. Есть еще вариант, что с этой точки можно было уровень карты поднять до нужного (только зачем солдатам так высоко Гордона переть). Автор, видимо, не придал значения и стал лепить дальше.
Не получится. В игре очень много пересекающихся локаций из разных карт. Это будет выглядеть жутковато
а когда загрузится, будет тормозить так что нормально не поиграешь. Проц, оператива и видяха полягут сразу))) моя система точно упадёт)))
Это будет следующим шагом в игровой индустрии, рендерить реалистичную картинку на суперкомпьютерах, а конечным пользователям поставлять видео с возможностью управления, как это сейчас в облачном OnLive.
а вам все сразу подавай
Ерунда какая-то.
Посмотреть объем работы разработчиков по уровням, например. Показать, на вскидку, колоссальные размеры комплекса. Выявить косяки соотношений, для любителей ляпов. Тупо по-ностальгировать. Тормозы.
И всё таки было бы неплохо найти действительно полезное применение данной идеи. Понастальгировать мы можем и без этих заморочек...
В теории, эта програмуля может помочь левелдизайнерам создать более правдоподобные локации - в частности, на видео видно, как много мест в из разных глав Half-Life находятся буквально через несколько метров скальных пород. Было бы круто, например, заранее увидеть какое-нибудь круто выглядещее помещение, чтобы через десять минут игры оказаться там.
общие места есть, но, насколько я могу судить, уровни соединяются только по trigger_changelevel, у которых имена уникальны, поэтому не получится
Не обещаю, а намереваюсь. И не в ближайшее, а как руки дойдут. :D
Я делаю ещё кучу всего в и без того скудное свободное время, поэтому думаю, что необходимые HL2/Protal2 технологии сделаю не раньше, чем через месяц-другой.
Но, думаю, можно попробовать этой утилитой и сейчас их поклеить. Упасть, может, и не упадёт, но выглядеть точно будет странно.
Низачем!
Его нет!
[img]http://i3.kym-cdn.co m/photos/images/original/ 000/234/146/bf8.jpg[/img]
Это не браши, а face. Текстуры как-то есть в коде, но выпилены, потому что (а) они смотрятся хуже, чем просто лайтмапы на таких масштабах, (б) долго грузятся, (в) для корректного требуют более-менее честного парсинга материалов (лень!), (г) занимают уйму видеопамяти.
Z-fighting там, очевидно, из-за того, что уровни содержат одну и ту же геометрию. Также должно быть довольно очевидно и то, что нет тривиального способа избавиться от этого, без довольно вычурного "умного" редактирования копланарной геометрии. Если знаете простой способ, как можно сделать это в screen-space, например, с радостью выслушаю.
Штука в том, что уровни клеятся не ручками, а автоматически -- bsp-файлы содержат специальные метки, т.н. landmarks, которые должны совмещаться у смежных карт. Для этого места с вырубанием Гордона эти ландмарки прописаны именно таким образом самими Valve.
Есть только одно место, где мне потребовалось ручками поправить: анти-масс-спектрометр до и после резонансного каскада -- там ландмарки просто битые, поэтому мне пришлось ручками подгонять карты, чтобы совместить их.
Утилита умеет только Source-формат карт, а вышеупомянутые игры -- это GoldSrc. Саму по себе поддержку запилить должно быть несложно, но надо найти спеки на GoldSrc/bsp (или отреверсить, но это долго, и мне уж точно лень). Ну и между играми подгонять их придется ручками, т.к. ссылок друг на друга они не содержат.
Во первых, есть система Occlusion. Во время создания карты маппер создает специальные браши, которые являются не визуальной стеной для игрока, а виртуальной стеной для движка, за которой он ничего не "видит", а соответственно не рендерит, не загружает в память и т.п. Тобишь загрузив начальный уровень, движок "дальше своего носа" ничего прогружать не будет, все будет загружаться по мере прохождения, а затем, старые области, откуда уже ушел, выгружаться из памяти. Особенно часто это делается в так называемых "точках невозвращения" (когда спрыгнул с высоты, назад уже нельзя, только вперед, а уровень не поменялся). Так же Source не просчитывает AI NPC до тех пор, пока мы их не увидим, либо не запустится скрипт на карте (когда мы наступим на триггер). Так что всё отлично будет работать.
Зачем? Кроме как оценить размер комплекса и изумиться работой level-дизайнеров в Valve - позволить разработчику утилиты развить свои навыки программирования.
Бесшовный мир Кстати valve работает над этим вроде как
Бесшовный мир Кстати valve работает над этим вроде как
Бесшовный мир Кстати valve работает над этим вроде как. Блин вот я тут наворотил то
Да, есть - максимальное количество брашей 8192 (max_map_brushes) на карте. Но я и не говорил, что не придется дописывать движок. Смысл в одновременном отображении, загрузке в память 8192 брашей. Для этого достаточен темп-файл, имеющий стэковую структуру - загрузка/выгрузка брашей на определенном, скажем так,"радиусе видимости" (поле зрения). Только движок в любом слчае перелопатить придется, потому что для такого темп-файла необходима куча дополнительных - с пространственными метками Короче, один хрен клапаны точно этим занимаются. Я сам поклонник бесшовных миров. Вспомните Fallout 3
правило1
Комментарии модерируются. В процессе модерации мы руководствуемся исключительно собственным чутьем, которое в правилах полностью раскрыть невозможно. Все правила.
- Комментарии модерируются. В процессе модерации мы руководствуемся исключительно собственным чутьем, которое в правилах полностью раскрыть невозможно.
- Падонкаффский язык здесь категорически не приветствуется. Первонахи и прочие пересчётчики - первые кандидаты на бан.
- Оскорбление других комментаторов - последнее что должно приходить вам в голову.
- Вообще оскорбления кого бы то ни было приводят к отстранению от возможности оставлять комментарии.
- Использование ненормативной лексики не запрещается, но сильно не приветствуется - проявите уважение к собеседнику (замена символов в матерных словах не лишает их этого статуса).
- Не отвечайте на провокационные и противоречащие правилам сообщения - иначе ваш пост также будет подлежать уничтожению.
- Поле имени и почты предназначены для вашего имени и почты. Это не место для проявления вашего великого цинизма или остроумия.
- Мы оставляем за собой право как удалять ваши комментарии, так и править их (что впрочем, происходит исключительно редко).
- Односложные комментарии, комментарии состоящие из одного смайлика, написанные транслитом или одними большими буквами - первые кандидаты на удаление.
- В определённых случаях мы можем отключать возможность комментирования какой-то новости для всех посетителей вообще.
- Забанить человека или удалить сообщение - гораздо проще, чем написать его, чистить свои куки и менять прокси. Подумайте над этим.
- Не стоит пытаться обойти систему бана - этим вы только будете удваивать свой срок наказания (за каждую попытку).
- Если вы отправили два одинаковых сообщения - не стоит писать третье типа "ой, я не хотел" или "у вас глючит" - мы сами разберёмся.