Реферат source sdk

    Вступ
  • 1 Історія назви
  • 2 Платформи, на яких доступний движок
  • 3 Історія версій
  • 4 Технологічні можливості
  • 5 Матеріали
  • 6 Основна фізика
  • 7 Витоки
  • 8 Створення ігр та модів до них
  • 9 Модифікації
  • 10 Ігри на движку Source Примітки

1. Історія назви

Ерік Джонсон пояснив народження назви 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.

2. Платформи, на яких доступний движок

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

У початкових стадіях розробки движок 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 7: Base Source 2. на якому була випущена друга гра. Він був оновлений, і крім попередніх функцій він підтримує High Dynamic Range Rendering. Була випущена всього одна гра з цією версією:

Це четверта версія движка (має назву Source Engine 14). Ця версія була сильно дороблена і оновлена. Вперше движок був оновлений з виходом Half-Life 2: The Orange Box, також движок став підтримувати оновлений шейдерний рендеринг, значно доопрацьовано динамічне освітлення і затінення, також з'явилася система м'яких частинок і була додана не повноцінною кінематографічна фізика. Ігри, випущені на цій версії движка:

Це п'ята версія движка (має назву Source Engine 14: Base Source 3). У ній була доопрацьована кінематографічна фізика і додана глибина різкості. Всього одна гра була випущена на цій версії движка:

Це шоста, сильно дороблена версія движка (також має назву Source Engine 15). У цій версії були оновлені всі функції і значно доопрацьована система м'яких частинок, лицьова анімація, масштабування і можливість оновлень. На ній було випущено кілька ігор:

Це сьома версія движка (також має назву Source Engine 17). У цій версії додана звукова підсистема. З цією версією були випущені дві гри:

Це восьма і остання на даний момент версія движка. На цьому движку випущена тільки одна гра:

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

Half-Life 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

Динамічне освітлення і затінення

До релізу Orange Box була доопрацьована система освітлення. Крім старого типу промальовування тіней була додана можливість прорахунку тіней за технологією Shadow Map, що дозволяє промальовувати правильні динамічні тіні (з урахуванням самозатінення та ін.).

Заздалегідь прораховане освітлення

Геометрія світу освітлена за допомогою заздалегідь прорахованих карт освітлення. Статичне освітлення (Vrad) може з високою точністю (налаштовується) прораховувати висвітлення, включаючи віддзеркалення світла від дзеркальних або матових поверхонь, заломлення світла, часткове затінення (наприклад, напівпрозорі об'єкти).

Будь-які об'єкти в світі можуть відбивати світло вловлений з інших об'єктів. Наприклад: білий квадрат на чорному тлі, оскільки квадрат світліше фону, то і невелика область навколо нього буде світліше.

Глибина різкості використовується для того, щоб висунути деякі об'єкти на перший план, а інші, ті що позаду, уявити розмитими.

Динамічна корекція кольору

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

У Source використовується динамічна зміна деталізації моделей і геометрії світу, що значно підвищує продуктивність на слабких комп'ютерах.

З оновленням движка Orange Box до 15 версії з'явилася функція многоядерного рендеринга, що дозволяє отримати приріст продуктивності на багатоядерних процесорах.

Система м'яких частинок

Оновлення движка до релізу Orange Box внесло нову систему частинок, за допомогою якої тепер вимальовуються такі ефекти, як вогонь, дим, бризки крові, і т. Д.

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

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

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

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

Вода в Source Engine має динамічно прораховані відображення, а також сплески і бризки.

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

Звуковий движок побудований на основі звукової бібліотеки Miles Sound System версії 6.6a. Бібліотека використовує для виведення програмний інтерфейс DirectSound і програмний цифровий сигнальний процесор.

5. Матеріали

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

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

У Source Engine підтримується змішування текстур, м'які переходи від однієї текстури до іншої.

6. Основна фізика

Відтворюється завдяки переробленому фізичному движку Havok. Він дозволяє Движку розраховувати багато фізичні об'єкти, такі як тверді тіла, пружні тіла, мотузки, поверхні і т. П.

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

Динамічна поведінка (наприклад, можуть струшуватися або обриватися).

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

У Source Engine анімація може змішуватися з фізикою, що дає приріст реалістичності.

8. Створення ігр та модів до них

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, що дозволяє вручну створювати гри зі зміненими характеристиками без декомпіляції движка. Однак для компіляції нових файлів необхідна наявність знання мови C ++ і компілятора (наприклад Visual Studio).

Source SDK Base

9. Модифікації

Для движка 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 - середньовічні битви піратів, вікінгів і лицарів

10. Ігри на движку Source

Схожі статті