История, рассказанная в играх: как начинался Doom

23.08.2018      17386

Игровой турнир QuakeCon-2018 в Далласе порадовал игроманов трейлером нового шутера Doom:Eternal от id Software. Вспоминаем, с чего начинался путь компании-разработчика компьютерных игр к знаменитой «стрелялке».

Id Software первой реализовала эффект присутствия для игроков, дорисовав руку персонажа в нижней части экрана. Их самыми успешными проектами являются Wolfenstein, Doom и Quake, которые отражают историю развития игровой графики. Локализацией и адаптацией Wolfenstein RPG и Enemy Territory: Quake в России занималась компания «1С-СофтКлаб».

Серия Commander Keen

Первая часть сайд-скроллера Commander Keen вышла в 1990 году, тираж составил 30 тысяч копий.

Сайд-скроллер — видеоигра, в которой игровой процесс происходит с боковой точки зрения. На экране объекты как правило движутся слева направо.

Для ее создания разработчики придумали, как не перерисовывать весь фон в каждом кадре игры, чтобы не замедлять ее работу. В id Software заметили, что движение игрока происходит постепенно, поэтому кадр смещается незначительно и включает уже отрисованное изображение.

 

Принцип работы движка для Commander Keen

 

Во время создания игры Commander Keen в видеопамяти сохранили фон из отдельных графических объектов – тайлов, но на экран выводили только его часть. Когда игрок перемещался, вместе с ним смещалась граница фона, включая в себя ранее «спрятанные» тайлы. Даже когда персонаж приближался к внешней стороне границы, движок добавлял только небольшую полоску новых тайлов, но большая часть изображения копировалась, оставаясь неизменной.

Разработчикам помогли в этом и особенности тогда новой графической карты Enhanced Graphics Adapter (EGA). Она обладала большей встроенной памятью, указывая на различные адреса которой карта могла «выбирать» изображение для передачи и оперативно перемещать данные внутри видеопамяти. Так решалась проблема прерывистой и низкоскоростной графики.

Wolfenstein 3D

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

Один из основателей id Software Джон Кармак создал программу, которая будет рисовать только трапеции: именно такую форму имеют стены в трехмерном пространстве. Кроме того, он упростил систему трассировки лучей. При трассировке лучей компьютер отрисовывает сцены, проводя разноцветные линии из точки местонахождения игрока в направлении его взгляда. Когда линия сталкивается с поверхностью, соответствующий ей пиксель на экране окрашивается в нужный цвет.

Упрощенный принцип трассировки лучей id Software

 

Но таких линий нужно очень много. Чтобы упростить задачу, Кармак сделал все стены в трехмерном пространстве одной высоты. Это уменьшило количество линий, необходимых для трассировки, поскольку теперь они испускались только в горизонтальной плоскости и масштабировали видимую высоту стены согласно ее удаленности от игрока. Конечное изображение получалось в 3D, но требовало для этого гораздо меньше «усилий» со стороны игрового движка.

Игра стала настолько быстрой, что Intel, желая подчеркнуть скорость нового процессора, демонстрировали его работу на примере Wolfenstein. Игроки же получили приятные бонусы, и смогли дополнять Wolfenstein собственными уровнями и графикой.

Doom

Бесплатная версия игры Doom появилась на ftp-сервере университета Висконсина. Она включала только один эпизод, но он обещал игрокам непрерывный экшен и динамичные уровни. Особенно искушенных игроманов привлекали арсеналом необычного оружия и мрачной атмосферой.

Специально для Doom специалисты id Software разработали псевдотрехмерный игровой движок – id Tech 1 или Doom engine. От движка для Wolfenstein 3D он отличается целым рядом параметров. В игре отрисовали тени: отдаленные объекты затемнялись, а приближенные были ярче, чтобы создать атмосферу погружения. В Wolfenstein таких цветовых вариантов не было. Появились движущиеся элементы обстановки: лифты, дистанционно открывающиеся двери и потолки, придавливающие персонажа игры. Самому главному герою добавили правдоподобности: во время перемещения он покачивался вверх-вниз, имитируя ходьбу.

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

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

