От векторов до Decima. Ретроспектива игровых движков. Часть 1

Графический движок - это база, фундамент, сердце будущего проекта. Пламенный мотор, заставляющий все составные части работать слаженно и складываться в единое целое. В компьютерную или видеоигру, в готовое произведение, предстающее во всей красе перед игроком. С точки зрения использования технологий все едины: от крупнобюджетных проектов, вроде опусов ХидеоКодзимы или Дэвида Кейджа, до камерных сатирических игр ВинсаДези или Американа МакГи.
Скоро грядет новое консольное поколение с еще более красивыми мирами, детализированными персонажами и разнообразными приключениями. Отличный повод вспомнить, как все начиналось, развивалось, изменялось и мутировало. Как и благодаря кому зеленые векторы превратились в спрайты, затем в полигоны а уже из них сложились миры, по красоте не уступающие голливудским фильмам, стать частью которых не против даже передовые актеры вроде Джона Бернтала или МадсаМиккельсена.
Перекопав интернет и личные архивы, вкупе с кучей старых игровых журналов, как отечественных, так и зарубежных, я извлек прорву информации о игровых движках. Решил осветить все основные крупные детали этого витиеватого, сложного орнамента, сотканного годами развития игровой индустрии.
Результаты исследования я собрал в данном тексте, охватывающем времена от векторных танков, до многокилометровых миров современных ААА проектов.

image001.png

Векторы

В 1961 году вышла одна из первых видеоигр в реальном времени Spacewar! созданная студентами с помощью векторов. Спустя двадцать лет почти ничего не изменилось и даже в восьмидесятых, во времена Battlezone и Elite, игры делались из векторов. Все еще не было конкретных движков. Для отрисовки графики разработчики использовали проверенный векторный метод. Линии проходили из точки А в точку Б а уже из них собирали геометрические фигуры в разных сочетаниях, получая своего рода танки и угловатые космические корабли. Данный способ построения картинки лишь тормозил индустрию – работа с векторами не требовала мощного железа, компании не стремились улучшать имеющиеся комплектующие и биться друг с другом за мощности и кошельки покупателей. Так же это практически на нет сводило работу художников и дизайнеров, ведь в итоге всей графикой занимались программисты, пишущие на «Бейсике». Позже, с появлением дискретных чипов и улучшенных графических адаптеров, добавлявших целых 16 цветов, работа художников стала более востребованной.

image003.jpg

AdventureGameInterpreter (AGI)

Во времена квестового бума восьмидесятых супруги Уильямс и их компания SierraOn-Line были на коне. Для своих двухмерных квестов, ставших визитной карточкой студии, они использовали AGI написанный ЭломЛоу (отец LeisureSuitLarry) – на тот момент это было лучшее, на чем можно было делать игры. Движок понимал команды как в старинных текстовых RPG и мог выдавать картинку со слоями, где персонажа на экране могли закрывать различные предметы. Героем можно было управлять с клавиатуры и мыши (в поздних версиях) а разрешение картинки достигало целых 160х200 пикселей! Так же AGI стал первым мультиплатформенным движком в истории индустрии, благодаря чему великая King`sQuest вышла на восьми платформах и продалась полумиллионным тиражом, что для тех лет было неслыханно. Схожий успех ждал серию SpaceQuest, что открыло путь целой ватаге продолжений.
Уильямсы не стали останавливаться на достигнутом и решили развивать идеи Лоу, представив преемника AGI – Sierra`sCreativeInterpreter. Мотор оказался намного требовательнее к системам в силу возросших мощностей. Например, разработчики подняли разрешение до 320х200 пикселей с 256 цветовой палитрой, новым звуком, расширенным скриптовым языком и управлением, полностью прикрепленным к мыши. SCI стал продвинутой альтернативой движку SCUMM от LucasfilmGames и продержался на рынке около десяти лет. В 1997 надвижке вышла последняя игра – хоррор Shivers 2.

image005.jpg

Script Creation Utility for Maniac Mansion (SCUMM)

Игровая студия имени того самого Джорджа Лукаса, отца далекой-далекой галактики, подходила к созданию своих квестов экспериментально и с юмором. Для их нового проекта, ManiacMansion было решено написать свою версию интерпретатора языка программирования, да такую, что было бы не стыдно потом использовать в других играх. Так появился SCUMM – движок, в котором можно было рисовать локации, писать нелинейные диалоги и размещать активные предметы и другие элементы пиксельхантинга вообще без написания кода.
Так же в движок легко и безболезненно вживлялись новые инструменты и функции, а LucasfilmGames не скупились на обновления, в результате чего технологию ждал успех, после которого ееначали лицензировать другие студии. Таким образом, в SCUMM удалось вживить собственную систему написания интерактивной музыки и движок для создания анимации. Благодаря гибкости и богатству инструментария SCUMM в девяностых вытеснил AGI и даже разошелся по всем платформам, от NES до Amiga.
Культовые игры вроде FullThrottle, DayoftheTentacle, дилогии MonkeyIsland и TheDig Стивена Спилберга были созданы именно на SCUMM.

image007.png

GoldBoxEngine

