Source (ігровий рушій)

Valve Source Engine, або Source (англ. джерело), ігровий рушій, розроблений корпорацією Valve[1]. Його особливостями вважаються модульна основа і гнучкість, синхронізація рухів губ з промовою, технологія вираження емоцій і система фізики, що працює по мережі. Використовує загальний для продуктів Valve формат моделей рушія .mdl.

Source Engine
Тип Ігровий рушій
Розробник Valve Corporation
Стабільний випуск Source Engine 24 (Build 5345) (2013)
Версії Source Engine 24 / 2021
Платформа Microsoft Windows, macOS, PlayStation 3, Xbox, Xbox 360, Xbox One, Linux і Android
Операційна система Mac OS X, Microsoft Windows, Xbox, Xbox 360, Xbox One, PlayStation 3, PlayStation 4, Linux
Мова програмування C++
Ліцензія Власницьке програмне забезпечення
Вебсайт source.valvesoftware.com

 Source Engine у Вікісховищі

Фізична частина 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

Підтримувані платформи

Спочатку Source був доступний на наступних платформах: Windows, Xbox, Xbox 360, 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 були доступні в закритому бета-тестуванні.

Історія версій

Скріншот з Half-Life 2: Lost Coast, що слугує демонстраційною версією рушія 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. Офіційно ця версія рушія визнана застарілою і не використовується жодною з ігор в Steam.
  • Half-Life 2 — до 2005 року.
  • Half-Life 2: Deathmatch — до 2005 року
  • Counter-Strike: Source — до 2005 року.
  • Half-Life: Source — до 2005 року.
Source Engine 2005

(Source Engine 7: Source Engine)

Оновлена версія 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. Він був оновлений і підтримує оновлену лицьову анімацію, багатоядерний рендеринг (але його включення було неможливим) і оновлений High Dynamic Range Rendering. Ця версія рушія була популярною до виходу 2007, нею користувалися багато розробників відеоігор. Для цієї версії рушія було випущено велику кількість модифікацій з власними dll-файлами (крім того, випущеними для більш ранніх версій моди сумісні і з цією версією), які не працездатні на більш пізніх версіях, тому серед гравців вона залишається досить популярною і по сей день .
  • 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, тому моди з власними dll, випущені для більш ранніх версій, не сумісні з даною і більш пізніми версіями.
Source Engine 2008

(Source Engine 14: Base Source 3)

Це п'ята версія рушія. У ній була доопрацьована кінематографічна фізика і додана глибина різкості.
Source Engine 2009

(Source Engine 15)

Це шоста, сильно дороблена версія рушія. У цій версії були оновлені всі функції і значно дороблена система м'яких частинок, лицьова анімація, масштабування і можливість оновлень.
  • Left 4 Dead 2
  • Zeno Clash
  • Postal III (випущена 23 листопада 2011 року)

Також з вересня 2010 року:

Source Engine 2010

(Source Engine 17)

Це сьома версія рушія.
  • Alien Swarm.
  • Bloody Good Time.
  • Day of Defeat: Source.
Source Engine 2011 Це восьма версія рушія.
Source Engine Multiplayer

(Source Engine 19)

Нова модифікація рушія під потреби мультиплеєрної складової ігор. (Оновлення 8 листопада 2010 року)
  • 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)

Нова версія. (оновлення 30 листопада 2010 року і 2 грудня 2010 року)
Source Engine Multiplayer

(Source Engine 23)

Нова модифікація рушія під потреби мультиплеєрної складової ігор. Містить в основному виправлення помилок попередніх версій, підвищення стабільності роботи, а також покращена сумісність з Big Picture Mode в Steam. (оновлення 21 грудня 2012 та 6 лютого 2013)

Технологічні можливості

Основні

Half-Life 2: демонстрація системи освітлення (тіні та вогники), якості текстур і частково прозорих поверхонь (сітки), а також деколей (рельєф стін) та руйнованих об'єктів (розламані дошки)

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

Система анімації 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 версії з'явилася функція багатоядерного рендерингу, що дозволяє отримати приріст продуктивності на багатоядерних процесорах.

Кінематографічна фізика

Під час тієї ж липневої прес конференції Electronic Arts було оголошено, що колишній співробітник Weta Digital Грей Хорсфілд займається створенням системи кінематографічної фізики для Source. Приклади такої фізики можна побачити в останньому тизері Half-Life 2: Episode Two в сцені з напівзруйнованих мостом. Кінематографічна фізика підтримує систему ключових кадрів, деталі до яких додає фізична система.

Дана система додає наступні можливості до фізичної підсистеми рушія Source:

  • Деформовані об'єкти — до цього фізичні моделі не могли бути змінені будь-яким чином, окрім як на основі заздалегідь прорахованої анімації.
  • Динамічне руйнування ігрової геометрії — до цього лінії руйнування повинні були зазначатися творцем карти.

Кінематографічна фізика підтримує систему ключових кадрів, проте її точна поведінка на даний момент не відома. Можливо, що аніматори будуть створювати кілька кінцевих положень, використовуваних для прорахунку рухів між ними, на зразок технології Endorphin NaturalMotion. В кінцевому результаті розробники отримують в руки технологію, яка дозволяє їм створювати набагато більш складні сцени ніж раніше, витрачаючи на це ті ж самі ресурси.

Система частинок

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