Релиз игры состоялся в декабре 1993 года, а второй части – в октябре 1994 года. В сиквеле культовой игры геймеры получили больше оружия, новые уровни (игра насчитывает 30 уровней), но движок остался прежним. Id Software продала 1,5 млн копий Doom II, по 50 долларов за каждую.

 

Кадр из игры Doom 1996


Quake

Релиз Quake состоялся в 1996 году. Игра по сюжету схожа с Doom: безымянный солдат продолжает воевать с монстрами, попадает на территорию врага и борется с ними там. Игроки проходят уровни, разыскивают ключи, собирают аптечки и боеприпасы.

Но при этом создатели игры обратились к передовым графическим технологиям, использовав для Quake трехмерный движок Quake engine. Разработка команды id Software стала одним из первых движков, который способен в реальном времени полностью обрабатывать 3D-графику. Для этого движок использует систему BSP-деревьев, которая сортирует визуальные объекты в порядке их удаления от наблюдателя и обнаруживает пересечение между собой двух или более объектов. 

BSP (binary space partitioning) – двоичное разбиение пространства, способ разделения области на более мелкие части. Система стала популярной среди разработчиков после того, как ее использовали в играх Doom (для двухмерной графики) и Quake (для трехмерной).

Id Software поощряла желание геймеров самостоятельно изменять игру. Архитектура Quake создана открытой, чтобы разработчики могли вносить модификации, некоторые из которых меняли игру до неузнаваемости, вплоть до локаций и персонажей. 

Quake II 

Quake II вышел в декабре 1997 года. Специально для игры Джон Кармак разработал отдельный движок: id Tech 2 – дальнейшее развитие Quake engine. От предыдущей версии ему достались наработки: Quake World (многопользовательский компонент) и WinQuake, адаптировавшая игру под Windows 95.

В id Tech 2 впервые реализовали поддержку ускорителей графики OpenGL: на базовом уровне это документ, который описывает набор функций и их точное поведение. Но при реализации спецификация призвана оптимизировать работу и эффективнее использовать возможности оборудования. Но поддержку ускорителей включили лишь для нескольких видеокарт: 3dfx Voodoo, nVidia RIVA TNT, ATI RagePro.

Кроме того, id Software почти одновременно с релизом игры издала исходный код библиотеки игры. Это позволило модифицировать игру сторонним авторам. Закрытым создатели оставили исходный код клиентской части и серверного ядра, чтобы нельзя было добавить, например, графические эффекты. 

Разработчики модификаций остались недовольны: оказался недоступен режим просмотра глазами другого игрока. Проблему решили спустя несколько лет в Quake III, добавив дополнительную клиентскую библиотеку игры. Ее исходный код оставался открытым вместе с серверной библиотекой. 

Несмотря на сходство оружия и обстановки, назвать игру продолжением Quake нельзя: враги и сюжетная линия в Quake II другие. Изначально разработчики планировали дать шутеру другое название, но все выбранные варианты оказались заняты. 

 

Кадр из игры Quake 1993

 

Quake III 

В 1999 году разработчики id Software смогли развернуть сетевой потенциал игры вовсю мощь. В игре Quake III Arena игроки сосредоточены на сетевых схватках. Современный по меркам того времени движок id Tech 3 позволял модифицировать игру: прежде всего, геймерам упростили проведение чемпионатов. 

Для этой игры Кармак написал движок id Tech 3: он не базируется на предыдущей версии. Спустя несколько лет коммерческого использования разработчики открыли исходный код id Tech 3, как делали это для предыдущих движков.

Новинкой в id Tech 3 стало использование трехмерных моделей формата MD3. Этот формат использует вертексную анимацию, которая позволяет записывать любые изменения геометрии трехмерного объекта. Персонажи в MD3 состоят из нескольких скрепленных друг с другом частей, двигающихся независимо друг от друга. Тогда как предыдущие движки id Software использовали скелетную анимацию, когда в древообразной структуре костей персонажа каждая последующая кость повторяет движения и повороты предыдущей.