Движок, написанный специально для игр по мотивам Dungeons&Dragons в 1987 году. Отличительная особенность заключалась в том, что в движке были реализованы сразу два режима перспективы – от первого лица и с высоты птичьего полета, чем активно пользовались разработчики. Так же у GoldBox был единый формат хранения данных и можно было перетаскивать сохранения из игры 1988-го года в игру 1993-го. Проекты на движке так и назывались - GoldBox, в честь коробки с игрой позолоченного цвета. Позже была выпущена усовершенствованная версия движка – DarkSun и открытый редактор ForgottenRealmsUnlimitedAdventure, что подстегнул фанатов на творчество и дал жизнь технологии вплоть до 2000 года.
Так же на GoldBox вышли PoolofRadiance и самая первая (и между тем онлайновая) игра великой серии NeverwinterNights.

image009.jpg

UnderworldEngine

Инструментарий, использовавшийся при создании легендарных игр серии UltimaUnderworld и первой SystemShock. Главная особенность была в том, что движок, как и все остальные движки того времени, хранил карту в тайлах, однако конвертировал ее в псевдо-3D прямо на ходу. Стены имели острые углы, а из тайлов и их свойств генерировались полигоны в трехмерной сетке. Еще туда закладывались немногочисленные трехмерные объекты вроде пропов, которые тоже превращались в полноценное 3D. В 1992 году движок сносил крышу игрокам, особенно когда те выбрасывали какой-либо предмет из инвентаря и он, в прямом смысле отлетал от персонажа, а иногда и вовсе рикошетил от окружения.
UWE обогнал развитие индустрии года на три, как и обогнал развитие компьютерного железа, ведь чтобы запустить UltimaUnderworld в полноэкранном режиме требовался самый мощный на рынке процессор и неимоверное количество оперативной памяти. Разработчики смогли обойти прожорливость, ограничив вид всего до трети экрана, завалив остальное пользовательским интерфейсом – индикаторами, выбором курсоров, куклой персонажа, инвентарем и зельями.
Позже движок оптимизировали, SystemShock уже мог запускаться на бытовой машине, хоть и недешевой. А в версии UltimaUnderworld для PS1 открыли весь экран.

image011.jpg

Wolf3D

Вдохновившись на одной из выставок демкой UWE, Джон Кармак написал свой ответ. Так родился великий Wolf3D.
Работала его технология намного шустрее, а игры запускались почти на любом среднестатистическом ПК тех лет. Джон использовал принцип рейкастинга, работавший как визуальный эхолот. При любом движении игрока, движок посылал лучи и с их помощью просчитывал положение врагов, предметов, аптечек и расстояние до стен. В зависимости от возвращаемых данных, движок по сути вращал игру вокруг игрока и отрисовывал спрайтовые объекты так, как они должны были быть видны с текущего расстояния и угла обзора. Ловкий код, текстурированные стены и масштабируемые спрайты делали свое дело и великий Wolfenstein 3D стал настоящим хитом а заодно и основоположником жанра шутера от первого лица.
Главный недостаток движка был в неспособности обсчитать текстуры на полу и потолке ведь тогдашняя модель рейкастинга этого не умела. Однако движок улучшался и в будущем эту проблему исправили, а самые поздние версии движка выглядели чуть ли не как будущий idTech 1, особенно это видно на примере RiseoftheTriad.

image013.jpg

VoxelSpace

Параллельно с развитием Кармаковского псевдо-3D в начале девяностых развивались воксельные технологии. Компания Novalogic отринув привычную полигональную сетку и текстуры, создали технологию, базирующуюся на просчете трехмерных пикселей. С помощью данного решения можно было создать что угодно и в каких угодно масштабах, с высокой степенью разрушаемости окружения и без изъянов привычного рендера 3D моделей. Обратной стороной данной технологии стали растущие в геометрической прогрессии требования к вычислительной мощности с которыми не справлялось железо не только тогдашних ПК, но и некоторых современных. Novalogic создали резвый движок VoxelSpace, который прилично работал на тогдашнем железе, пока игрок не начинал повышать настройки разрешения. Легкая размытость картинки была невысокой ценой за отличную разрушаемость и детализацию.
На движке были созданы игры серии Commanche и DeltaForce, а так же известные у нас в стране Вангеры. Так же для ознакомления с технологией можно попробовать веселую демоверсию Voxelstein 3D.

image015.jpg

RealSpace

В 1993 году вышел StrikeCommander, футуристичныйавиасимулятор в котором впервые в истории было реализовано накладывание текстур в реальном времени на 3D объекты с правильным затенением Гуро и затуманиванием отдаленных фрактальных объектов. Все благодаря движку RealSpace, за разработку которого отвечал перфекционист Крис Робертс, продюсер и режиссер всех WingCommander а так же монструозного StarCitizen. Системные требования были непомерными, отчего игра стала тогдашним аналогом Crysis, даже несмотря на то, что большая часть экрана была закрыта приборной панелью корабля, в стиле UltimaUnderworld.
К релизу StrikeCommander на CD производительность повысили втрое а в будущих WingCommanderArmada и WingsofGlory и того выше.

image017.jpg

IdTech 1

