(Untitled)

Jan 04, 2008 21:25

Во-первых, всех с новым годом етс.

По случаю чего даю ссылку на Истинное Новогоднее Обращение Владимира Владимировича Путина (виа Зи) (мой моск, оказывается, основательно испорчен разного рода эмбиентом: я сидел, слушал и получал удовольствие. Там голоса!).

И ещё ссылку на обращение Л. И. Брежнева по случаю нового, 1971 года ( виа Жмурри). Вот ( Read more... )

Leave a comment

faceted_jacinth January 4 2008, 20:20:27 UTC
Ты что-то всё в кучу мешаешь.
Визуальная часть движка работает на всамделишных порталах, насколько я знаю. Ну то есть на самом деле там BSP-деревья, которые, насколько я понимаю, позволяют в том числе и делать порталы. Если что, ещё в дюкнюкеме3д было несколько уровней с неевклидовой геометрией, то есть заходя в как бы одну и ту же комнату из разных дверей ты оказывался в разных местах. Единственная проблема состоит в том, что рекурсию надо когда-нибудь останавливать, что они и делают после пяти, кажется, проходов, рендеря на последний портал картинку с предпоследнего. А ещё даже была специальная игра, Madspace, в которой на этом был основан геймплей, то есть натурально были места, где в углу комнаты стоит колонна, ты её обходишь и оказываешься в совсем другом месте. Правда, я в неё не поиграл, потому что на новых компах она уже не идёт, а под dosbox ещё тормозит.

Основные трудности у них были именно с физикой, там да, там они приближённо аппроксимировали форму объектов в процессе прохождения через портал и всё такое. Хотя если бы физический движок изначально писался в предположении о необходимости такой штуки, проблем бы не было, наверное.

Кстати, тут дико уместно вспомнить сравнительно недавнюю игрушку Prey (хотя, хихи, анонсировали её ещё _до_ Duke Nukem Forever), в которой были точно такие же порталы, только предефайнутые и гораздо круче. Например, там было такое: комната, посередине в стеклянной витрине висит шарик. В стенке комнаты -- портал, который выходит на стенку маленького домика на шарике. Туда залезаешь и обнаруживаешь себя на этом маленьком шарике (на котором гравитация всегда направлена к центру) причём ты там соответственно уменьшился в размерах. И это всё плавно, без затемнений экрана, можно сидеть в самом портале и смотреть с одной стороны на свою огромную задницу в комнате или, с другой стороны, на свою малюсенькую задницу на шарике.

Но это всё кусочно-евклидова геометрия. Существенно неевклидову наверное тоже можно сделать, но только рейтрейсингом и это будет тормозить. Потому что линейные преобразования быстрее и проще нелинейных. И поэтому поддерживаются видеокартами.

Reply

Re: Reply to your comment... yurri January 4 2008, 20:32:38 UTC
Там частично - что-то всамделишно, видишь тот же самый предмет, что стоит за спиной, а что-то клонируется, создаётся ещё один экземпляр того предмета. Ну и виртуальные камеры на каждом портале.

Reply

Re: Reply to your comment... faceted_jacinth January 4 2008, 20:40:59 UTC
Юра!

Во-первых, я её тоже проходил с developers commentary.

Во-вторых, я, в силу определённых причин, намного лучше представляю себе, как оно всё работает. Под "виртуальной камерой" понимается render to texture с определённой точки с последующим накладыванием оной текстуры куда-нибудь. Это делается на последнем шаге, до этого всё рендерится прямо. Я не поручусь, что им не приходится дублировать объекты из-за какого-нибудь глупого ограничения, но я такого не помню. А проверять влом. В любом случае, это совершенно неважно.

Reply

Re: Reply to your comment... yurri January 4 2008, 22:22:41 UTC
Ну я потому тут и спрашиваю, что я далёк от графики. Собственно, меня и интересовало, насколько сложно сейчас создавать движки с произвольной геометрией, и насколько тот же Portal именно такой, а не имитация.

В общем, теперь понятно, спасибо.

Reply

koct9i January 5 2008, 09:01:20 UTC
Графика там порталы держит, а физика нет -- объект проходящий через него клонируется на той стороне, и начинаются жуткие пляски с бубном чтоб связать их в примерно один объект.
насколько я помню из каментов, у них начались проблемы с производительностью и они решили снизить точность физ взаимодействия объектов в портале применяя упрощённые алгоритмы.

Reply


Leave a comment

Up