yego.me
💡 Stop wasting time. Read Youtube instead of watch. Download Chrome Extension

Почему DOOM работает буквально на чём угодно?


12m read
·Dec 15, 2024

Дом запустили на бензопиле, прошли на фотоаппарате Кодек. Он заработал на тесте для беременности, и даже внутри самого Дум. Если вы давно в интернете, то знаете про правила 34: про всё, что существует, есть порно. Но ещё есть одно правило, правда без номера: на всём, что существует, можно запустить м.

Почему именно эту игру портят на всё на свете? На самом деле есть пять особенностей, которые сделали это реальным. И в этом видео я всё подробно разберу. Заваривайтесь поудобнее и устраивайте чаёк. Сейчас разбираться [аплодисменты].

Будем дом - это настоящий феномен. Назовите мне ещё одну франшизу, у которой каждая часть успешная и имеет гору фанатов. Даже от современных частей Дум люди сут с кипятком и не вытаскивают руки из-под стола. Дум - это батя всех шутеров от первого лица. Его популярность породила Квейк и Дюк Нюкем, на которых уже выросла Half-Life. Ну и дальше генеалогическая идёт вплоть до Ларан с овочем.

Но быть просто первым и популярным - этого мало, чтобы люди пытались запускать игру на всём подряд. Контру 06 тоже он миллионы любит, но я не видел, чтобы в неё катали на зубной щётке. Что же делает Дум особенным? Как говорится, если хочешь узнать тайны отца, спроси у [аплодисменты] [музыка] деда.

Во всём, о чём сейчас пойдёт речь, виноват вот этот человек - Джон Кармак, гений, революционер, плейбой, ГИГ и задрот такого уровня, что никаких World of Warcraft ещё не завезли. Когда он вместе с корешами сформировал ID Софтвер, сначала они делали вот такое - Commander Keen, типичный платформер для тех лет. Но Кармаку уже тогда хотелось от своего лица поучаствовать в какой-нибудь войнушке. Так он изобрёл шутер с видом от первого лица.

Месяцы потной работы, и мир увидел Вольфенштейн - самом мощном ПК того времени. Next Station я уже рассказывал про эти Мега компы в одной из стори. Кармак мог бы запилить что угодно, но мешал один факт: за дверями студии далеко не у всех есть вот такой же комп. А зачем делать игру, которую не купят? Тогда рынок драли IBM PC, Apple 2 и всякое такое.

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

Вперёд, например, по этой же причине игра не была трёхмерной: это псевдо 3D. Для настоящей трёхмерной нужны вычисления по трём осям координат, а тут по оси Z ничего нет. Персонаж не идёт вперёд при нажатии W, текстуры и модели впереди просто увеличиваются, при повороте смещаются по координате X. И вот, пожалуй, и всё.

В итоге для запуска Вольфенштейна с мощностью минимум 20 МГц, хотя бы 640 Кб оперативки и 3 Мб места на компе - и это реально [музыка]. Работало. Игра стала популярной, Кармак искал, как разогнать возможности движка и по сути работал только над этим.

В итоге из Wolfenstein 3D Engine родился новый движок - Tech One. Отличия были огромные, например, стены на уровне могли стоять под углами, а не только строго по вертикали или по горизонтали. Потолок и пол могли находиться на разной высоте. На них можно было кидать текстуры. В Вульфи они были однотонные, плюс была имитация разных высот. Враги могли быть выше или ниже героя. Да, и сам он получил возможность подниматься и спускаться по лестницам.

Перечислять можно долго, и работало это почти на том же самом железе. Разве что требования к физической памяти стали больше, но мы к этому ещё вернёмся. Изначально планировалось, что Дум станет просто улучшенной версией Вольфенштейна, но в штате ID Soft был чувак не менее лютый, чем сам Кармак. Это Джон Ромеро.

Они с Кармаком обожали задротить в Dungeon and Dragons, поэтому Ромеро предложил сделать игру про демонов, а Кармак решил, что это будет не какой-то там фэнтези, а фантастика про будущее. Сначала даже была написана Библия Дум, то есть книга, описывающая предысторию, ЛОР и суть игры.

Но при разработке её постоянно отодвигали. Джон Кармак сказал: сюжет в шутерах нужен так же, как и в порно. Прикольно, что он есть, но людям насрать - это реальная цитата. Центральной осью игры стала не вот эта вот Библия, а идея Ромеро. Он хотел зубодробительный шутер.

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

