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

23.08.2018     

Игровой турнир 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 10 23.08.18 14:21 Сейчас в теме
А мы играли в школе в начале нулевых по сети в quake, когда уходил учитель.
Это были лучшее время на уроках информатики! Всё, что нужно было пройти на уроке мы делали дома.
3. kzotiks 23.08.18 15:21 Сейчас в теме
Первая "сетевая" у меня была игра Netwars по com портам, а потом уже и другие пошли с ipх протоколами через коаксиальный.
4. roman77 163 23.08.18 17:34 Сейчас в теме
А я и сейчас в Q3 Excessiveplus поигрываю. Сервер до сих пор работает. Где-то с 20:30 до 22:00 на отдельных серверах собирается интернациональная общественность.
5. KEV8383 20 24.08.18 15:52 Сейчас в теме
Играл Quake и в Quake2 но потом перешел на StarCraft )))
6. ipoloskov 138 24.08.18 16:00 Сейчас в теме
Протянули локальную сеть в общаге, чтобы играть мультиплеер
Оставьте свое сообщение

См. также

Масштабное обновление Trello: пять новых видов досок и интеграция с Google Docs

Новость ИТ-новость Новости компаний

Компания Atlassian выпустила масштабное обновление сервиса управления проектами Trello. Разработчики изменили дизайн, добавили пять новых видов досок и реализовали для карточек возможность отображать информацию из сторонних сервисов.

вчера в 17:22    2134    user1015646    0       

Видеоигра на базе нейросетевого генератора текстов стала бизнес-консультантом

Новость Видеоигры Искусственный интеллект ИТ-новость

Энтузиаст использовал возможности текстового квеста, генерирующего разнообразные миры при помощи нейросети GPT-3, чтобы получать советы по ведению бизнеса. Часть идей ИИ оказалась пригодной для использования.

вчера в 13:41    1530    VKuser24342747    0       

В ближайшие годы возрастет потребность в персонале центров обработки данных

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

Согласно отчету Uptime Institute, количество сотрудников, необходимых для обеспечения работы ЦОД, вырастет с 2 млн. в 2019 году до 2,3 млн. в 2025 году.

24.02.2021    1796    SKravchenko    0       

Google кардинально изменит дизайн Android 12

Новость Android Google ИТ-новость Мобильные приложения Новости компаний

Компания Google анонсировала глобальное обновление популярной операционной системы Android. Новая версия выйдет под номером 12. Говорят, что Android 12 назовут «Snow cone» – летний десерт из сладкого колотого льда.

24.02.2021    2054    mouse187    0       

Google представила новый сервис для поиска уязвимостей в открытом ПО

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

Компания Google запустила платформу с открытым исходным кодом OSV (Open Source Vulnerabilities). Она создана для поиска и закрытия уязвимостей в свободном ПО.

18.02.2021    1277    user1015646    0       

Отечественная компания представила сервер приложений Java EE

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

Российская компания Bellsoft представила отечественный аналог сервера Oracle и IBM для JavaEE. Раньше продукт на базе открытого кода был доступен только для некоторых клиентов организации.

17.02.2021    2333    VKuser24342747    4       

Rustоманы из Долины: Google, Microsoft, Huawei, Mozilla и AWS основали фонд поддержки языка программирования

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

Rust – перспективный язык, который широко применяется в разработке операционных систем и высоконагруженных веб-сервисов. Rust Foundation будет заниматься поддержкой и развитием языка.

16.02.2021    1577    user1015646    0       

В Microsoft Teams появилась платформа для общения и обучения

Новость Интернет ИТ-новость Мессенджеры Новости компаний

Microsoft добавила новые функции в корпоративный мессенджер Teams. В подключенной к нему платформе Viva можно пройти обучение, пообщаться с коллегами или улучшить организацию работы.

15.02.2021    3146    user1015646    0       

Google рассказала, как защищает Android от взломов

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

Google опубликовала информацию о том, как компания пытается улучшить безопасность Android, и какие шаги предпринимаются для борьбы с распространенными угрозами. Отчеты об уязвимостях играют в этом значительную роль.

12.02.2021    1867    SKravchenko    0       

Для регионов разработают приложение онлайн-записи на прием к врачам

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

О возможностях приложения рассказали в Минздраве и Минцифре.

10.02.2021    1654    Senator_I    2       

Google разработает новую мобильную ОС

Новость MobileOS Google ИТ-новость Мобильные приложения

Корпорация Google создаст мобильную операционную систему для повышения безопасности использования устройств. Проект запущен под рабочим названием microdroid.

09.02.2021    2100    user1015646    0       

Google закрывает собственную игровую студию Stadia

Новость Google Видеоигры ИТ-новость Новости компаний

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