Движок id Tech 3 может работать с несколькими видами теней: самой простой – капельной тенью, непрозрачной черной с резкими краями и полупрозрачной. В зависимости от того, как освещается объект.

В 2000 году компания выпустила официальное дополнение к игре, куда добавила новые виды оружия и модели. Но ожидаемой популярности новинка не получила: id Software запоздала с модификациями, за это время в игре прижились моды сторонних разработчиков.

Джон Кармак говорит о многолетней работе id Software над играми так: «На этом пути были критически важные точки развития. Сначала переход к виду от первого лица, потом произвольные 3D-миры, затем — аппаратное ускорение… Но с важнейшими задачами мы справились. Мы можем усовершенствовать качество, спецэффекты и всё подобное. Но у нас уже есть фундаментальные инструменты, необходимые для создания игр, являющихся симуляцией мира».

Продолжение следует. 


Автор:
Обозреватель


В какую из этих игр вы играли?


Quake III (78.57%, 55 голосов)
78.57%
Doom II (60%, 42 голосов)
60%
Quake II (54.29%, 38 голосов)
54.29%
Quake (45.71%, 32 голосов)
45.71%
Doom III (45.71%, 32 голосов)
45.71%
Doom (1993) (42.86%, 30 голосов)
42.86%
Wolfenstein 3D (35.71%, 25 голосов)
35.71%
Doom (2016) (25.71%, 18 голосов)
25.71%
Commander Keen (1.43%, 1 голосов)
1.43%

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. user774630 23.08.18 13:25 Сейчас в теме
Активно играл в первый Quake несколько лет (98-00 гг.) И спустя годы считаю, что лучше бы я программирование изучал :)
Jestery; dunpil; mavom; DmitryKSL; Interrupted; ccserg; товарищ Ын; dimisa; NataLisa; DarkUser; Sartinsky; awk; Kochergov; SKravchenko; CyberCerber; +15 Ответить
2. rujiy_kot 11 23.08.18 14:21 Сейчас в теме
А мы играли в школе в начале нулевых по сети в quake, когда уходил учитель.
Это были лучшее время на уроках информатики! Всё, что нужно было пройти на уроке мы делали дома.
3. kzotiks 23.08.18 15:21 Сейчас в теме
Первая "сетевая" у меня была игра Netwars по com портам, а потом уже и другие пошли с ipх протоколами через коаксиальный.
4. roman77 263 23.08.18 17:34 Сейчас в теме
А я и сейчас в Q3 Excessiveplus поигрываю. Сервер до сих пор работает. Где-то с 20:30 до 22:00 на отдельных серверах собирается интернациональная общественность.
5. KEV8383 20 24.08.18 15:52 Сейчас в теме
Играл Quake и в Quake2 но потом перешел на StarCraft )))
6. ipoloskov 159 24.08.18 16:00 Сейчас в теме
Протянули локальную сеть в общаге, чтобы играть мультиплеер
7. пользователь 25.08.18 09:05
Сообщение было скрыто модератором.
...
Оставьте свое сообщение

См. также

Утвержден перечень случаев, в которых запрещено и разрешено использовать биометрию

Новость Законодательство ИТ-новость

Правительство опубликовало постановление, в котором перечислены случаи запрета и разрешения аутентификации по биометрическим данным. Изменения вступают в силу с 1 июня 2023 года.

сегодня в 10:00    3253    VKuser24342747    0       

1

За нарушение частичного запрета на использование иностранных мессенджеров будут штрафовать

Новость Законодательство ИТ-новость Мессенджеры

Государственные и финансовые организации могут получить штраф до 700 тыс. руб. за использование иностранных мессенджеров, использование которых частично запрещено.

16.05.2023    5236    user1915669    1       

1

GitHub тестирует систему создания правил для защиты веток в репозиториях

Новость GitHub ИТ-новость