В 1993 году началась эра Doom и движка idTech 1. Игра подняла такой шум, что отголоски его слышны даже сегодня. Фактически это была более красивая, более разнообразная и более удобная версия Wolf3D. Оставив рейкастинг как основу, Кармак добавил стены разной высоты с разными углами наклона, что позволило сделать наклонные полы, лифты и подъемники на уровнях. Так же Кармак написал древовидную систему хранения уровней и формат BSP (BinarySpacePartitioning) которые используются в геймдеве и по сей день.
Doom ввел в моду мультиплеер и риплеи матчей. Игра умела записывать все нажатые игроком кнопки в отдельный файл, а с помощью отдельного интерпретатора можно было воспроизвести запись своего матча. Так же Doom собрал вокруг себя огромное фанатское комьюнити продолжающее создавать сюжетные и геймплейные модификации даже спустя почти четверть века.
Детище idSoftware открыло дорогу сотням клонов, подражателей и продолжателей идей. Десятки студий начали писать свои движки на технологии Кармака, выпускать свои игры и даже продавать эти самые движки другим студиям. На idTech 1 были созданы обе части Doom а так же проекты сторонних студий - Heretic, Hexen и Strife. Перспективу шутеров тех времен назвали 2.5D, ведь это было не честное 3D,а лишь его симуляция. Разработчики из BlueSkyProductions усовершенствовали технологию Кармака в своем движке UW, который позже начнут назвать 2.75D.
Тучи перемен сгустились над индустрией и ни у кого не было сомнений, что переход в полное 3D не заставит долго себя ждать.

image019.jpg

Descent

Вышедший вслед за Doomшутер про полеты на космических кораблях задействовал все шесть степеней свободы, оставаясь при этом все еще игрой в 2.5D. Каждая карта в игре состояла из набора комнат-параллелепипедов, соединенных туннелями. Descent была построена из череды небольших замкнутых пространств, из-за чего нетребовала мощного железа и развязывала руки программистам. Благодаря этому в игре появилась прорывная на тот момент динамическая система освещения и полигональные объекты. К тому же движок был портальным, и сложность геометрии отдельных комнат уровней никак не сказывалась на производительности. Хоть и спецэффекты все еще были спрайтовыми, картинка срабатывала как надо.
За границы дилогии Descent движок так и не вышел, канув в лету вместе с серией.

image021.jpg

Ecstatica

Шесть лет было потрачено на разработку Ecstatica: A StateofMind, при рендеринге которой использовались не привычные треугольники, а эллипсы. Окружение, персонажи, оружие – все состояло из сфер разных размеров и пропорций. Для движка был создан специальный оптимизированный алгоритм отображения эллипсов, их освещения и глубины местонахождения. Из-за чего все сферы в объектах взаимодействовали друг с другом без каких-либо артефактов. Игра была разделена на экраны с пререндеренными задниками как в ранних частях ResidentEvil или DinoCrisis.
Сделана Ecstatica была всего двумя людьми – Эндрю Спенсером и Аленом Мэндро. Позже у игры вышел сиквел, который делала уже целая команда людей на усовершенствованном движке. Как результат – игра еще больше, еще лучше и красивее. Вот только технология не получила развития в дальнейшем и сгинула под диктатом полигонов подобно воксельным экспериментам.

image023.jpg

JediEngine

В 1995 году LucasArtsGames усовершенствовали формулу Кармака в StarWars: DarkForces. Их ответ idTech 1 под названием JediEngine позволял вертеть головой во все стороны (чего в Doom делать было нельзя), оставаясь при этом все таким же движком с рейкастингом. Еще одной отличительной особенностью была в том, что окружение в игре было честно трехмерным, а протагонист DarkForces Кайл Катарн мог еще прыгать и приседать. Для противников создали огромное количество анимаций на все случаи жизни, что в 1995 году создавало эффект сравнимый с тонной анимаций в TheLastofUs.
Именно StarWars: DarkForces ввел моду на мышь в шутерах в целом, и свободную 2.75D перспективу. JediEngine усовершенствовался и был значительно доработан для вестерн-шутераOutlaws в 1997, а позже и вовсе обзавелся поддержкой 3D-акселераторов. Развивая идеи данного движка, был разработан SithEngine в котором упор делался на усложненное скриптование.

image025.jpg

BuildEngine

Созданный студентом-фанатом Джона Кармака движок Build ознаменовал бум псевдо-трехмерных шутеров от первого лица, среди которых были DukeNukem 3D, RedneckRampage, Blood, ShadowWarrior, Witchhaven и другие мастодонты жанра. Игры на Build выходят даже сейчас, например прошлогодняя IonFury была создана на модифицированной версии данного движка.
Отличий от движка Кармака было немного, это была все та же рекастинг технология с поддержкой остроугольных стен для моделирования спусков, что разнообразило левелдизайн. Однако на фоне конкурентов выделяла его открытая архитектура со всем ресурсами игры и мощный редактор уровней, в котором можно было собирать локации, словно в конструкторе LEGO. Из-за чего Build стал самым долгоиграющим 2.75D движком и легко смог конкурировать с уже трехмерными проектами аж до самых двухтысячных.
Так же Кен Сильверман добавил в движок поддержку вокселей, которой вовсю пользовались разработчики Blood и ShadowWarrior, после чего и вовсе написал полноценный воксельный движок Voxlap на котором и создал ранее упоминаемый Voxelstein 3D.
Build пытались перекупить EpicMegaGames, однако не срослось, что подтолкнуло студию к созданию монструозного UnrealEngine.

image027.jpg

QuakeEngine

