Source

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

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

Разработчик

Valve Corporation

Написана на

C++

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

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

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

Source Engine 24 (build 5252) (2013)

Лицензия

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

Сайт

http://source.valvesoftware.com

Valve 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 OS X[2][3].

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

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

История версий [править]

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

В 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. Официально эта версия движка признана устаревшей[источник не указан 586 дней] и не используется ни одной из игр в Steam.
Source Engine 2005

(Source Engine 7: Source Engine)

Обновлённая версия Source Engine 6. По сравнению с предшественником, он поддерживает High Dynamic Range Rendering. Движок также считается устаревшим, однако используется в нескольких Steam-играх.
Source Engine 2006

(Source Engine 7: Base Source Engine 2)

Это третья версия движка, на котором были выпущены несколько игр. Также на нём до 2010 года базировался ряд мультиплеерных игр Valve. Он был обновлен и поддерживает обновленную лицевую анимацию, многоядерный рендеринг (но его включение было невозможным) и обновленный High Dynamic Range Rendering. Эта версия движка была популярной до выхода 2007, ею пользовались многие разработчики компьютерных игр. Для этой версии движка было выпущено большое количество модификаций с собственными dll-файлами (кроме того, выпущенными для более ранних версий моды совместимы и с этой версией), которые не работоспособны на более поздних версиях, поэтому среди игроков она остаётся достаточно популярной и по сей день.
Source Engine 2007

(Source Engine 14)

Это четвёртая версия движка. Эта версия была сильно доработана и обновлена — первая версия движка носила название Source Engine 8, которая затем обновлялась до Source Engine 14. Впервые движок был обновлен с выходом The Orange Box, также движок стал поддерживать обновлённый шейдерный рендеринг, значительно доработано динамическое освещение и затенение, также появилась система мягких частиц и была добавлена не полноценная кинематографическая физика. Движок содержит значительные изменения по сравнению с Source Engine 7, поэтому моды с собственными dll, выпущенные для более ранних версий, не совместимы с данной и более поздними версиями.
Source Engine 2008

(Source Engine 14: Base Source 3)

Это пятая версия движка. В ней была доработана кинематографическая физика и добавлена глубина резкости.
Source Engine 2009

(Source Engine 15)

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

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

Source Engine 2010

(Source Engine 17)

Это седьмая версия движка.
Source Engine 2011 Это восьмая версия движка.
Source Engine Multiplayer

(Source Engine 19)

Новая модификация движка под нужды мультиплеерной составляющей игр. (Обновление 8 ноября 2010 года)
Source Engine Multiplayer

(Source Engine 21)

Новая версия. (обновление 30 ноября 2010 года и 02 декабря 2010 года)
Source Engine Multiplayer

(Source Engine 23)

Новая модификация движка под нужды мультиплеерной составляющей игр. Содержит в основном исправления ошибок предыдущих версий, повышение стабильности работы, а так-же улучшена совместимость с Big Picture Mode в Steam. (обновление 21 Декабря 2012 и 6 февраля 2013)
Source Engine Multiplayer

(Source Engine 24)

Новая версия движка изменяет место положение игры в папку common и игровые файлы теперь лежат в файле vpk (Valve Pack File)

А так-же на стадии бета-тестирования (SteamPipe Beta):

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

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

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

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

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

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

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

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

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

High Dynamic Range Rendering [править]

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

Лицевая анимация [править]

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

Динамическое освещение и затенение [править]

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

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

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

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

Система частиц [править]

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

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

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

Материалы [править]

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

Физика [править]

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

Истоки [править]

Хотя Valve всегда заявляла, что Source разрабатывался полностью с нуля, ходят слухи, согласно которым этот движок является развитием движка GoldSource, который является изменённой версией движка Quake engine. Подтверждением тому является схожая с GoldSource система доступа для разработчиков, а также комментарий в блоге Джона Кармака: «в движке Half-Life 2 по-прежнему есть куски кода из движка Quake»[источник не указан 586 дней]. Однако у этой версии нет никаких серьёзных доказательств. Утечка исходного кода Source в 2003 году и части кода Source-игр, доступных в рамках Source SDK, не подтвердили её — никаких совпадений найдено не было. Однако, в Valve Developer Wiki было сказано, что Source — переделка движка GoldSrc[6].

Модификации [править]

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

