Source

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Source Engine
Steam Source logo.gif
Hl2ep2 jalopy.jpg
Тип

Игровой движок

Разработчик

Valve Corporation

Написана на

C++

Операционная система

Mac OS X, Microsoft Windows, Xbox, Xbox 360, PlayStation 3, Linux, PlayStation 4, Xbox One

Аппаратная платформа

Mac OS X, PlayStation 3, Xbox, Xbox 360, Xbox One, Linux и Microsoft Windows

Последняя версия

Source Engine 24 (Build 5345) (2013)

Лицензия

Проприетарное программное обеспечение

Сайт

source.valvesoftware.com

Source Engine, или Source («источник») — игровой движок, разработанный корпорацией Valve[1]. Его особенностями считаются модульная основа и гибкость, синхронизация движения губ с речью, технология выражения эмоций и система физики, работающая по сети. Использует общий для продуктов Valve формат моделей движка .mdl. Физическая часть движка Source включает в себя часть переработанного кода физического движка Havok и принципы физики «тряпичной куклы». Движок может работать с видеокартой, поддерживающей DirectX 6—11.

Дебютом Source можно считать 16 ноября 2004 года — дату выхода первых игр на его основе: Half-Life 2, Counter-Strike: Source и Vampire: The Masquerade – Bloodlines.

История названия[править | править исходный текст]

Эрик Джонсон объяснил рождение названия движка Source так:

Когда мы были очень близки к релизу Half-Life (где-то в неделе до него), мы поняли, что есть несколько проектов, которые надо начинать разрабатывать, но мы не могли рисковать, что-то меняя в коде выходящей версии игры. Мы решили разделить код в VSS (Microsoft Visual SourceSafe) на $/GoldSrc и /$Src. В течение нескольких лет мы использовали эти термины непосредственно как «GoldSource» и «Source». По крайней мере, первоначально ветка кода GoldSrc относилась к исходному коду уже выпущенной версии, а Src относилась к будущему варианту, с более рискованной технологией, над которой мы работали. Когда пришло время показывать Half-Life 2 в первый раз на выставке Е3, это была часть нашего внутреннего общения: ссылаться на «Source» движок против движка «GoldSource», и название прижилось.

Valve Developer Community

Поддерживаемые платформы[править | править исходный текст]

Скриншот из Half-Life 2: Lost Coast, служащей демонстрационной версией движка Source

Изначально Source был доступен на следующих платформах: Windows, Xbox, Xbox360, PlayStation 3. С 2010 года доступен на Mac[2][3].

В апреле 2012 года на интернет-ресурсе Phoronix была опубликована информация о подготовке выпуска Steam и платформы Source под GNU/Linux[4].

В декабре 2012 года Source был официально портирован под GNU/Linux, и первой игрой на нём, доступной для данной платформы, стала Team Fortress 2[5]; ранее как Steam, так и Source были доступны в закрытом бета-тестировании.

История версий[править | править исходный текст]

Определённо версию движка можно назвать только у игр, выходивших до 2007 года включительно. Так как например в Source SDK при выборе игры выбирается и движок, где чётко написана версия, так же в консоли можно посмотреть версию протокола.

В Left 4 Dead и последующих играх конкретно версию движка назвать нельзя, возможность посмотреть в консоли версию протокола тоже отсутствует. Так же версии движков Counter-Strike: Source и Left 4 Dead 2 существенно различаются, но здесь у них отмечена одна версия, Left 4 Dead 2 вышла в 2009 году, а Counter-Strike: Source обновилась до движка Source Engine 2009 в 2010 году. В графическом плане превосходит движок Left 4 Dead 2 , но у Counter-Strike: Source больше мелких улучшений (например, заметно был улучшен браузер серверов), которые появились после выхода Left 4 Dead 2.

Рабочая версия[править | править исходный текст]

В начальных стадиях разработки движок Source Engine визуально выглядел как GoldSource, который использовался в первых проектах Valve Software. Игровое меню в стиле Half-Life и первых версий Steam, текстуры, не накладывавшиеся полностью, и в некоторых проявлениях кровь выглядела также, как и в Half-Life. Игры на этой версии официально не выпускались, но она использовалась в украденной версии Half-Life 2. Игра была не доработана и имела очень мало возможностей, например, на некоторых картах текстуры выглядели слишком ярко или же очень тускло. Игра Vampire: The Masquerade – Bloodlines разрабатывалась по технологии ранней версии Source.