В 1996 Quake ознаменовал переход всей индустрии в честное 3D, сделав поиски псевдо-3D ненужными и отправил на пенсию технологию рейкастинга. Создав полностью трехмерный движок, Кармак подстегнул на гонку не только индустрию компьютерных и консольных игр, но и производителей компьютерных комплектующих. Стартует борьба Nvidia и AMD за кошельки пользователей, а вместе с ними еще и борьба производителей клавиатур, компьютерных мышей, жестких дисков и CD-приводов.
В idSoftware был создан полностью трехмерный движок с полигональными объектами и трехмерным окружением благодаря одной уловке – вместо честного рендеринга в реальном времени движок заранее обрабатывал окружение и запихивал в память компьютера не только карту уровня, но и карту лайтмэпов, намеченную карту теней и прочее. Это сказалось на графике в целом, однако для 1996 выглядело прорывом. Позже с появлением поддержки 3D-акселераторов картинку удалось значительно улучшить, благодаря поддержке текстур высокого разрешения. Даже на топовом 486-процессоре игру было практически бесполезно запускать в SVGA-разрешении, и тут на помощь приходили ускорители вроде 3dfx или RenditionVerite, производство и спрос на которые как раз подстегнул Quake.
Кармак впервые использовал технологии трехмерных динамичных источников света и обработку только видимой части уровня в угоду оптимизации, что сказалось на левелдизайне в целом, однако добавило душной атмосферы и клаустрофобии в игру. По традиции весь код был открыт а уровни хранились в той самой структуре BSP, что как никогда стимулировало фанатское творчество. Многие именитые разработчики вроде Американа МакГи начинали свой путь с фанатских уровней для Quake, которые id издавали на дисках.
Так же движок лег в основу GoldSrc от Valve, разработанный для первой части Half-Life и позже превращенный в Source.

image029.jpg

PhotexEngine

Продвигая в массы Windows 95 Билл Гейтс обещал всем сетевую игру с другими игроками, подключаемые устройства вроде геймпадов, единый стандарт звука и продвинутый рендер с автоматическим определением настроек графики, зависящих от мощности ПК. Без самописных драйверов и кривого чужого кода, без танцев с бубном и шаманских песнопений. Нужно было лишь проводить на покой MS-DOS, поставить WindowsChicago (ранее название Win95) а остальное за вас бы сделал DirectX.
Билл не лукавил и реализовал все обещанное, а одной из первых игр поддерживающих все возможные стандарты Windows была MonsterTruckMadness от TerminalReality, вышедшая спустя два месяца после Quake. Первая игра с поддержкой Direct3D вместо OpenGL или 3dfx Glide выглядела хуже детища Кармака, однако могла автоматически определять графические настройки и работала чуть резвее.

image030.jpg

ChasmEngine

Классический пример игровой индустрии пост-СССР. Взяв за основу принцип рендера из idTech 1, украинские разработчики из ActionForms использовали полноценные 3D модели, но без поддержки каких-либо акселераторов. Или, например, полноценное динамическое освещение и разрушаемые объекты соседствуют с двухмерным окружением. Chasm: TheRift была заточена под MS-DOS и могла похвастаться щадящими системными требованиями в отличие от той же прожорливой Quake.
Главной же фишкой Chasm: TheRift была почти что физически корректная расчлененка, дающая тактическое преимущество в геймплее. Врагам легко можно было отстрелить конечности – ноги или руки с оружием, после чего они переходили на ближний бой. И это в 1996 году, за четыре года до SoldierofFortune! Так же игра могла похвастаться неплохим по тем временам сюжетом и колоритными персонажами, что в будущем станет одной из фишек студии-разработчика.
Позже ChasmEngine превратили в движок AtmosFear, на котором ActionForms создавали все свои последующие проекты: «Вивисектор: Зверь внутри», «Анабиоз: Сон Разума» и серию Carnivores.

image032.jpg

InfinityEngine

Infinity был идеальным движком для огромных двухмерных RPG девяностых с сотнями персонажей и десятками локаций. BioWare в свое время сделали его для BattlegroundInfinity, после чего использовали в серии Baldur’sGate, где он раскрыл себя на полную. Уже после подключились BlackIsleStudios и Infinity окончательно вошел в историю как движок, на котором были созданы одни из самых громких изометрических RPG того времени - Planescape: Torment и IcewindDale.
Движок работал в изометрии, с пререндеренными задниками и спрайтами персонажей, являясь по сути духовным преемником того самого GoldBox. Да и BioWare поначалу использовали его для тех же целей - создавали проекты по Dungeons&Dragons в лице Baldur`sGate.

image034.jpg

IdTech 2

Программный рендеринг Кармака погибал под натиском производителей трехмерных акселераторов и ультимативного Гейтсовского набора DirectX. Джон и команда взялись за исправление всех ошибок Quake и выпустили сиквел уже на новом движке, который пусть и базировался на фундаменте QuakeEngine, на деле работал совершенно иначе. Внутри idTech 2 было два варианта движка – софтверный и OpenGL, в котором Кармак распихал компоненты и модули игровой логики по динамическим библиотекам. Благодаря чему можно было менять рендерер буквально на ходу, не перезапуская игру, а так же делало движок дружелюбнее для студий, что в будущем собирались лицензировать технологию. Ничего прорывного в движке не было, просто развитие идей QuakeEngine и их улучшение c учетом фишек конкурентов – стабильный сетевой код, звук на DirectX 3, OpenGLрендерер и открытый сетевой код.
Движок стал популярным. Помимо Quake II, задавшего новую планку качества (и кучи MissionPack`ов для него) на idTech 2 создали такие хиты как Kingpin, Heretic 2, SoldierofFortune, SiN и сломавшуюся под своими амбициями Daikatana.

image036.jpg

UnrealEngine