А поскольку он был гением задолго до Кодзимы, у него это вышло. Джон сделал так, чтобы уровни в игре загружались очень долго на компах того времени. Загрузка шла больше минуты, зато сам уровень летал. Если в двух словах, это сделали так: обычно при загрузке игра строит уровень, натягивает текстуры и все дела.

А в Думе, например, не было больших текстур для стен. Вместо этого были небольшие текстурки, которые просто раскидывались по стене, а затем готовая стена широва на компе. Это занимало время, игра занимала больше места, но зато всё летало. Кармак решил, пофиг, что геймеру придётся долго ждать. Важнее, чтобы он кайфанул от самой мясорубки.

В результате м получился таким. Для работы требовался процессор не слабее Intel 386 DX - это 16 МГц мощности, минимум 4 Мб оперативки и 40 МБ места на диске. Это первый из пяти ключей к разгадке, почему м партию на всё на свете - железо было слабым. Пришлось сделать движок и код максимально оптимизированным и эффективным, чтобы он шёл даже на железе от калькулятора. Иначе бы игру никто не покупал. Или, даже купив, никто бы не сыграл в неё, потому что железо бы не потянуло.

Парни даже заморочились, чтобы установщик весил не больше 2х и 88 МБ. Почему? А чтобы игру можно было продавать на флоп-дискетах, дабы любой геймер-нищеброд мог приобщиться к прекрасному. Но самое удивительное, что в эти 2,88 МБ парни засунули даже звук. И это при том, что в Дум для своего времени был крутейший саунд.

Музыку делали под вдохновением от Металлики, ACD и Black Sabbath. И Software даже пытались обвинить в плагиате. Благо, сегодня с музыкой проблем нет вообще, ведь в наше время есть звук. Звук - это аудио Римир Вис, собравший самую разную музыку: попса, рок, hip-hop, RnB, металл, любые направления и исполнители доступны здесь в hi-fi качестве, в форматах Flac, wav и DSD.

Причём в приложении можно без проблем выбрать, в каком качестве на какой сети будет музыка. Никто не будет задавать лишних вопросов. Хотите слушать максимальное качество даже на мобильном интернете? Да вообще без проблем. Звук недавно выпустил обновление и сильно прокачался. Например, апнули силу звука - это специальный режим, который создаёт бесконечную музыкальную подборку по вашим персональным предпочтениям.

Теперь включить силу звука вообще Изи. Мини плеер доступен внизу приложения в любом разделе. А ещё в приложении прокачали рекомендательные технологии. В разделе обзор при вводе имени артиста появляется предложение включить музыкальную подборку его треков. Для постоянных пользователей предложения будут на основе их постоянных вкусов. Новым юзерам предложат волны, близкие к тому, что были указаны при регистрации. Да и на странице исполнителей добавили виджет волны по артисту.

Но самое главное, что звук не требует никаких дополнительных платежей. Например, за аудиокниги. Достаточно подписки с бе Prime. Если она у вас уже есть, можете прямо сейчас ставить звук и улетать на волнах любимой музыки. Если подписки нет - всё равно можно улетать, потому что первые 30 дней звук доступен абсолютно бесплатно. Обязательно переходите по ссылке и слушайте любимую музыку в топовом качестве.

Ну а я возвращаюсь к портированию [аплодисменты].

Дум второй ключ - сам код Дум. Подробности о том, как он работает, можете почитать на Википедии, там прямо подробная статья на русском есть. Нам же сейчас важно другое: сегодня все любят бухтеть, мол, игра делается только о бабках и думают: "А вот раньше, раньше это было". Я вас разочарую. Но раньше тоже думали. Джон Кармак думал о бабках даже больше, чем сегодня Ubisoft или Blizzard. Он понимал, мало просто написать крутую игру. Чтобы выжать с неё максимум бабла, нужны порты на все остальные платформы, которые потянут по железу.

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

С ним всё это тело портировать намного проще. Уже чуете, куда ветер дует? Да, но это не всё. Файлы игры были в запакованном формате ват. Расшифровывался как где, все данные в коде таких файлов было удобно ковыряться и вносить изменения, не трогая основной движок.

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