Релизные версии[править | править исходный текст]

Версия Описание Игры
Source Engine 2004 (Source Engine 6)

Первая релизная версия движка, на котором дебютировала Half-Life 2. Изначально он поддерживает масштабирование, возможность обновлений, шейдерный рендеринг, лицевую анимацию, а также динамическое освещение и затемнение. Изначально он использовался в некоторых играх до 2005 года, и позднее был обновлён до Source Engine 7. Эта версия движка является устаревшей, так как больше не используется ни одной из игр в Steam.

До 2005 года:
Half-Life 2
Half-Life 2: Deathmatch
Counter-Strike: Source
Half-Life: Source
Source Engine 2005 (Source Engine 7) Обновлённая версия Source Engine 6. По сравнению с предшественником, она поддерживает High Dynamic Range Rendering. Движок также считается устаревшим, однако используется в нескольких Steam-играх.
Half-Life 2 (до 15 мая 2010 года)
Half-Life 2: Deathmatch (до 2006 года)
Counter-Strike: Source (до 2006 года)
Half-Life: Source
Half-Life Deathmatch: Source (до 2006 года)
Day of Defeat: Source (до 2006 года)
Half-Life 2: Lost Coast
Source Engine 2006 (Source Engine 7: Base Source Engine 2) Это третья версия движка, на котором были выпущены несколько игр. Также на нём до 2010 года базировался ряд многопользовательских игр Valve. Он был обновлен и поддерживает обновленную лицевую анимацию, многоядерный рендеринг (но его включение было невозможным[источник не указан 268 дней]) и обновленный High Dynamic Range Rendering. Эта версия движка была популярной до выхода 2007, ею пользовались многие разработчики компьютерных игр. Для этой версии движка было выпущено большое количество модификаций (кроме того, выпущенные для более ранних версий моды совместимы и с этой версией), которые не работоспособны на более поздних версиях, поэтому среди игроков она остаётся достаточно популярной и по сей день.
Half-Life 2: Episode One (до 15 мая 2010 года)
Half-Life 2: Deathmatch (до 15 мая 2010 года)
Counter-Strike: Source (до 15 мая 2010 года)
Day of Defeat: Source (до 2009 года)
Half-Life Deathmatch: Source
SiN Episodes: Emergence
Dark Messiah of Might and Magic
Source SDK Base 2006
Garry's Mod (до 28 сентября 2010 года)
Source Engine 2007 (Source Engine 14) Это четвёртая версия движка. Эта версия была сильно доработана и обновлена — изначально носила название Source Engine 8, которая затем обновилась до Source Engine 14. Впервые движок был обновлен с выходом The Orange Box, также движок стал поддерживать обновлённый шейдерный рендеринг, значительно доработано динамическое освещение и затенение, также появилась система мягких частиц и была добавлена не полноценная кинематографическая физика. Движок содержит значительные изменения по сравнению с Source Engine 7, поэтому игровые модификации, выпущенные для более ранних версий, не совместимы с данной и более поздними версиями.
Half-Life 2: Episode Two (до 15 мая 2010 года)
Portal (до 15 мая 2010 года)
Team Fortress 2
Day of Defeat: Source (до 15 мая 2010 года)
Black Mesa
Source SDK Base 2007
Source Engine 2008 (Source Engine 14: Base Source 3) Это пятая версия движка. В ней была доработана кинематографическая физика и добавлена глубина резкости. Выпущена с игрой Left 4 Dead.

Left 4 Dead

Source Engine 2009 (Source Engine 15) Это шестая, сильно доработанная версия движка. В этой версии были обновлены все функции и значительно доработана система мягких частиц, лицевая анимация, масштабирование и возможность обновлений. Выпущена с игрой Left 4 Dead 2, позднее до этой версии были обновлены более ранние игры Valve.
Left 4 Dead 2
Zeno Clash
Postal III (выпущена 23 ноября 2011 года)

с сентября 2010 года:

Half-Life 2
Half-Life 2: Deathmatch
Half-Life 2: Episode One
Half-Life 2: Episode Two
Portal
Counter-Strike: Source
Team Fortress 2
Source Engine 2010 (Source Engine 17) Это седьмая версия движка.
Source Engine 2011 Это восьмая версия движка. Выпущена с игрой Portal 2
Portal 2
Dota 2
Counter-Strike: Global Offensive
The Stanley Parable
Source Engine Multiplayer (Source Engine 19) Под нужды мультиплеерной составляющей игр была разработана специальная версия движка, на которую были переведены все многопользовательские игры Valve.
Counter-Strike: Source
Team Fortress 2 (до 2 ноября 2010 года)
Day of Defeat: Source (до 2 ноября 2010 года)
Garry's Mod (до 2 ноября 2010 года)
Half-Life 2: Deathmatch (до 2 ноября 2010 года)
Source Engine Multiplayer (Source Engine 21) Новая версия.
Counter-Strike: Source
Team Fortress 2
Day of Defeat: Source
Garry's Mod (до 21 октября 2012 года)
Half-Life 2: Deathmatch
Source Engine Multiplayer (Source Engine 23) Новая модификация движка под нужды мультиплеерной составляющей игр. Содержит в основном исправления ошибок предыдущих версий, повышение стабильности работы, а также улучшена совместимость с Big Picture Mode в Steam.
Counter-Strike: Source (до 17 апреля 2013 года)
Team Fortress 2 (до 17 апреля 2013 года)
Day of Defeat: Source (до 17 апреля 2013 года)
Half-Life 2: Deathmatch (до 17 апреля 2013 года)
Garry's Mod
Source Engine 2013 (Source Engine 24) Для оптимизации использования дискового пространства было решено отказаться от использования громоздких .GCF-файлов в пользу файловой системой под кодовым именем SteamPipe. Игры на новом движке устанавливаются теперь в директорию Steam\SteamApps\Common\, а файлы игры хранятся в .VPK-файлах. Для игр Counter-Strike: Source, Team Fortress 2 и Half-Life 2: Deathmatch создана удобная система добавления собственного контента: в игре присутствует папка custom, в которой создаётся папка с произвольным именем, и уже в неё складываются классические папки (materials, models и т. д.).

Добавлена совместимость с системами Linux.

Counter-Strike: Source
Team Fortress 2
Day of Defeat: Source
Half-Life 2: Deathmatch
Dota 2
Alien Swarm
Tactical Intervention

C 26 июня 2013 года:

Half-Life 2
Half-Life 2: Lost Coast
Half-Life 2: Episode One
Half-Life 2: Episode Two
Portal

Технологические возможности[править | править исходный текст]

Half-Life 2. Демонстрация системы освещения, качества текстур и частично прозрачных поверхностей, а также деталей и разрушаемых объектов

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

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

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

Source содержит в себе сложный сетевой код, обеспечивающий поддержку для 32 игроков по локальной вычислительной сети и Интернет.

Движок Source сделан с расчётом на регулярное обновление, что выражается в его широких возможностях к модификации и улучшению без изменения каких-либо ключевых архитектурных особенностей движка. В комбинации с системой цифрового распространения Steam движок может обновляться сразу после выхода обновления. Например, если Source начнет поддерживать физические карты, то все игры, распространяемые через Steam и использующие собственно Source, начнут их поддерживать. Подобное можно было наблюдать после добавления разработчиками в движок High Dynamic Range Rendering.

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

В Source используются шейдеры Direct3D версии 3.0.[6]

Рендеринг в широком диапазоне яркостей[править | править исходный текст]

Впервые этот эффект был представлен в Day of Defeat: Source, который вышел 26 сентября 2005 года. Поддержка HDR стала одной из первых существенных модификаций движка. Эффект заключается в динамическом изменении яркости всего или отдельных участков изображения (например, симуляция адаптации глаз к дневному свету).[7][8][9]

Лицевая анимация[править | править исходный текст]

Данная технология несколько раз совершенствовалась Valve. Лицевая анимация позволяет компьютерным персонажам максимально эффективно выражать эмоции, и отображать соответствующие произносимым звукам движения губ. Примечательно, что новая технология использует исключительно ресурсы видеокарты, снимая нагрузку с процессора. Технология доступна во всех играх, использующих движок Source, равно как и для всех модификаций для этих игр.[7][10]

Динамическое освещение и затенение[править | править исходный текст]

К выпуску The Orange Box была доработана система освещения. Помимо старого типа прорисовки теней была добавлена возможность просчета теней по технологии карт теней, позволяющей прорисовывать правильные динамические тени (с учетом самозатенения и прочего).