EpicGames (тогда еще EpicMegaGames) после неудачи с лицензированием BuildEngine в 1998 решили написать свой движок. Несмотря на то, что многие вещи вроде красивого освещения уже были реализованы в Quake II, Тим Суини, ведущий программист студии, строил движок на четырех столпах: честные отражения 3D моделей на поверхностях, порталы между сегментами уровней, масштабирование текстур в реальном времени и динамический скайбокс. Вкупе с революционным на тот момент мультитекстурированием (из которого в будущем выросли такие вещи как бамп-мэппинг и levelofdetail) эти технологии делали UnrealEngine самым навороченным движком на рынке конца девяностых. Вишенкой на торте был редактор UnrealEd, в котором можно было редактировать все что угодно и настоящая кросс-платформенная архитектура мультиплеера, одна из первых в жанре FPS.
В 1999 году вышла улучшенная версия движка UnrealEngine 1.5, готовая работать под Dreamcast и PlayStation 2 и обросшая косметическими изменениями.
EpicGames сделали очень важную и, по сути, самую популярную технологию для индустрии открыв дверь непрерывному потоку лицензирования. На UnrealEngine были созданы именитые проекты вроде Rune, DeusEx, CliveBarker`sUndying и Unreal от самих Epic.

image038.jpg

LithTech

Для поддержки Win95 Microsoft занялась созданием собственного Direct3D движка с возможностью создания трехмерного окружения. На эту работу они подрядили Monolith и поручили им доделать начатый еще в 1996 DirectEngine. Что-то пошло не так и сделку расторгли однако Monolith выкупили права на технологию и нарекли ее LithTechEngine, создав на нем меха-шутерShogo: MobileArmorDivision. Вложенные средства окупились, ведь в 1998 Direct3D уже обгонял по навороченности OpenGL. Графика в Shogo была отличной, а позже, в «Blood II: TheChosen» уровень графики подняли еще выше. LithTech не дотягивал до монстров вроде Quake II или Unreal, однако с движком было легко работать, что оценили сторонние разработчики.
Внутри Monolith было создано отдельное подразделение TouchdownEntertainment которое в течение десятка лет разработало аж девять версий движка, которые с энтузиазмом лицензировались разработчиками третьего эшелона. Например, версия LithTechDiscovery созданная для разработки MMO, использовалась для создания MatrixOnline. А версия LithTech ESD была разработана для сервисов RealArcade. Однако известность движку принесли версии LithTechTalon и JupterEngineExtended. На первом были сделаны хиты от самой Monolith вроде NoOneLivesForever, AliensvsPredator 2 и F.E.A.R. А второй использовался для создания игр от CityInteractive (сейчас CI Games) вроде CodeofHonor и SAS. Движок оказал влияние на внешний вид игр в целом и стал одним из популярных. Даже такие одиозные шутеры как Kiss: PsychoCircus: TheNightmareChild создавались на LithTech.
В настоящее время Monolith все еще используют технологию, ведь их Middle-earth: ShadowofMordor создана на измененной до неузнаваемости итерации Jupiter EX. А Middle-earth: ShadowofWar на новой версии движка Firebird, построенной на все том же LitchTech.

image040.jpg

3DMark

С непреклонным ростом мощностей компьютерного железа производители и покупатели все чаще стали нуждаться в инструменте, с помощью которого можно было оценить мощность и качество всего этого самого железа. FutureCrew, выходцы из демосцены, основали компанию Futuremark и создали бенчмарк 3DMark 99, удовлетворяя спрос. Они написали движок, в реальном времени жонглирующий разными инструкциями Direct3D, чтобы было проще измерять эффективность 3D-ускорителей. В этой версии бенчмарка ядром был движок MaxFX от Remedy, который позже ляжет в основу шутераMaxPayne.
На улицах оверклокеров и производителей видеокарт наступил настоящий праздник, ведь теперь можно было ко всем новым релизам прикладывать количество баллов из 3DMark, измеряя крутость своего железа. Бенчмарк, даже спустя двадцать лет, пользуется популярностью, ведь в каждой новой версии присутствуют графические технологии, которые на момент выхода разработчиками игр еще не используются. Они еще не обкатаны «в поле» и именно на них можно проверить слабые и сильные места видеокарт. Например, уже в 2001 у них была поддержка вертексных и пиксельных шейдеров вкупе с бамп-мэппингом. А в самой последней версии 3D Mark 11, вышедшей в 2010, уже была поддержка CUDA и DirectX11.
Исполнительный директор Futuremark Юкки Макинен не так давно объявил, что компания работает над новым поколением бенчмарка, который будет работать только с DirectX 11, а графические тесты в нем будут напоминать кадры из блокбастеров вроде КэмероновскогоАватара и Бэевского Армагеддона.

image042.jpg

GoldScr

Два программиста Microsoft Майк Харрингтон и ГейбНьэлл в 1996 решили последовать тренду и создать свой трехмерный шутер по образу Джона Кармака и Майкла Эбраша. Они обратились в idSoftware и купили себе QuakeEngine, чтобы не тратить время на написание собственного инструментария. Поработав чуть дольше, они поняли, что исходных функций не хватает, и решили переписать весь код до капли. И даже не один раз - а целых два, ведь Half-Life была готова еще за год до релиза, однако Гейб ее забраковал и велел переделать.
Ничего прорывного в движке не было. Рендерер более детальный, чем у LithTech тех времен, неплохая физика и тускловатое текстурирование. Однако отличительной особенностью была первая в индустрии честная скелетная анимация. Все персонажи очень реалистично двигались, приседали и жестикулировали, а вкупе с продвинутым ИИ, стали одним из ярчайших экспириенсов в 1998.
Так же у движка была открытая архитектура, дарившая широкие возможности по созданию уровней и модостроению, благодаря чему был создан CounterStrike, открывший эру киберспорта. GoldSrc неплохо лицензировался сторонними разработчиками и лег в основу Ricochet, GunmanChronicles и ПК версии JamesBond 007: Nightfire (консольные работали на idTech 3).

image044.jpg

DarkEngine

Эта технология интересна тем, что обрабатывала только видимые персонажем куски игровых уровней, тем самым решая проблемы с производительностью. В DarkEngine точкой отсчета для рендеринга становился сам персонаж игрока, что давало преимущество в настройке картинки для разработчиков. LookingGlassTechnologies для своих Thief и SystemShock 2, по сути, переизобрели портальный движок, наподобие того, что был в Descent. Так же DarkEngine отличался глубоким звуком и продвинутым ИИ, отчего в первые две части Thief было по настоящему жутко играть, технологии работали на атмосферу.
Несмотря на все достоинства, движок был неудобен для разработчиков и сложен в использовании, отчего для третьей части Thief Уоррен Спектор лицензировал UnrealEngine.

image046.jpg

RenderWare

Созданный двумя сотрудниками Canon в 1999 году движок RenderWare лег в основу целой сотни игр и стал одним из самых востребованных движков эпохи PS2. Fight Night Round 3, GTA 3, Burnout, Cold Fear, Killer7, Manhunt, Sonic Heroes, Need for Speed: Most Wanted, Battlefield 2, Mortal Kombat: Deadly Alliace, Call of Duty: Finest Hour, The Godfather, Crackdown, Max Payne 2 и многие другие включая отечественные «шедевры» вроде Боя с Тенью.
В 2003 году Criterion приобрели MathEngine — разработчиков физического движка Karma, основа которого превратилась в RenderWarePhysics — продвинутой физической составляющей нового движка. Главной же особенностью RenderWare была мультиплатформенность и гибкость, что упрощало разработку для консолей тех лет: Dreamcast, GameCube, Xbox и Playstation 2. Движок одним из первых мог отображать огромные пространства без загрузочных экранов, что сыграло на руку Rockstar с их серией GTA в целом и GTA: SanAndreas в частности.
Студия CriterionSoftware, выросшая из двух программистов, что написали RenderWare, не только лицензировала свой движок сторонним разработчикам, но и собственноручно работала над популярной консольной серией Burnout, пока их не приобрели EA. После нового договора движок RenderWare больше не лицензировался, однако техподдержку тем, кто уже приобрел технологию отменять не стали.

image048.jpg

id Tech 3

Quake III стала первой игрой отказавшейся от программного рендера. Только OpenGL, только хардкор! Все функции обработки графики ложились на GPU, разгружая основной процессор. Появилось объемное текстурирование, модели в формате MD3, объемные лучи, параметрические поверхности и многое другое. Так же на idTech 3 был реализован настоящий бамп-мэппинг (а не обманки из Unreal), полученный за счет использования вертексных шейдеров, которые до Quake III применялись только в кино для создания спецэффектов.
В 1999 году Джон Кармак в очередной раз сделал все сам и в очередной раз двинул индустрию резким рывком вперед. Благодаря вышеописанным нововведениям, idTech 3 стал самым популярным лицензируемым движком в новом тысячелетии. Medal of Honor, Return to Castle Wolfenstein, American McGee`s Alice, Star Wars: Jedi Knight, Soldier of Fortune II: Double Helix, Heavy Metal: F.A.K.K.2, Star Trek: Voyager Elite Force, Quake Live идругиепроектыработалинапламенноммотореот id.
Серия игр CallofDuty до сих пор используют модифицированную версию движка idTech 3, написанную InfinityWard и названную IW Engine. Так же студия Treyarch, подмастерья InfinityWard, используют IW Engine для спин-оффов CODWorldatWar и BlackOps, а также других разработок, вроде 007: QuantumOfSolace. Их предыдущий движок, Treyarch NGL, тоже написан на основе idTech 3 и использовался для создания Spider-Man 2: TheGame, UltimateSpider-Man, CallofDuty 2: BigRedOne, CallofDuty 3 и других игр.

