Дизайнер уровней из компании Valve рассказал, что поместил кастрюлю под текстуры на одной из карт Counter-Strike: Global Offensive, чтобы сделать дверные ручки. Всё из-за того, что в тот момент он был новичком и не хотел беспокоить коллег.
Небольшой историей разработки карты Overpass для CS:GO поделился дизайнер уровней Valve Магнар Дженсен.
Он рассказал, что когда трудился над картой, перед ним встала задача создать дверные ручки для трансформаторной будки. У разработчика не оказалось под рукой нужной модели, поэтому он решил пойти на небольшую хитрость. Он поместил под текстуры ящика модель кастрюли и расположил её под нужным углом, чтобы её ручки выпирали из шкафа в нужных местах. Тем самым у Дженсена получилось создать полноценную трансформаторную будку с ручками.
Теперь, когда Counter-Strike 2 вышла, я наконец-то могу предложить вам ГЛУБОКОЕ ПОГРУЖЕНИЕ в процесс создания карты Overpass в далёком прошлом.
Мне нужно было приделать ручки к этой электрической штуковине, но поскольку тогда я был новичком в Valve, мне не хотелось никого беспокоить, поэтому я использовал кастрюлю.
На этом мы завершаем наше глубокое погружение.
Магнар Дженсен, дизайнер уровней Valve
Судя по всему, именно в таком виде ящик и существовал в CS:GO вплоть до релиза Counter-Strike 2, в котором Overpass и другие карты переработали на движке Source 2.
Один из создателей карт под ником thewhaleman рассказал в ответ на рассказ Дженсена, что заметил использование кастрюли на карте Overpass много лет назад, когда только увлёкся созданием карт. Моддер признался, что сразу же украл эту идею для собственных карт.
Источник:
- Уловки маркетологов, которые приводят в бешенство
- 13 людей поделились рабочими хитростями, которые еще никогда не подводили
- Как можно стащить кусок пиццы и не оставить следов на месте преступления
- В Таджикистане запретили GTA и Counter-Strike за пропаганду насилия
- Поклонник Counter-Strike получил от главы студии Valve подарок за письмо с благодарностью
Меня недавно спросили, почему программисты ненавидят работать с чужим кодом. Долго думал, как донести до обычного пользователя всю суть 3,14-здеца. Решил привести небольшую аналогию:
Вот представь, что тебе доверили достроить за другим прорабом лабораторию на острове. Ты приходишь на объект, а там кроме недостроенного здания: огромный вентилятор (размером со здание), большой воздушный шар и комната набитая швабрами.
Почесав голову, ты разбираешь этот хлам и доделываешь лабораторию. Сдаешь объект ученным, но через 5 минут они выбегают с криком: "УТЕЧКА ЯДОВИТОГО ГАЗА!!!".
- Как так-то, ёпт! Должно же работать! - в отчаянии кричишь ты и звонишь прошлому прорабу:
- Вася, у нас ядовитый газ потёк! В чем проблема?
- Не знаю, должно было все работать. Что-то в проекте менял?
- Немного, швабры вынес...
- Швабры потолок держали!
- Шта???
- Говорю, швабры потолок держали. Над ними цистерны с газом были. Очень тяжелые, пришлось в комнату снизу швабры напихать.
- Ты хотя бы записку на двери повесил бы, что швабры для держания потолка! У нас тут ядовитый газ течет! Что нам делать?
- Включай вентилятор. Он сдует газ с острова.
- Я его, блиять, демонтировал сразу же!
- Зачем?
- А зачем ты построил 120 тонный вентилятор? Ты не мог просто положить ящик ПРОТИВОГАЗОВ?
- Ящик противогазов искать нужно, а вентилятор у меня с прошлого заказа оставался. - Вася, я убрал твой вентилятор! Мы тут задыхаемся!
- Хренли вы тогда там делаете? Садитесь на воздушный шар и сваливайте!
Представляю как отдел оптимизации негодовал, когда вроде всё что можно урезано, а игра всё равно подтормаживает. И они совсем не подозревают, что у них в каждом шкафу по кастрюле. Не стрелялка, а битва поваров прям :)
Второй - к разрушению собачей будки, прикрутил звук скулящего пёселя.
Чего только не встретишь, если внимательно смотреть.
__________________________
Если быть точным, там была зубная щётка. У неё каждая щетинка была проработана.
___________________________
Это факт. Причём довольно давно и широко известный. Эта технология, известная как "culling" (или отбрасывание ненужной геометрии), была реализована ещё на заре 3д игр. Например, в игре Doom использовалось бинарное разделение (BSP), когда все полигоны наделялись иерархическим атрибутом, в зависимости от расстояния до игрока. При этом на экран выводятся только те полигоны, которые обладают наивысшим значением, то есть перед которыми нет других полигонов. Все же остальные полигоны (которые игрок в данный момент не видит) не обрабатываются.
А сам яндере симулятор тормозил из-за кривого кода.
Он не рисует новые модели, а просто собирает окружение из готовых "деталек". Вы когда собираете конструктор(тот-же Лего), не выплавляете-же понадобившиеся элементы, а крафтите из того что есть. Вот и тут так-же.
А так метод, конечно, знаком любому, кто хоть раз моделировал в 3Д. Нет подходящей модели, берёшь другую, вытягиваешь, сжимаешь, а всё ненужное загоняешь в стену под текстуры. У меня так однажды вместо плафона из стены торчал сплющенный носик чайника (сам чайник был спрятан в стене). Для любительских поделок пойдёт, но для коммерческого продукта, да ещё от такого разработчика как Valve, метод не очень по очевидным причинам.