Геометрия мира освещена при помощи заранее просчитанных карт освещения. Статическое освещение может с высокой точностью просчитывать освещение, включая отражение света от зеркальных или матовых поверхностей, преломление света, частичное затенение (например, полупрозрачные объекты). Любые объекты в мире могут отражать свет, уловленный с других объектов. К примеру, белый квадрат на чёрном фоне — поскольку квадрат светлее фона, то и небольшая область вокруг него будет светлее. Глубина резкости используется для того, чтобы выдвинуть некоторые объекты на первый план, а другие, те что позади, представить размытыми. Для придания нужной атмосферы может использоваться коррекция цвета. Например, можно стилизовать игру под чёрно-белый фильм. В Source используется динамическое изменение детализации моделей и геометрии мира, что значительно повышает производительность на слабых компьютерах.[7]

Многоядерный рендеринг[править | править исходный текст]

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

Система частиц[править | править исходный текст]

Наиболее продвинутая реализация эффектов окружающей среды — это система частиц. Частицы позволяют создать очень реалистичные взрывы, воду, снег. Для устранения резких границ частиц используется сглаживание. Обновление движка к выпуску The Orange Box внесло новую систему частиц, с помощью которой теперь вырисовываются такие эффекты, как огонь, дым, брызги крови, и т. д.

Искусственный интеллект[править | править исходный текст]

В Source используется одна из самых продвинутых систем искусственного интеллекта[источник не указан 914 дней]. Персонажи под управлением искусственного интеллекта могут прыгать, бегать, летать, ползать, плавать, закапываться, атаковать. Сложное построение карт перемещений помогает неигровым персонажам обходить препятствия, прятаться за ними. Неигровые персонажи ориентируются благодаря слуху, нюху, зрению.

Материалы[править | править исходный текст]

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

Физика[править | править исходный текст]

Физика имитируется благодаря переработанному физическому движку Havok. Он позволяет движку рассчитывать многие физические объекты, такие как твёрдые тела, упругие тела, верёвки, поверхности и т. п. В Source используется технология для создания очень реалистичных транспортных средств, от машины до катера на воздушной подушке и вертолёта. Для просчёта поведения транспортного средства на дороге или в воздухе используется много параметров, например сцепление колёс с дорогой, вес машины и т. п. Для придания реалистичного движения тела используется физика «тряпичной куклы» (в последних версиях Source Engine совмещена с анимацией). В Source анимация может смешиваться с физикой, что дает прирост реалистичности.

Модификации[править | править исходный текст]

Для движка Source было создано огромное количество любительских модификаций, самые качественные из которых доступны для загрузки через Steam через систему Steam Greenlight и снабжены поддержкой Steamworks. На данный момент это следующие моды:

Создание игр и модов[править | править исходный текст]

Source SDK (англ. Software Development Kit — «набор разработчика приложений») — набор утилит для создания модификаций на движке Source, бесплатно доступный через Steam всем игрокам, купившим любую Source-игру от Valve. Также выпущена версия Source SDK для SiN Episodes: Emergence, Left 4 Dead (Left 4 Dead Authoring Tools) и Left 4 Dead 2 (Left 4 Dead 2 Authoring Tools) и некоторых других игр.

В стандартный набор входят:

  • Valve Hammer Editor — утилита для создания карт.
  • Faceposer — утилита для создания лицевой анимации моделей.
  • Model Viewer — программа просмотра моделей формата .MDL.

Помимо трёх основных утилит набор включает утилиту для распаковки базовых файлов при создании нового мода, а также файлы исходного кода библиотек части игр Valve, что позволяет вручную создавать игры с изменёнными характеристиками без декомпиляции движка. Однако для компиляции новых файлов необходимо наличие знания языка C++ и компилятора (например, Visual Studio).

Также для обеих новых версий движка существуют специальные дополнения — Source SDK Base. По структуре они выглядят как игры и представляют собой уровень-заставку из дополнения Half-Life 2: Lost Coast с эффектами High Dynamic Range Rendering, служащую для тестирования видеокарты. Также они служат базой для тестирования новых модов, причём у модов без качественных изменений становится возможной проверка эффектов High Dynamic Range Rendering на картах, поэтому при создании мода Source SDK базирует его на Source SDK Base. Некоторые авторы модов не изменяют базу мода на какую-нибудь Source-игру по завершении его создания, а оставляют за основу Source SDK Base. Данный подход позволяет владельцам Half-Life 2 на старой версии движка играть в моды на новой версии при отсутствии других Source-игр, но в то же время вынуждает остальных пользователей закачивать дополнительные игровые данные.

Коммерческие игры на движке Source[править | править исходный текст]

Ниже представлена полная таблица с вышедшими играми на движке Source.