Он обожал делать моды на чужие игры, но больше всего кайфовал, когда видел чужие моды на свой Wolfenstein 3D. В конце концов, уже тогда Джон понимал, что моды делают игру популярнее и помогают продавать реиграбельность. Это, что же, бабосики!

Файлы Т позволили бы рукастым парням проще делать моды для Дума. Они бы это быстро проха выли и сразу стали бы клепать крутые уровни, виды стволов и разных монстров. Но одними модами сыть не будешь: у ID Software не хватало времени и возможности портировать игру на всё, что они хотели.

Поэтому, если у тебя не было нужной операционки или достаточно мощного компа, ты даже игру не пощупаешь, не то что моды. И это надо было как-то [аплодисменты] [музыка] исправлять. Дум делали не на свои бабки, у компании были продюсеры. А это обязательство. Игра была закрытой. ID Soft со официально, как бы, не поощряли ковыряние в коде, но Кармак за кулисами такой: "Типа, не парьтесь, пацаны, всё О'кей".

К девяносто седьмому году обязательства по контракту перед продюсерами были закрыты, и студия стала единолично владеть всеми правами на Дум. Тогда Кармак опубликовал исходный код игры. Правда, была загвоздка: большинство людей тогда гоняли на MSDOS. Но вот код к ней публиковать было нельзя: эта версия использовала платные звуковые библиотеки DMX. Так что Кармак выпустил то, что мог - исходники порта на Linux. Но фанатам этого хватило.

Они меньше чем за год выкатили обратный порт на DOS, а библиотеку DMX заменили на открытую Allegro. Началась Эра портирования Дум энтузиастами. И тут сразу оказалось, что в мире есть люди гениальные Камарка. За считанные месяцы фанаты выгребли из игры гору ошибок и багов, типа застревающие в дверях демонов.

А главное, люди начали делать за Кармак и его же работу. В самом начале ID Software сами вручную писали порты на все существенные тогда платформы. Была пара редких исключений, когда привлекали подрядчиков. Например, порт на СНЕ сделала студия Sculptured Software в девяносто шестом году. С момента открытия кода этим стали заниматься фанаты.

Они хотели, чтобы в это могли поиграть все. И пофиг на чём. Но для полной свободы оставалось последнее [аплодисменты] [музыка] ограничение. Код игры, хоть и был опубликован, но доступ всё равно не был полностью свободным из-за лицензии. Она позволяла брать и сношать. Это в самом деле вытекало намного больше проблем. Например, моддер работал над портом игры, затем дал его погонять другу, а тот вдруг решил продавать.

В таком случае Товарищ Майор придёт к обоим и будет доказывать, мол, справляетесь с демонами, справитесь и с бутылкой. Поэтому распространять такое тоже не стоило. Но всё изменилось в девяносто восьмом году. Из-за криворук одного фаната, Брюса Льюиса, который работал над портом под названием Doom, чтобы добавить туда возможность рендеринга с помощью OPL, очередную версию так и назвали G Doom.

Спустя полгода упорного труда Брюс похерил сеньором. Во-вторых, что людям мешает действующая лицензия? Если бы не она, то Брюс мог бы тупо опубликовать файлы в интернете и потом спокойно скачать их назад. Поэтому 3 октября девяносто девятого года появился четвёртый ключ к секрету м.

Кармак лично изменил лицензию игры на GNU General Public License, то есть с того дня код Дум полностью принадлежал общественности и [музыка] понеслась. Вскоре создатели платформ уже не успевали за портами м, а фанатам стало мало простых консолей и ПК. Так зародилась культура м, идёт на всём, или сокращённо - дрое.

По её концепции для запуска Doom нужны хотя бы процессор или экран. Всё остальное можно делать на подключённом внешнем железе. Но адепты согласились, что подключить к советскому калькулятору современной Notes RTX 4070 - это слишком просто и нифига не трушно.

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

Благо, мы помним, что код там чиловый, и проблем рукастых с этим нет. Например, Doom для Android вообще написан на Unity. Первые сумасшедшие порты пришлись уже на расцвет интернета. Например, в 2006 году чел опубликовал на YouTube видео, как играют в Дум на осциллографе. Коммьюнити по всему миру быстро узнало про такие эксперименты, и это стало трендом.