image050.jpg

GlacierEngine

Проприетарный движок датчан из iointeractive, начавших в 2000 году серию Hitman. Glacier представляет собой в меру продвинутую технологию, идущую в ногу со временем и выдающую большие скопления NPC на больших картах. Графика не всегда была приоритетом iointeractive, студия больше стремилась к масштабу и натуралистичности геймплея. Еще в HitmanBloodMoneyGlacier отрисовывал огромные толпы массовки без потерь фреймрейта, даже в версии для PS2.
Во второй же версии движка добавилась поддержка DirectX11,и большое количество косметических эффектов, шейдеры и новая система освещения, отчего HitmanAbsolution и последующие части серии засияли, сохранив при этом возможность отображения большого числа неигровых персонажей.
Так же на основе Glacier был создан движок DawnEngine использовавшийся в DeusEx: MankindDivided.

image052.jpg

Geo-Mod

Создатель движка Descent, Джон Слэгл, маг и кудесник, в 2001 году создал чудесный движок Geo-Mod, который похоронила его же иновационность. Написав технологию за одно лето 2000 года, Джон совершил прорыв, конкурировать с которым не смог никто, даже он сам. До Geo-Mod разрушаемость в играх была реализована в виде подмены моделей по окончанию их «здоровья» с хорошей на разрушенную, между которыми вставляли красивый спрайт взрыва. Однако в серии RedFaction, игры которой использовали технологию Слэгла, разрушаемость была реализована по принципу просчета геометрической формы урона, в результате которого движок дробил область разрушения на множество многоугольников, обсчитывал координаты попадания и «вынимал» из множества самую подходящую фигуру. Так же движок просчитывал связи, что создавались при геомодификации, чтобы соприкасающиеся объекты рушились друг за другом, при разрушении одного из них, по всем законам физики. В Geo-Mod к тому же была наращиваемая геометрия и реакция освещения на геомодификацию.
У движка было всего две итерации, и в полную мощность он работал лишь на ПК. В версии RedFaction для PS2 его особенности пришлось жестко урезать в угоду оптимизации. Позже Слэгл ушел из индустрии, а на полную его идеи заработали лишь в 2011 году, с выходом RedFactionArmageddon, которая стала лебединой песнью движка и всего сериала.