Название игры Разработчик Дата выхода Платформы
Alien Swarm Valve 2010.07.19 ПК (Microsoft Windows)
Counter-Strike: Source Valve 2004.10.07 ПК (Microsoft Windows, Linux), Mac OS X
Counter-Strike: Global Offensive Valve, Hidden Path Entertainment 2012.08.21 ПК (Microsoft Windows), Mac OS X, Xbox 360, PlayStation 3
Dark Messiah of Might and Magic Arkane Studios, Floodgate Entertainment, Kuju Entertainment 2006.10.27 ПК (Microsoft Windows)
Day of Defeat: Source Valve 2005.09.26 ПК (Microsoft Windows, Linux), Mac OS X
Dear Esther The Chinese Room 2012.02.14 ПК (Microsoft Windows)
Dota 2 Valve 2013.07.09 ПК (Microsoft Windows, Linux), Mac OS X
E.Y.E.: Divine Cybermancy Streum On Studio 2011.08.02 ПК (Microsoft Windows)
Garry's Mod Team Garry 2006.11.29 ПК (Microsoft Windows, Linux), Mac OS X
Half-Life 2 Valve 2004.11.16 ПК (Microsoft Windows, Linux), Mac OS X, Xbox, Xbox 360, PlayStation 3
Half-Life 2: Deathmatch Valve 2004.11.30 ПК (Microsoft Windows, Linux), Mac OS X
Half-Life 2: Episode One Valve 2006.06.01 ПК (Microsoft Windows, Linux), Mac OS X, Xbox 360, PlayStation 3
Half-Life 2: Episode Two Valve 2007.10.10 ПК (Microsoft Windows, Linux), Mac OS X, Xbox 360, PlayStation 3
Half-Life: Source Valve 2004.06.01 ПК (Microsoft Windows)
Half-Life Deathmatch: Source Valve 2006.05.01 ПК (Microsoft Windows)
Half-Life 2: Lost Coast Valve 2005.10.27 ПК (Microsoft Windows, Linux)
Portal Valve 2007.10.10 ПК (Microsoft Windows, Linux), Mac OS X, Xbox 360, PlayStation 3
Portal 2 Valve 2011.04.19 ПК (Microsoft Windows, Linux), Mac OS X, Xbox 360, PlayStation 3
Postal III Running with Scissors, Inc., «Акелла», TrashMasters 2011.11.23 ПК (Microsoft Windows, Linux), Mac OS X
Left 4 Dead Valve и Certain Affinity 2008.11.18 ПК (Microsoft Windows), Mac OS X, Xbox 360
Left 4 Dead 2 Valve 2009.11.17 ПК (Microsoft Windows, Linux), Mac OS X, Xbox 360
Nuclear Dawn InterWave Studios 2011.09.27 ПК (Microsoft Windows), Mac OS X, Xbox 360
The Ship Outerlight 2006.07.11 ПК (Microsoft Windows)
SiN Episodes: Emergence Ritual Entertainment 2006.05.10 ПК (Microsoft Windows)
Tactical Intervention FIX Korea 2013.03.28 ПК (Microsoft Windows)
Vampire: The Masquerade — Bloodlines Troika Games 2004.11.16 ПК (Microsoft Windows)
Zeno Clash ACE Team 2009.10.09 ПК (Microsoft Windows), Xbox 360
Revelations 2012 Dark Artz Entertainment 2012.04.23 ПК (Microsoft Windows)
Bloody Good Time Outerlight 2012.10.28 ПК (Microsoft Windows), Xbox 360
Vindictus devCat 2010.01.21 ПК (Microsoft Windows)
Hybrid 5TH Cell Media 2012.08.08 Xbox 360
Dino D-Day 800 North 2011.04.08 ПК (Microsoft Windows)
Half-Life 2: Survivor Taito Corporation, Valve 2006.06.27 Taito Type X+
Counter-Strike Online 2 Nexon Corporation Запланирована на 2013 год ПК (Microsoft Windows)
The Stanley Parable Galactic Cafe 2013.10.17 ПК (Microsoft Windows, Mac OS X
Titanfall Respawn Entertainment 2014.03.13 ПК (Microsoft Windows), Xbox 360, Xbox One
Lost Story: The Last Days of Earth Lost Stories Team Не объявлена ПК (Microsoft Windows, Linux), Mac OS X

Примечания[править | править исходный текст]

Source Engine на неофициальном сайте Source games portal

Ссылки[править | править исходный текст]