Создание игр и модов [править]

Source SDK (англ. Software Development Kit — «набор разработчика приложений») — набор утилит для создания модификаций на движке Source, бесплатно распространяемый Valve через сеть Steam всем игрокам, купившим любую Source-игру от Valve. Данный набор позволяет редактировать карты на двух версиях движка — 15-ой и обновлённой 7-ой (старая версия движка, используемая в Half-Life 2, не используется из-за совместимости с новой версией). Также выпущена версия 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 Engine. В список также включены закрытые, замороженные, а также находящиеся в разработке проекты.

Название игры Разработчик Дата выхода Платформы
Alien Swarm Valve 2010.07.19 ПК (Microsoft Windows)
Counter-Strike: Source Valve 2004.10.07 ПК (Microsoft Windows), Mac OS X, Linux
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), Mac OS X
Dear Esther TheChineseRoom 2012.02.14 ПК (Microsoft Windows)
Dota 2 Valve 2010.10.13 ПК (Microsoft Windows), 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), Mac OS X
Half-Life 2 Valve 2004.11.16 ПК (Microsoft Windows), Mac OS X, Xbox, Xbox 360, PlayStation 3
Half-Life 2: Deathmatch Valve 2004.11.30 ПК (Microsoft Windows), Mac OS X
Half-Life 2: Episode One Valve 2006.06.01 ПК (Microsoft Windows), Mac OS X, Xbox 360, PlayStation 3
Half-Life 2: Episode Two Valve 2007.10.10 ПК (Microsoft Windows), 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)
Portal Valve 2007.10.10 ПК (Microsoft Windows), Mac OS X, Xbox 360, PlayStation 3
Portal 2 Valve 2011.04.19 ПК (Microsoft Windows), Mac OS X, Xbox 360, PlayStation 3
Postal III Running with Scissors, Inc., Акелла, TrashMasters 2011.11.23 ПК (Microsoft Windows), Linux, PlayStation 3,Xbox 360
Team Fortress 2 Valve 2007.10.10 ПК (Microsoft Windows), Mac OS X, Linux, PlayStation 3, Xbox 360
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), 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 Corporation 2006.06.27 Taito Type X+
Black Mesa: Source Black Mesa Team 2012.14.09 ПК (Microsoft Windows)
Dragoon Episodes: Episode 1 N-Game Studios Проект заморожен ПК (Microsoft Windows)
Salvation Black Wing Foundation Проект закрыт ПК (Microsoft Windows)
The Crossing Arkane Studios Проект заморожен ПК (Microsoft Windows)
They Hunger: Lost Souls Black Widow Games Проект закрыт ПК (Microsoft Windows)
Twilight War: After the Fall Smiling Gator Productions Проект закрыт ПК (Microsoft Windows)
Contagion Monochrome Запланирована на 2013 год ПК (Microsoft Windows)
Insurgency 2 New World Interactive Запланирована на 2013 год ПК (Microsoft Windows)
Blade Symphony Puny Human Запланирована на 2013 год ПК (Microsoft Windows)
Counter-Strike Online 2 Nexon Corporation Запланирована на 2013 год ПК (Microsoft Windows)
Refresh: Time Liberty Inc. Запланирована на 2014 год ПК (Microsoft Windows)

Примечания [править]

  1. Valve «State-of-the art games start here»  (англ.). Архивировано из первоисточника 15 февраля 2012. Проверено 9 декабря 2009.
  2. «Valve to Deliver Steam & Source on the Mac». Valve (8 марта 2010). Архивировано из первоисточника 15 февраля 2012. Проверено 8 марта 2010.
  3. «Left 4 Dead 2, Team Fortress 2, Portal and Steam Coming to Mac in April». Kotaku (8 марта 2010). Архивировано из первоисточника 15 февраля 2012. Проверено 8 марта 2010.
  4. Michael Larabel Valve's Gabe Newell Talks Linux Steam Client, Source Engine. Phoronix (25 апреля 2012 года). Архивировано из первоисточника 30 апреля 2012. Проверено 28 апреля 2012.
  5. Gabe Newell Steam for Linux beta program is now open to the public!. Steamcommunity (20 декабря 2012 года). Архивировано из первоисточника 17 января 2013. Проверено 20 декабря 2012.
  6. Заметка об истоках движка в Valve Developer Wiki

Ссылки [править]