GitHub запустил публичный бета-тест функции, которая позволяет владельцам репозиториев создавать наборы правил для защиты своих проектов от изменений и поддержания порядка в ветках.

20.04.2023    10698    VKuser24342747    1       

1

Техника на отечественных процессорах получит приоритет при госзакупках

Новость Импортозамещение ИТ-новость

Правительство подготовило постановление, которое даст электронике с российскими процессорами наивысший приоритет при госзакупках. Документ вступает в силу с 20 апреля 2023 года.

04.04.2023    6006    VKuser24342747    0       

1

ФНС заявила, что приложение «Мой налог» готово к интеграции бесконтактной оплаты

Новость Мобильные приложения Налоги Самозанятые ФНС

Федеральная налоговая служба рассказала, что готова к интеграции в приложение «Мой налог» функции бесконтактной оплаты. С ее помощью самозанятые смогут принимать платежи через смартфон, как через банковский терминал.

29.03.2023    5893    VKuser24342747    0       

2

Центробанк назначил оператора единой автоматизированной системы страхования

Новость Страхование ИТ-новость

3 марта 2023 года Центробанк принял решение об учреждении АО «Национальная страховая информационная система».

20.03.2023    4642    user1915009    1       

1

GitHub открыл доступ к сервису для проверки безопасности репозиториев

Новость GitHub ИТ-новость

Бесплатный сервис GitHub для проверки безопасности репозиториев позволяет защитить публичные проекты от утечки конфиденциальных данных. Ранее эта услуга была доступна только владельцам лицензии на GitHub Advanced Security, работающие в облаке GitHub Enterprise Cloud.

07.03.2023    16305    VKuser24342747    1       

1

Минпромторг подготовил план перехода объектов КИИ на российское ПО

Новость Импортозамещение ИТ-новость

В проекте документа ведомство предлагает поэтапное внедрение отечественных разработок в госкомпаниях и промышленных предприятиях. Полный переход намечен на 2024 год.

20.02.2023    7674    VKuser24342747    0       

3

Магазин приложений RuStore объявил о завершении бета-теста

Новость Импортозамещение ИТ-новость Минцифры

В релизной версии маркетплейса стала доступна консоль разработчика на английском языке. Загружать приложения в магазин станет проще для иностранных издателей.

16.02.2023    6716    VKuser24342747    3       

1

СУБД Postgres Pro Enterprise начала поддерживать быструю миграцию с Oracle

Новость ИТ-новость Разработка

Релиз российской системы включает все возможности открытой PostgreSQL 15 и облегченной версии СУБД компании — Postgres Pro Standard 15, а также функцию маскировки данных для их конфиденциальной передачи и улучшенное резервное копирование.

10.02.2023    8725    VKuser24342747    2       

1

«Сбер» начнет использовать российские TLS-сертификаты для платежного шлюза

Новость Безопасность ИТ-новость Минцифры

Банк запланировал переход на сертификаты, выпущенные Национальным удостоверяющим центром (НУЦ) Минцифры, на 30 января 2023 года. Клиентам необходимо добавить на свои серверы корневой сертификат ведомства.

30.01.2023    7351    VKuser24342747    1       

2

Минцифры подготовило правила отказа от передачи биометрических данных

Новость ИТ-новость Минцифры

Гражданин имеет право отказаться от сбора и распространения своих биометрических данных. Отказ можно оформить в МФЦ только при личном присутствии.

24.01.2023    6856    VKuser24342747    0       

1

Банки смогут получить право на передоверие полномочий по электронной подписи

Новость ИТ-новость Цифровая подпись Цифровая экономика

Комитет Госдумы рекомендует принять соответствующий законопроект. Документ позволит компаниям финансового сектора использовать электронную подпись наравне с другими организациями.

20.01.2023    5126    VKuser24342747    0       

1

«ВКонтакте» начал поддерживать получение уведомлений от Госуслуг

Новость Госуслуги ИТ-новость Мессенджеры Налоги

