Эта статья — об игровом движке. Об исходном коде читайте в статье Исходный код.
Source (в переводе с английского «Источник», официальное название Valve Source Engine) — 3D игровой движок, разработанный корпорацией Valve[3]. Его особенностями считаются модульная основа и гибкость, синхронизация движения губ с речью, технология выражения эмоций и система физики, работающая по сети. Использует общий для продуктов Valve формат моделей движка .mdl. Физическая часть движка Source включает в себя часть переработанного кода Havok Physics и принципы «Ragdoll-физики», также этот движок может работать с видеокартой DirectX 8-9. Дебютом Source можно считать 16 ноября 2004 года — выход первых игр на его основе: Half-Life 2 и Counter-Strike: Source. Содержание [убрать] 1 История названия 2 Платформы, на которых доступен движок 3 История версий 4 Технологические возможности 5 Материалы 6 Модификации 7 Игры на движке Source 8 Примечания 9 Ссылки [править] История названия
Эрик Джонсон объяснил рождение названия Source в сообщении Valve Developer Community: Когда мы были очень близки к релизу Half-Life (где-то в неделе до него), мы поняли, что есть несколько проектов, которые надо начинать разрабатывать, но мы не могли рисковать, что-то меняя в коде выходящей версии игры. Мы решили разделить код в VSS (Microsoft Visual SourceSafe) на $/GoldSrc и /$Src. В течение нескольких лет мы использовали эти термины непосредственно как «GoldSource» и «Source». По крайней мере, первоначально ветка кода GoldSrc относилась к исходному коду уже выпущенной версии, а Src относилась к будущему варианту, с более рискованной технологией, над которой мы работали. Когда пришло время показывать Half-Life 2 в первый раз на выставке Е3, это была часть нашего внутреннего общения ссылаться на Source движок против движка «GoldSource», и название прижилось.
Скриншот из «Half-Life 2: Lost Coast», служащей демонстративной версией движка Source.
[править] Платформы, на которых доступен движок
Source доступен на следующих платформах: Windows, XBox, XBox360, PlayStation 3. Как заявила сама VALVE, «Клиент Steam это Windows-приложение и разработка версии под операционную систему Linux пока не планируется.Тем не менее, существует Linux-версия выделеного сервера для Half-life (Half-Life Dedicated Server).»[4], с 2010 года доступен на Mac OS X. [править] История версий Первая версия В начальных стадиях разработки движок Source Engine визуально выглядел как GoldSource, который использовался в первых проектах Valve Software. Игровое меню в стиле Half-Life и первых версий Steam, текстуры, не накладывавшиеся полностью, и в некоторых проявлениях кровь выглядела также, как и в Half-Life. Впервые эта версия использовалась в украденной версии Half-Life 2 (в народе её обозначают как Half-Life 2: Beta или Half-Life 2 Leak), но она была не совершенна и имела очень мало возможностей, например, на некоторых картах (своеобразные уровни) текстуры выглядели слишком ярко или же очень тускло. Также в этой версии движка использовался фонарик — изначально использовавшийся в Half-Life. Следующие версии Source Engine 2004 Это первый движок (также имеет название Source Engine 7), на котором была выпущена первая игра. Изначально он поддерживает масштабирование, возможность обновлений, шейдерный рендеринг, лицевая анимация, а также динамическое освещение и затемнение. Изначально он использовался в некоторых играх до 15 мая 2010 года. Официально эта версия движка признана устаревшей. Игры, в которых использовалась эта версия: Half-Life 2 — до 15 мая 2010 года; Half-Life 2: Deathmatch — до 15 мая 2010 года; Counter-Strike: Source — до 15 мая 2010 года; Half-Life: Source Vampire: The Masquerade - Bloodlines Source Engine 2005 Это вторая версия движка (также имеет название Source Engine 7: Base Source 2, на котором была выпущена вторая игра. Он был обновлён, и помимо предыдущих функций он поддерживает High Dynamic Range Rendering. Была выпущена всего одна игра с этой версией: Day of Defeat: Source — до 15 мая 2010 года; Half-Life 2: Lost Coast Source Engine 2006 Это третья версия движка (также имеет название Source Engine 8), на котором были выпущены несколько игр. Он был обновлен и поддерживает обновленную лицевую анимацию, многоядерный рендеринг (но его включение было невозможным) и обновленный HDR. Эта версия движка была популярной до выхода 2007, ею пользовались многие разработчики компьютерных игр. Было выпущено всего несколько игр: Half-Life 2: Episode One — до 15 мая 2010 года; Half-Life: Deathmatch Source SiN Episodes: Emergence Dark Messiah of Might and Magic Garry's Mod — до 28 сентября 2010 года; Source Engine 2007 Это четвёртая версия движка (имеет название Source Engine 14). Эта версия была сильно доработана и обновлена. Впервые движок был обновлен с выходом Half-Life 2: The Orange Box, также движок стал поддерживать обновлённый шейдерный рендеринг, значительно доработано динамическое освещение и затенение, также появилась система мягких частиц и была добавлена не полноценная кинематографическая физика. Игры, выпущенные на этой версии движка: Half-Life 2: Episode Two Portal Team Fortress 2 Source Engine 2008 Это пятая версия движка (имеет название Source Engine 14: Base Source 3). Эта версия используется только в одной игре, и была доработана кинематографическая физика, и добавлена глубина резкости. Всего одна игра была выпущена на этой версии движка: Left 4 Dead Source Engine 2009 Это шестая, сильно доработанная версия движка (также имеет название Source Engine 15). В этой версии были обновлены все функции и значительно доработана система мягких частиц, лицевая анимация, масштабирование и возможность обновлений. На ней было выпущено несколько игр: Left 4 Dead 2 Zeno Clash Так же с сентября 2010 года эта версия движка появилась и в предыдущих играх от Valve, а именно: Half-Life 2 Half-Life 2: Episode One Half-Life 2: Episode Two Counter-Strike: Source Team Fortress 2 Half-Life 2: Deathmatch и другие. Source Engine 2010 Это седьмая и последняя на этот момент версия движка (также имеет название Source Engine 17). В этой версии добавлена звуковая подсистема. С этой версией была выпущена всего одна бесплатная игра: Alien Swarm Bloody Good Time Примечание Определённо версию движка игр Valve можно назвать только у игр, выходящих до 2007 года включительно. Так как например в Source SDK при выборе игры выбирается и движок, где чётко написано Source Engine 2006/2007/2009, так же в консоли можно посмотреть версию движка (protocol version), исходя из этого есть названия Source Engine 7/14/15. В Left 4 Dead и последующих играх конкретно версию движка назвать нельзя, protocol version тоже отсутствует. Так же версии движков 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. Zeno Clash вышла раньше Left 4 Dead 2, хоть и в 2009, но, судя по системным требованиям, движок скорее такой же, как у Left 4 Dead, а не как у Left 4 Dead 2. [править] Технологические возможности
Source обладает значительными преимуществами по нескольким ключевым аспектам разработки игр: анимация персонажей, продвинутый AI, реалистичная физика и шейдерный рендеринг. Система анимации Source позволяет создавать выразительных персонажей с бесконечной гаммой эмоций на лице, что позволяет им донести до вас сообщение, не сказав ни слова. В дополнение к этому персонажи владеют одним из наиболее продвинутых AI, что делает их крайне умелыми союзниками и врагами. При помощи движка с легкостью можно создавать красивые и реалистичные миры, реагирующие на ваше присутствие. Это позволит разработчикам отойти от создания скриптовых сценок, которые были стандартом для игр прошлого поколения и открыть двери для создания игр абсолютно новых стилей. Source содержит в себе сложный сетевой код, обеспечивающий поддержку для 32 игроков по LAN и Internet и содержит в себе полный набор инструментов для левел-дизайна, анимации персонажей, создания демоверсий и многого другого. Масштабируемость и возможность обновлений Движок Source сделан с расчетом на регулярное обновление, что выражается в его широких возможностях к модификации и улучшению без изменения каких-либо ключевых архитектурных особенностей движка (вот почему, в частности, не наблюдается изменения версии движка с 1.0 до 2.0). В комбинации с системой цифрового распространения Steam движок может обновляться сразу после выхода обновления. Например, если Source начнет поддерживать физические карты, то все игры, распространяемые через Steam и использующие собственно Source, начнут их поддерживать. Подобное можно было наблюдать после добавления разработчиками в движок HDR (High Dynamic Range). Впрочем, тотальная модификация всех Source-игр на практике невозможна, потому что создателям модификаций не доступна система обновлений, а значит, развивать движок могут только сами разработчики. Шейдерный рендеринг В Source используются шейдеры Direct3D версии 3.0 High Dynamic Range Rendering Впервые этот эффект был представлен в Day of Defeat: Source, который вышел 26 сентября 2005 года. Поддержка HDR стала одной из первых существенных модификаций движка. Эффект заключается в динамическом изменение яркости всего/отдельных участков изображения (например адаптация глаз к дневному свету). Лицевая анимация Данная технология несколько раз совершенствовалась Valve. Лицевая анимация позволяет компьютерным персонажам максимально эффективно выражать эмоции, и отображать соответствующие произносимым звукам движения губ. Примечательно, что новая технология использует исключительно ресурсы видеокарты, снимая нагрузку с процессора. Технология доступна во всех играх, использующих движок Source, равно как и для всех модификаций для этих игр. Динамическое освещение и затенение К релизу Orange Box была доработана система освещения. Помимо старого типа прорисовки теней была добавлена возможность просчета теней по технологии Shadow Map, позволяющей прорисовывать правильные динамические тени (с учетом самозатенения и пр.). Заранее просчитанное освещение Геометрия мира освещена при помощи заранее просчитанных карт освещения. Статическое освещение (Vraid) может с высокой точностью (настраивается) просчитывать освещение, включая отражение света от зеркальных/матовых поверхностей, преломление света, частичное затенение (например полупрозрачные объекты). Косвенное освещение Любые объекты в мире могут отражать свет уловленный с других объектов. Например: белый квадрат на черном фоне, поскольку квадрат светлее фона, то и небольшая область вокруг него будет светлее. Глубина резкости Глубина резкости используется для того, чтобы выдвинуть некоторые объекты на первый план а другие, те что позади представить размытыми. Динамическая коррекция цвета Для придания нужной атмосферы может использоваться коррекция цвета. Например можно стилизовать игру под чёрно-белый фильм. LOD В Source используется динамическое изменение детализации моделей и геометрии мира, что значительно повышает производительность на слабых компьютерах. Многоядерный рендеринг С обновлением движка Orange Box до 15 версии появилась функция многоядерного рендеринга, позволяющая получить прирост производительности на многоядерных процессорах. Система мягких частиц Обновление движка к релизу Orange Box внесло новую систему частиц, с помощью которой теперь вырисовываются такие эффекты, как огонь, дым, брызги крови, и т. д. Кинематографическая физика Во время той же июльской пресс конференции Electronic Arts было объявлено, что бывший сотрудник Weta Digital Грей Хорсфилд занимается созданием системы кинематографической физики для Source. Примеры такой физики можно увидеть в последнем тизере Half-Life 2: Episode Two, в сцене с разрушающимся мостом. Кинематографическая физика поддерживает систему ключевых кадров, детали к которым добавляет физическая система. Данная система добавляет следующие возможности к физическому симулятору движка Source: Деформируемые объекты — до этого физические модели не могли быть изменены каким-либо образом, кроме как на основе заранее просчитанной анимации. Динамическое разрушение игровой геометрии — до этого линии разрушения должны были указываться создателем карты. Кинематографическая физика поддерживает систему ключевых кадров, однако её точное поведение на данный момент не известно. Вполне вероятно, что у аниматоров появится возможность создавать длительные сцены с маленьким количеством ключевых моментов, детали к которым будет добавлять физическая система. Возможно, что аниматоры будут создавать несколько конечных положений, используемых для просчёта движений между ними (наподобие технологии Endorphin NaturalMotion). В конечном итоге разработчики получают в руки технологию, которая позволяет им создавать гораздо более сложные сцены чем раньше, затрачивая на это те же самые ресурсы. Эффекты частиц Наиболее продвинутая реализация эффектов окружающей среды — это система частиц. Частицы позволяют создать очень реалистичные взрывы, воду, снег. Для устранения резких границ частиц используется сглаживание. Вода Вода в Source Engine имеет динамически просчитываемые отражения, а так же всплески и брызги. A.I. System В Source используется один из самых продвинутых A.I. Персонажи под управлением Искусственного Интеллекта, могут прыгать, бегать, летать, ползать, плавать, закапываться, атаковать. Сложное построение карт перемещений помогает NPC обходить вокруг препятствий, прятаться за ними. NPC ориентируются благодаря слуху, нюху, зрению. Звуковая подсистема Звуковой движок построен на основе звуковой библиотеки Miles Sound System версии 6.6a. Библиотека использует для вывода программный интерфейс DirectSound и программный цифровой сигнальный процессор. [править] Материалы Система материалов Source engine использует систему материалов для описания свойств объекта. Из чего сделан объект, тонет ли он, как влияет на друге объекты его поверхность (например: машина скользящая на льду). Карты нормалей Для придания материалам объёма в Source Engine используются карты нормалей, которые определяют, как будут освещены отдельные точки на поверхности. Смешивание текстур В Source Engine поддерживается смешивание текстур, мягкие переходы от одной текстуры к другой. Звуковая подсистема Звуковой движок построен на основе звуковой библиотеки Miles Sound System версии 6.6a. Библиотека использует для вывода интерфейс DirectSound и программный цифровой сигнальный процессор. Основная физика Воссоздается благодаря переработанному физическому движку Havok. Он позволяет Движку рассчитывать многие физические объекты, такие как твёрдые тела, упругие тела, верёвки, поверхности и т. п. Транспортные средства В Source Engine используется технология для создания очень реалистичных транспортных средств, от машины до катера на воздушной подушке и вертолёта. Для просчёта поведения транспортного средства на дороге/в воздухе, используется очень много параметров, например сцепление колёс с дорогой, вес машины и т. п. Верёвки кабели Могут динамически вести себя, встряхиваться, обрываться. «Тряпичная кукла» Для придания реалистичного движения тела, используется физика «Тряпичной куклы» (в последних версиях Source Engine совмещена с анимацией). Анимационная физика В Source Engine Анимация может смешиваться с физикой, что дает прирост реалистичности. Кинематографическая физика Во время той же июльской пресс конференции Electronic Arts было объявлено, что бывший сотрудник Weta Digital Грей Хорсфилд занимается созданием системы кинематографической физики для Source. Примеры такой физики можно увидеть в последнем тизере Half-Life 2: Episode Two, в сцене с разрушающимся мостом. Кинематографическая физика поддерживает систему ключевых кадров, детали к которым добавляет физическая система. Данная система добавляет следующие возможности к физическому симулятору движка Source: Деформируемые объекты — до этого физические модели не могли быть изменены каким-либо образом, кроме как на основе заранее просчитанной анимации. Динамическое разрушение игровой геометрии — до этого линии разрушения должны были указываться создателем карты. Кинематографическая физика поддерживает систему ключевых кадров, однако её точное поведение на данный момент не известно. Вполне вероятно, что у аниматоров появится возможность создавать длительные сцены с маленьким количеством ключевых моментов, детали к которым будет добавлять физическая система. Возможно, что аниматоры будут создавать несколько конечных положений, используемых для просчёта движений между ними (наподобие технологии Endorphin NaturalMotion). В конечном итоге разработчики получают в руки технологию, которая позволяет им создавать гораздо более сложные сцены чем раньше, затрачивая на это те же самые ресурсы. Истоки Хотя Valve всегда заявляла, что Source разрабатывался полностью с нуля, ходят слухи, согласно которым этот движок является развитием движка GoldSource (Half-Life), который является модифицированной версией движка Quake engine. Подтверждением тому является схожая с GoldSource система доступа для разработчиков, а также комментарий в блоге Джона Кармака: «в движке Half-Life 2 по-прежнему есть куски кода из движка Quake». Однако у этой версии нет никаких серьёзных доказательств. Утечка кода Source в 2003 году и части кода Source-игр, доступные в рамках Source SDK, не подтвердили её — никаких совпадений найдено не было. Также в Valve Developer Wiki[5] было сказано, что Source — переделка движка GoldSrc. Source SDK 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). Утилиты В стандартный набор входят: Hammer Editor — утилита для создания карт Faceposer — утилита для создания лицевой анимации моделей Model Viewer — просмотрщик моделей формата .mdl Помимо трёх основных утилит набор включает утилиту для распаковки базовых файлов при создании нового мода, а также файлы исходного кода библиотек всех игр Valve, что позволяет вручную создавать игры с изменёнными характеристиками без декомпиляции dll. Однако для компиляции новых файлов необходимо наличие знания языка C++ и компилятора (например Visual Studio). Source SDK Base Также для обеих новых версий движка существуют специальные дополнения — Source SDK Base. По структуре они выглядят как игры и представляют собой уровень-заставку из дополнения Half-Life 2: Lost Coast с эффектами HDR, служащую для тестирования видеокарты. Также они служат базой для тестирования новых модов, причём у модов без качественных изменений становится возможной проверка HDR-эффектов на картах, поэтому при создании мода Source SDK базирует его на SDK Base. Некоторые модмейкеры не изменяют базу мода на какую-нибудь Source-игру по завершении его создания, а оставляют за основу Source SDK Base. Данный подход позволяет владельцам Half-Life 2 на старой версии движка играть в моды на новой версии при отсутствии других Source-игр, но в то же время вынуждает остальных пользователей закачивать дополнительный контент. [править] Модификации Основная статья: Список модификаций игр компании Valve
Для движка Source было создано огромное количество любительских модификаций, самые качественные из которых доступны для загрузки через Steam и снабжены поддержкой Steamworks. На данный момент это следующие моды: Synergy — кооперативная модификация, поддерживающая карты Half-Life 2, Half-Life 2: Episode One, Half-Life 2: Episode Two, Half-Life 2: Lost Coast и модификаций Minerva и Riot Act. Insurgency: Modern Infantry Combat — довольно реалистичный командный шутер, посвященный войне в Ираке Dystopia — футуристический командный шутер Age of Chivalry — средневековые битвы D.I.P.R.I.P. — футуристические гонки на выживание Eternal Silence — битвы на космических кораблях Zombie Panic: Source — зомби-шутер Pirates, Vikings and Knights II — средневековые битвы пиратов, викингов и рыцарей [править] Игры на движке Source Название игрыРазработчикДата первого выходаПлатформыВерсия движка Counter-Strike: SourceValve Corporation2004 год, 7 октябряPC и Mac OS XSource Engine 2009 Day of Defeat: SourceValve Corporation2005 год, 26 сентябряPC, Mac OS XSource Engine 2009 Half-Life 2Valve Corporation2004 год,16 ноябряPC, Mac OS X, Xbox, Xbox 360, PlayStation 3Source Engine 2009 Half-Life 2: DeathmatchValve Corporation2004 год, 30 ноябряPC, Mac OS XSource Engine 2009 Half-Life 2: Episode OneValve Corporation2006 год, 1 июняPC, Mac OS X, Xbox 360, PlayStation 3Source Engine 2009 Half-Life 2: Episode TwoValve Corporation2007 год, 10 октябряPC, Mac OS X, Xbox 360, PlayStation 3Source Engine 2009 Half-Life: SourceValve Corporation2004 год, 1 июняPCSource Engine 2004 Half-Life Deathmatch: SourceValve Corporation2006 год, 1 маяPCSource Engine 2006 Half-Life 2: Lost CoastValve Corporation2005 год, 27 октябряPCSource Engine 2006 PortalValve Corporation2007 год, 10 октябряPC, Mac OS X, Xbox 360, PlayStation 3Source Engine 2009 Portal 2Valve Corporation2011 год, 20 апреляPC, Mac OS X, Xbox 360, PlayStation 3 Team Fortress 2Valve Corporation2007 год, 10 октябряPC, Mac OS X, Xbox 360, PlayStation 3Source Engine 2009 Left 4 DeadValve Corporation и Certain Affinity2008 год, 18 ноябряPC, Mac OS X, Xbox 360Source Engine Left 4 Dead Left 4 Dead 2Valve Corporation2009 год, 17 ноябряPC, Mac OS X, Xbox 360Source Engine Left 4 Dead 2 Alien SwarmValve Corporation2010 год, 19 июляPCSource Engine Alien swarm DOTA 2Valve Corporation2011 годPC, Mac OS X Garry's ModTeam Garry2006 год, 29 ноябряPC, Mac OS XSource Engine 2010 Vampire: The Masquerade - BloodlinesTroika Games2004 год, 16 ноябряPC SiN Episodes: EmergenceRitual Entertainment2006 год, 10 маяPC The ShipOuterlight2006 год, 11 июляPC Dark Messiah of Might and MagicArkane Studios и Kuju Entertainment2006 год, 27 октябряPC Zeno ClashACE Team2009 год, 9 октябряPC, Xbox 360 Postal IIIRunning With Scissors, Акелла и TrashMasters2010 год, IV кварталPC, Xbox 360, PlayStation 3 Nuclear DawnInterWave Studios2010 год, октябрьPC, Mac OS X, Xbox 360
|