Штучний інтелект

У Source використовується один із найбільш просунутих штучних інтелектів. Персонажі під управлінням штучного інтелекту можуть стрибати, бігати, літати, повзати, плавати, закопуватися, атакувати. Складна побудова карт переміщень допомагає неігровим персонажам обходити перешкоди, ховатися за ними. Неігрові персонажі орієнтуються завдяки слуху, нюху, зору.

Матеріали

Source engine використовує систему матеріалів для опису властивостей об'єкта. З чого зроблений об'єкт, чи він тоне, як впливає на інші об'єкти своєю поверхнею. Для надання матеріалам об'єму в Source Engine використовуються карти нормалей, які визначають, як будуть висвітлені окремі точки на поверхні. В Source Engine підтримується змішування текстур, м'які переходи від однієї текстури до іншої.

Фізика

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

Витоки

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

Модифікації

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

  • Synergy.
  • 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 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. До списку також включені закриті, заморожені, а також ті, що знаходяться в розробці проекти.

Рік випуску Назва Платформа
Windows MacOS PS3 PS4 Xbox Xbox 360 Xbox One Linux Android Коментар
Ігри Valve
2004Half-Life 2ТакТакТакНіТакТакНіТакНі
2004Half-Life 2: DeathmatchТакТакНіНіНіНіНіТакНі
2004Half-Life: SourceТакТакНіНіНіНіНіТакНі
2004Counter-Strike: SourceТакТакНіНіНіНіНіТакНі
2005Day of Defeat: SourceТакТакНіНіНіНіНіТакНі
2005Half-Life 2: Lost CoastТакТакНіНіНіНіНіТакНі
2006Half-Life Deathmatch: SourceТакТакНіНіНіНіНіТакНі
2006Half-Life 2: Episode OneТакТакТакНіНіТакТакТакНі
2007Half-Life 2: Episode TwoТакТакТакНіНіТакТакТакНі
2007Team Fortress 2ТакТакТакНіНіТакТакТакНі
2007PortalТакТакТакНіНіТакТакТакТак
2008Left 4 DeadТакТакНіНіНіТакНіНіНі
2009Left 4 Dead 2ТакТакНіНіНіТакНіТакНі
2010Alien SwarmТакНіНіНіНіНіНіНіНі
2011Portal 2ТакТакТакНіНіТакТакТакНі
2012Counter-Strike: Global OffensiveТакТакТакНіНіТакТакТакНі
2013Dota 2ТакТакНіНіНіНіНіТакНіпортована на рушій Source 2 у 2015
Ігри сторонніх розробників
2004Vampire: The Masquerade – BloodlinesТакНіНіНіНіНіНіНіНі
2004Garry's ModТакТакНіНіНіНіНіТакНі
2006SiN EpisodesТакНіНіНіНіНіНіНіНі
2006Dark Messiah of Might and MagicТакНіНіНіНіТакНіНіНі
2006The ShipТакНіНіНіНіНіНіНіНі
2006Kuma\WarТакНіНіНіНіНіНіНіНі
2007DystopiaТакНіНіНіНіНіНіНіНі
2007Insurgency: Modern Infantry CombatТакТакНіНіНіНіНіТакНі
2009Zeno ClashТакНіНіНіНіТакНіНіНі
2009NeoTokyoТакНіНіНіНіНіНіНіНі
2010Bloody Good TimeТакНіНіНіНіТакНіНіНі
2010VindictusТакНіНіНіНіНіНіНіНі
2011E.Y.E.: Divine CybermancyТакНіНіНіНіНіНіНіНі
2011No More Room in HellТакТакНіНіНіНіНіНіНі
2011Nuclear DawnТакТакНіНіНіНіНіНіНі
2011Postal IIIТакНіНіНіНіНіНіНіНі
2011Dino D-DayТакНіНіНіНіНіНіНіНі
2012Dear EstherТакТакНіТакНіНіТакНіНі
2012Black MesaТакНіНіНіНіНіНіТакНі
2013Tactical InterventionТакТакНіНіНіНіНіНіНі
2013The Stanley ParableТакТакНіНіНіНіНіТакНі
2014Blade SymphonyТакНіНіНіНіНіНіТакНі
2014ConsortiumТакНіНіНіНіНіНіНіНі
2014ContagionТакНіНіНіНіНіНіНіНі
2014InsurgencyТакТакНіНіНіНіНіТакНі
2014TitanfallТакТакТакНіНіНіНіНіНі
2015Portal Stories: MelТакТакНіНіНіНіНіТакНі
2015The Beginner's GuideТакТакНіНіНіНіНіТакНі
2016InfraТакНіНіНіНіНіНіНіНі
2016Titanfall 2ТакНіНіТакНіНіТакНіНі
2016Day of InfamyТакТакНіНіНіНіНіТакНі

Примітки

  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 (25 апреля 2012 года). Valve's Gabe Newell Talks Linux Steam Client, Source Engine. Phoronix. Архів оригіналу за 30 квітня 2012. Процитовано 28 квітня 2012.
  5. Gabe Newell (20 декабря 2012 года). Steam for Linux beta program is now open to the public!. Steamcommunity. Архів оригіналу за 17 січня 2013. Процитовано 20 грудня 2012.
  6. Замітка про витоки рушія у Valve Developer Wiki(англ.)(нім.)(пол.)

Посилання

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.