image054.jpg

AuroraEngine

Преемником Infinity в эпоху полноценного 3D, стал AuroraEngine от все той же BioWare. В 2002 году на нем вышла большая RPG NewerwinterNights и два ее дополнения. В начале нового тысячелетия ролевки перешли в честные три измерения, на полную развернув свои миры перед игроками, жаждущими исследования и отыгрыша. В те времена BioWare была одним из лучших поставщиков таких миров, а с новым движком их игры были упакованы в не уступающую масштабам графику, с динамическими тенями и системой частиц.
В 2004 году движок лицензировали поляки из CD Projekt RED для первой части TheWitcher. Мощности технологии не удовлетворили польских разработчиков, отчего им пришлось переписать около восьмидесяти процентов кода. В основном изменения затрагивали рендеринг, отчего картинка Aurora значительно изменилась, движок оброс пост-эффектами, новой системой освещения, динамической сменой дня и ночи, погодными эффектами и новой физической моделью Karma. Таким образом, был проложен путь к RED Engine, будущему наследнику модифицированной Aurora от CD project RED.
Позже сами BioWare взялись развивать идеи своего стареющего движка. В 2003 году вышла Star Wars: Knights of the Old Republic, работающая на измененной версии Aurora Engine - Odyssey. Разработчики внедряли все новые и новые инструменты в старый движок, пока не поняли, что сделали совершенно новый. В 2006 году Odyssey был переработан и превратился в Electron, легший в основу NewerwinterNights 2.

image056.jpg

Gamebryo

После 2001 года наступили времена, когда создавать проприетарный движок, для одной игры стало попросту невыгодно и разработчики искали любые возможные пути лицензирования новых технологий.
Компания NeumericalDesignLimited, занимающаяся разработкой рендереров для AutoCAD, после контракта с InteractiveMagic создали Gamebryo. Усилиями отдела продаж движок превратился в здорового конкурента RenderWare. Он умел все то же самое, но в больших масштабах: качественные эффекты воды, высокая дальность отрисовки пространства, высокая детализация текстур, поддержка физики Havok и мультиплатформенность.
Dark Age of Camelot, The Elder Scrolls III: Morrowind, Divinity 2, Rift, Bully Scholarship Edition, Epic Mickey, Catherine, Fallout 3 и Warhammer Online: Age of Reckoning – лишь малый список игр, созданных на Gamebryo.
Bethesdaтакбыливоодушевленыместныминструментарием, что создали на этом движке не только Morrowind но и The Elder Scrolls IV: Oblivion, Fallout 3 и Fallout New Vegas (силами Obsidian). Лишь позже они переехали на свой собственный движок Creation, который в целом перенял все достоинства и недостатки Gamebryo.
Однако движок застрял в прошлом и на презентации новой версии в 2013 году (которая поддерживала DirectX11 и дружила с железом WiiU) стало ясно, что по качеству картинки технология осталась где-то в 2009.

image058.jpg

UnrealEngine 2

Вторая версия UE вышла в 2002 году вместе с релизом UnrealTournament 2003. В ней были практически полностью переписаны ядро и механизм рендеринга, добавлен физический движок Karma с физикой ragdoll и новая ревизия UnrealEd. Epic наращивали удобство инструментария и актуальность используемых технологий, и их подход, позже выльется в сверхпопулярный UE3 основанный на тех же принципах.
Вторая версия Unreal Engine легла в основу Unreal II: The Awakening, Brothers in Arms: Road to Hill 30, Pariah, SWAT 4, Tom Clancy's Splinter Cell: Double Agent и других.
У движка были улучшенные версии вроде UnrealEngine 2.5 с кучей докрученных технологий вроде DirectX 9, OpenGL 2 и Pixomatic, а также UnrealEngine 2X заточенной конкретно под первый Xbox.
Разработчики из сторонних студий часто использовали UE2 для создания собственных движков. Например, в Thief: DeadlyShadows и DeusEx: InvisibleWar, использовался переписанный движок от Epic, названный внутри студии Flesh. IrrationalGames написали свой VengeanceEngine (Tribes: Vengeance, SWAT 4) на основе UnrealEngine 2.5, с добавлением HDR, физики Havok 2.0 и других вещей, нынче ставших нормой для любого трехмерного движка. В BioShock (от все той же Irrational) поначалу был задействован VengeanceEngine, однако затем Кен Левин перевел всю команду на свежий UnrealEngine 3. Движки Ubisoft, ставшие основой для большинства их игр середины двухтысячных - YETI engine и LEAD engine, так же были созданы на основе UnrealEngine 2.5.