Но главное, чем необычнее, тем круче. Например, я уже рассказывал, что для Super NES был официальный порт. Профессиональная студия сделала это с огромным трудом. А как насчёт обычной NES? Она же Dendy, более известная. У нас вот туда порт был действительно технически невозможен. У этого динозавра всего 2 КБ оперативки и проц на 1,79 МГц.

Но нашёлся сумасшедший, который такой: "Подержи мою бензопилу". Автор припаял к оригинальному картриджу от приставки плату Raspberry Pi. Это одноплатный микрокомпьютер. Для, впрочем, [ __ ] Для чего? Самое известное - на нём делают программируемые калькуляторы.

И в итоге получается, что Doom работает в картридже, а приставка просто вводит изображение на экран. А один американец выяснил, что из картошки можно получить не только фри, но и электричество. Так что он запустил Дум на калькуляторе, запитав того от 700 картофелин, соединённых в одну цепь.

Самый свежий сумасшедший порт - аспирантка факультета Биоинженерии запустила Дум на кишечных бактериях. Она составила монохромный одно битный экран из бактерий. Они могут светиться, что маньячка, и использовала. Правда, FPS там маловато - один кадр за 8 с по часов примерно, но полное прохождение игры уйдёт меньше 600 лет.

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

Первая - игра очень лёгкая, хорошо оптимизирована, просто примитивная по геймплею. Вторая - он написан на языке C. Большинство современных систем используют доступ к компиляторам C, потому что они написаны на C++ или Objective C. А там отличная обратная совместимость. Многие языки поддерживают включение кода C через свою оболочку, например Java.

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

Четвёртое - Кармак подарил Дум людям. Изменил лицензию на свободную, больше свободы, больше распространения, больше вариаций и больше портов. Ну и осталась пятая причина - популярность и фанатская любовь. Именно фанаты своими портами позволили людям с любых устройств попробовать этот шутер.

Это они своими сумасшедшими идеями сделали дрое популярным трендом. Новости о новых портах интересуют даже тех, кто вообще в Дум никогда в жизни не играл. А причины такой любви понятны: Дум был одним из первых шутеров. Тогда таких ещё не делали, подражатели пойдут сильно позже, а до тех пор у людей не было выбора.

И они кайфовали от того, что в игру заложил Джон Ромеро: мрачный стиль, зубодробительный геймплей, демоны разлетаются в фарш и труп в по колено. Даже сегодня нам присмися всеми этими AA проектами. Ничего другого и не надо, чтобы кайфануть после тяжёлого дня. [ __ ] мать твою! А ну иди сюда, [ __ ] собачье! Ты решил ко мне лезть, ты [ __ ] вонючий, мать твою!

More Articles

View All
The past tense | The parts of speech | Grammar | Khan Academy
Hello friends and welcome to the distant past! Because today we’re talking about the past tense, which refers to stuff that has already happened. There are many ways to form the past tense, but for right now, I just want to focus on the basic version, wh…
Is Glass a Liquid?
In 1994, a massive earthquake shook the Northridge suburb of Los Angeles, killing 57 people and injuring over 5000. The cost of damages was in excess of $20 billion. It’s earthquakes like this one that make us question just how solid is the earth beneath …
Charlie Munger SELLS 50% of Alibaba Stock!
Well, big news, guys! I just got back from Melbourne. I’m extremely tired, but Charlie Munger just halved his position in Alibaba. He’s always very quick to release the 13F filings right after the quarter ends, and he has done so once again. So, it showe…
Plessy v. Ferguson | The Gilded Age (1865-1898) | US history | Khan Academy
Long before Rosa Parks refused to move to the back of the bus, Homer Plessy boarded a train car in New Orleans to protest Jim Crow segregation laws. Plessy was arrested and convicted in Louisiana, but his test case for segregated public transportation rea…
I See Dead People | Explorer
I’ve traveled to the remote Highlands of Sui Indonesia to witness the unusual customs of the people of Taja, who mix Christianity with ancient religious beliefs. Thank you for having me a part of this. Okay, thank you. I just came to visit. I just came t…
How to Take YOUR Business from Good to GREAT | Ask Mr. Wonderful #4 Kevin O'Leary
Chris Brown decided, “I’ve got a love album the same exact day that mine come out,” because you could do. “I hate it when guys do this! Really?” “Hey, Mr. Wonderful here and this is another episode of Ask Mr. Wonderful. Now what I like about this is no-…