Оповещения с Единого портала госуслуг будут отображаться в Вконтакте и приложении «VK Мессенджер». Кроме того, стала доступна оплата штрафов ГИБДД прямо в VK.

19.01.2023    6136    VKuser24342747    0       

1

Минцифры подготовило правила аккредитации госорганов на владение информсистемами для биометрии

Новость Законодательство ИТ-новость Минцифры

Проект постановления содержит требования к Цетробанку и госорганам, а также к сторонним организациям, которые будут привлекаться ведомствами в качестве операторов. Требования согласованы с ФСБ.

19.01.2023    5694    VKuser24342747    0       

1

Утвержден профстандарт специалиста по информационной безопасности

Новость Безопасность ИТ-новость

Новый профстандарт вступит в силу 1 сентября 2023 года. А пока у работодателей в кредитно-финансовой сфере есть время проанализировать трудовой функционал специалистов по ИБ и при необходимости уточнить его.

17.01.2023    8149    user1816563    0       

2

Национальная система пространственных данных начала работу в России

Новость ИТ-новость Цифровая экономика

Пилотный проект по запуску цифровой платформы стартовал в четырех регионах РФ. При помощи системы можно получать актуальные данные о земле и недвижимости, пользоваться электронными сервисами.

12.01.2023    8100    VKuser24342747    0       

3

Госдума рассмотрит законопроект о цифровом рубле

Новость Законодательство ИТ-новость Цифровая экономика

Документ определяет выпуск и обращение цифрового рубля на территории России, назначает оператора нового платежного средства и его полномочия и обязанности по сохранности денег пользователей.

11.01.2023    8836    VKuser24342747    2       

2

Оператором Единой биометрической системы стал «Центр Биометрических Технологий»

Новость ИТ-новость

Ранее за работу платформы отвечал «Ростелеком». На «Центр Биометрических Технологий» возложены задачи по развитию в России цифровых технологий идентификации и аутентификации, в том числе на основе биометрических персональных данных.

22.12.2022    6748    VKuser24342747    2       

1

GitHub бесплатно проверит репозитории на наличие секретных токенов

Новость GitHub Безопасность ИТ-новость

ИТ-хостинг запустил систему сканирования общедоступных репозиториев, чтобы предотвратить случайное раскрытие конфиденциальной информации, такой как учетные данные и токены аутентификации.

22.12.2022    8267    VKuser24342747    1       

1

GitHub к концу 2023 года введет обязательную двухфакторную аутентификацию

Новость GitHub Безопасность ИТ-новость

Веб-хостинг потребует от всех пользователей, загружающих код, включить двухфакторную аутентификацию (2FA) для дополнительной защиты своих аккаунтов.

21.12.2022    7639    VKuser24342747    0       

1

Госдума рассмотрит законопроект о провайдере для госсайтов

Новость Государственные, бюджетные структуры Законодательство ИТ-новость

Документ предусматривает запрет на размещение государственных информационных ресурсов на хостингах, не включенных в специальный реестр. Сейчас около 20% ресурсов госорганов размещены на иностранных площадках.

20.12.2022    6552    VKuser24342747    1       

1

«Яндекс» открыл доступ к фреймворку Yatagan для сборки Android-приложений

Новость ИТ-новость Яндекс Разработка

Инструмент свободно распространяется через GitHub. Перед публикацией в открытом доступе фреймворк долгое время применялся во внутренних проектах компании. Решение основано на API Dagger.

16.12.2022    9061    VKuser24342747    1       

3

В России появится национальная издательская система вместо иностранных аналогов

Новость Импортозамещение ИТ-новость

Программный комплекс будет создан на базе существующего отечественного решения Axiocat. Сейчас это приложение не внесено в Единый реестр российского ПО, хотя применяется некоторыми компаниями.

15.12.2022    6142    VKuser24342747    0       

1

Google рассказала о проблемах и преимуществах поддержки разработки на Rust в Android 13

Новость Google ИТ-новость Языки программирования

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

14.12.2022    6757    VKuser24342747    0       

3