image060.jpg

JadeEngine

Названный в честь главной героини BeyondGood&Evil, движок от Ubisoft, лег в основу не только BG&E, но и второй трилогии PrinceofPersia, а так же серии игр про безумных кроликов RaymanRavingRabbids (вытеснивших самого Рэймана).
В рамках одной технологии BG&E превращается то в игру с открытым миром, то в напряженный стэлс, то в квест, то в симулятор фотографа, то в гонки. Эта чехарда сопровождается отличными эффектами и разнообразными фильтрами. Так же в играх на Jade постоянно использовались постэффекты, делавшие картинку в нужной степени кинематографичной, особенно для начала двухтысячных. А уж занавески, ведущие себя по всем законам физики,в PrinceofPersia: TheSandsofTime свели сума многих игроков.
В 2009 году, когда движок окончательно устарел, Ubisoft начали использовать его в играх для портативных консолей и систем со слабым железом, вроде Wii. На основе Jade был создан другой игровой движок компании - Fox, на котором были сделаны игры Naruto: Riseof a Ninja и Naruto: TheBrokenBond. Специально для этих проектов в движок была добавлена технология Cell-chading.

image062.jpg

IdTech 4

Джон Кармак в 2003 приступил к новому проекту. Технология создавалась с нуля, ведь писать пришлось на C++, ибо C, к тому моменту, уже не хватало. Показы Doom 3 на выставках говорили о том, что Кармак снова тащит индустрию за собой, в какой раз уже делая машину для убийства компьютерного железа. На смену Кармаковской карте освещения пришло попиксельное, да еще и с технологией самозатенения. Главным же новшеством была технология Мегатекстурирования, которая кроме как в EnemyTerritoryQuakeWars больше нигде не использовалась, однако пригодилась в будущих версиях движка.
Графика у Кармака была отличной, а вот удобство использования хромало. В середине двухтысячных все уже привыкли к удобному во всех смыслах UnrealEngine, который дошел до ревизии 2.5 и содержал в себе уйму инструментов для игр любых жанров. Еще и ценник в 250 000 долларов за лицензию на одну игру выглядел не сильно привлекательно. Работать с неудобной командной строкой и постигать глубины idTech 4 мало кто хотел. Тем не менее, на движке вышло немало достойных игр вроде Prey, Wolfenstein (2010), Quake 4 и Brink.

image064.jpg

SourceEngine

Valve не привыкать перестраивать технологии с нуля. Сначала они перестроили QuakeEngine для Half-Life. Затем в 2004 они перестроили свой GoldSrc для Half-Life 2. Так и появился известный Source, гордость Valve и икона моддерского сообщества. На фоне конкурентов движок отличали новые графические технологии – подробная физическая модель (перестроенный с нуля Havok), скелетная анимация с реверсной кинематикой, продвинутая технология Ambientocclusion, шейдерная вода и лицевая анимация с автоматической синхронизацией губ. Ну и завершал все это открытый исходный код вкупе с редактором SourceDevelopmentKit, в котором можно было создавать игры любых жанров. В 2005 году с выходом демкиHalf-Life 2: LostCoastValve добавили в движок еще и поддержку HDR.
Source лег в основу как игр от самой Valve так и проектов других студий. На нем были созданы Portal, Left 4 Dead, Team Fortress 2, Dark Messiah of Might & Magic, Dear Esther, Tactical Intervention, The Stanley Parable, обе частиTitanfall, Apex Legends атак-же Counter Strike: Source и другие популярные проекты.
В трейлере Half-Life: Alyx, которая должна выйти уже в этом году, Valve продемонстрировали новую итерацию движка - Source 2. Технология уже была задействована в Dota 2 – Reborn, однако в довольно сыром виде. Если верить короткому трейлеру Alyx, пожилой движок снова выглядит внушительно: новые физика и освещение впечатляют, а заточенность под VR дает надежду на неслабый импакт от геймплея и окружения.

783 0 850 8
4
2020-03-06
Какие-то странные утверждения встречаются в статье. Вангеры написаны на собственном движке Surmap A-R-T, а вовсе не на Voxel Space от Novalogic. Где-то в интернете, вроде бы, даже есть исходники Вангеров. Что-то странное написано про bump mapping и вершинные шейдеры в Quake 3 (id Tech 3). Какие ещё вершинные шейдеры в 1999 на видеокартах с фиксированным конвейром? Bump mapping (в виде normal mapping) появился не в Quake 3, а в Doom 3 (движок id Tech 4) в 2004 году. И кстати в том же году вышел ещё и Far Cry тоже с normal mapping.
2020-03-06
И фаркрай вышел на полгода раньше дум 3.
2020-03-06
Фаркрай вышел раньше Doom 3, да. Но ещё за два года до этого (в 2002 году) альфа-версия третьего Дума утекла в сеть. Помню, видео, где её ещё запускали на каком-то сильно разогнанном Дуроне, и она тормозила) Так что первенство по normal mapping можно оставить и за Думом 3. А вообще первые пиксельные/фрагментные шейдеры (пусть и не в виде бампа) появились, кажется, в Морровинде. Если его запустить хотя бы на третьем geforce, то водичка сразу преображалась.
2020-03-07
Денис, ты шаришь довольно сильно
RENDER.RU