09.02.2021    1430    SKravchenko    0       

Google представила технологию для замены cookies

Новость Google Интернет ИТ-новость

Методы сбора файлов cookies для повышения точности подбора рекламы не раз упрекали в нарушении личного пространства пользователей. Компания Google представила технологию, которая позволит отказаться от cookies и повысить уровень конфиденциальности.

09.02.2021    1224    user1015646    0       

Украинская команда FireWay одержала победу в хакатоне NASA Space Apps Challenge 2020

Новость ИТ-новость Стартапы

Украинская команда FireWay из Днепра стала победителем международного хакатона NASA Space Apps Challenge. Их изобретение было описано как «решение, которое демонстрирует наиболее инновационное использование технологии».

05.02.2021    1896    SKravchenko    2       

Китайцы разработали целых две альтернативы Flash

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

Китайцам пришлось разработать собственную технологию ReFla взамен Flash для предотвращения сбоев в работе систем. Также они выпустили доработанную версию Flash Player с кодом 34.0.0.92.

04.02.2021    2010    mouse187    4       

Популярные дистрибутивы Linux могут лишиться поддержки Chromium

Новость Linux Google Интернет ИТ-новость

Из дистрибутивов Arch Linux, Fedora, Debian, Slackware и openSUSE может исчезнуть поддержка браузеров на движке Chromium. Причина – жесткие правила Google, из-за которых возникли проблемы с синхронизацией данных.

03.02.2021    2323    user1015646    3       

Microsoft участвует в разработке цифрового паспорта вакцинации от Covid-19

Новость ИТ-новость Медицина

Крупнейшие корпорации из сектора здравоохранения и ИТ-гиганты, такие как Microsoft, Salesforce и другие, объединились для создания цифровых идентификационных карт, которые подтверждают статус вакцинации против Covid-19.

02.02.2021    1713    capitan    3       

Что нового в Chrome 88: проверка надежности паролей и поддержка профилей

Новость Google Интернет ИТ-новость

Компания Google представила новый релиз браузера Chrome и обновила движок Chromium. Теперь ПО будет предупреждать о небезопасных паролях, а пользователь сможет создать привязанный к учетной записи профиль для персонализации работы в сети.

01.02.2021    2167    user1015646    0       

280 символов для науки: Twitter откроет доступ ученым к архиву твитов

Новость ИТ-новость Соцсети

Twitter предоставит академическим исследователям социальных сетей бесплатный доступ почти ко всем твитам. Исключение площадка сделает только для заблокированных аккаунтов.

29.01.2021    1452    VKuser24342747    1       

Отключение Flash на сутки лишило город железнодорожных служб

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

Прекращение поддержки Flash парализовало работу железнодорожной сети китайского города-миллионника. Организация проигнорировала предупреждения Adobe о грядущем отключении технологии.

29.01.2021    1809    VKuser24342747    1       

Amazon представил форк Elasticsearch с открытым исходным кодом

Новость ИТ-новость Новости компаний Облачные технологии

Компания Amazon намерена развивать собственную версию решения для поиска, хранения и анализа данных Elasticsearch. Форк можно будет использовать в проектах с открытым исходным кодом.

28.01.2021    2229    user1015646    0       

Наниматели назвали самые востребованные языки программирования

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

Компания по обучению программистов CodinGame составила рейтинг самых востребованных языков программирования среди нанимателей. Для этого организация опросила 15 тыс. разработчиков и менеджеров по персоналу.

27.01.2021    2426    SKravchenko    1       

Вышел новый мировой стандарт Wi-Fi 6E. В России он не доступен

Новость ИТ-новость Телекоммуникации

В мире стартовало лицензирование и распространение устройств для работы с новым стандартом беспроводных сетей Wi-Fi 6E. В России стандарт не будет поддерживаться, поскольку частота в 6 ГГц уже занята.

26.01.2021    2014    user-programmist    2       

CES 2021: главные анонсы первой технологической выставки года

Новость Инновации ИТ-новость Микроэлектроника

CES (Consumer Electronics Show) в Лас-Вегасе традиционно открывает год на мировом рынке технологий. Из-за ограничений, связанных с пандемией, выставку провели онлайн, но это не помешало производителям представить интересные новинки.

25.01.2021    2488    user1015646    2       

Представлен GitLab 13.7: автооткат при сбоях и улучшенная проверка мердж-реквестов

Новость git Автоматизация ИТ-новость Новости компаний

Компания GitLab выпустила новый релиз платформы для работы с Git-репозиториями. В GitLab 13.7 добавили 45 новых функций, в том числе автоматический откат при сбоях и инструмент проверяющих для запросов на слияние.

22.01.2021    2339    user1015646    0