Історія технологій - id Tech Engine
ЗАГАЛЬНА ІНФОРМАЦІЯ ПРО ТЕХНОЛОГІЮ |
Почнемо мабуть з передісторії, з движка, який заклав фундамент для створення сучасних ігор, а саме Wolfenstein 3D engine. Wolfenstein 3D engine відноситься до псевдотривимірних двигунів - це означає, що графіка Wolfenstein 3D engine намагається імітувати тривимірний ігровий простір, але не є тривимірною. Двигун розроблявся переважно Джоном Кармаком, головним програмістом компанії id Software для гри Wolfenstein 3D, що вийшла 5 травня 1992 року.
Для свого часу двигун мав найреволюційніші технології та можливості, але був найбільш оптимізованим під низькі системні вимоги і будь-яке ігрове залізо того часу.
ОСОБЛИВОСТІ Wolfenstein 3D engine |
Всі об'єкти в ньому відображаються у вигляді спрайтів – двомірних малюнків, що змінюють розмір залежно від відстані. Спрайти використовувалися у всіх 2.5D движках і в перших тривимірних іграх, наприклад, движок BUILD-engine та ігри DukeNukem3D, Shadow Warrior, Exhumed і Redneck Rampage. Пов'язано це з тим, що використання спрайтів замість текстур знижує споживання ресурсів.
Для відсікання невидимих стін та їх граней використовується рейкастинг. Рейкастинг - технологія, яка в реальному часі аналізує та відображає 3D положення на 2D екран з урахуванням дальності знаходження від сторін.
Двигун також реалізує VGA графіку, текстуровані стіни і можливість використання звукової карти замість вбудованого динаміка.
ОБМЕЖЕННЯ Wolfenstein 3D engine |
Більшість обмежень даного движка пов'язані з тим, що ігрова карта розташовувалася на двомірної сітці, тобто. фактично була двовимірною. Неможливим був рух по вертикалі. Особливе уявлення створювало ілюзію тривимірності. Так виникло поняття 2.5D двигунів. У ньому не підтримується відмінність геометричної висоти, відмінності у освітленості. Стіни можуть бути орієнтовані тільки як "північ-південь" або "захід-схід". Двигун виключає також наявність похилих поверхонь.
Цікавий факт - за словами Джона Кармака, ігровий движок був створений під натхненням від технологічної демоверсії комп'ютерної рольової гри від першої особи Ultima Underworld: The Stygian Abyss в 1991. Кармак стверджував, що зможе створити швидший візуалізатор, у чому досяг успіху.
id Tech 1 ENGINE |
id Tech 1 - двигун, розроблений американською компанією id Software і застосовується в комп'ютерних іграх Doom, Heretic, HeXen, Strife, HacX та інших іграх, створених за ліцензією. Так само є псевдотривимірним двигуном, але цього разу акцент у розробці був не на швидкодію двигуна, Wolfenstein 3D engine став основою, яку слід доопрацювати. Спочатку написаний на комп'ютерах NeXT, потім для першого релізу Doom був портований під DOS, а пізніше ще на кілька ігрових консолей та операційних систем.
ОСОБЛИВОСТІ РУХУ |
Відразу ж перейдемо до особливостей движка та його відмінностей від передшвенника Wolfenstein 3D engine. По-перше підлога і стеля тепер можуть мати будь-яку висоту та орієнтація стін не обов'язково у напрямку «північ-південь» або «захід-схід». З'явилася освітленість, що змінюється, що підвищує реалістичність графіки.
Ліфти, двері, що дистанційно відкриваються, опускаються і притискають стелі, піднімаються сходинки та інші рухомі елементи. Використання технологій, які дозволяли переповідатися у висоту, що позитивно вплинуло на геймплей. Тепер персонажі могли стрибати, падати з дахів та літати в повітрі.
Звукова підсистема підтримувала стереозвук та мікшування до 8 ефектів одночасно. Стереозвук дозволяв відтворювати звук з різних боків від гравця, підвищуючи цим реалістичність гри.
Персонаж під час руху погойдувався вгору-вниз, що створило ілюзію ходьби. Дозволялося підключення додаткових модулів із рівнями, графікою та звуками. Ідея розширюваності пішла від Джона Кармака, який сам модифікував ігри та хотів, щоб інші це робили.
НЕДОЛІКИ РУХУ |
Лабіринт (карта рівня) має горизонтальну підлогу зі стелею та вертикальні стіни. Лабіринт створювався таким чином, що дві кімнати не можуть бути одна над одною. Таким чином, карта рівня є абсолютно двовимірною.
Недоопрацювання в системі переміщення по висоті створювало багато невідповідностей і багів ігрового процесу, так, наприклад, платформа могла рухатися тільки вгору і вниз без можливості руху вліво та вправо. У всій грі масштаб спрайтів та текстур постійний. Тому було неможливо встановити високодеталізований плакат на менш детальній стіні. Автори так і не опрацювали вертикальні зіткнення об'єктів. Тому ірок не мав можливості пробігти під якодемоном або, розігнавшись на якомусь даху, перестрибнути через смолоскип.
Гра не робила й інших перевірок по осі Z — наприклад, імп, що нишпорить у підвалі, цілком міг завдати пошкодження гравцеві, який перебував у парі сотень метрів вище, на горищі, а ракета, що вибухнула біля основи будівлі, завдавала шкоди монстру на даху. Гравець міг використовувати перемикачі незалежно від висоти.
Особлива структура рівня вимагала промальовування рівня перед його запуском. Складання відбувається автоматично - на комп'ютерах того часу менш ніж за хвилину, проте, це заважало переглядати рівень у реальному часі прямо по ходу редагування. До того ж, двійкове розбиття ділило стіни на «відрізки» — це ускладнювало геометрію рівня. Таке розбиття називається BSP-дерево (Binary Space Partition) і використовується для виявлення зіткнень та сортування візуальних об'єктів у порядку віддалення від спостерігача.
З цієї ж причини ліфти та платформи можуть рухатися вгору-вниз, але не в горизонтальній площині. Обмежений горизонтальний рух у Hexen не міг зрівнятися в силі з вагончиками Duke Nukem 3D. Висота текстури, якщо та повторюється по вертикалі, повинна завжди дорівнювати 128 текселям. Для текстур, що не повторюються, це не потрібно. Виправлено у численних портах Doom.
СИСТЕМНІ ВИМОГИ ДЛЯ id Tech 1 ENGINE |
Мінімальні системні вимоги | Ефективні системні вимоги | Оптимальні системні вимоги |
процесор: pentium-pro
Оперативна пам'ять: 32 Мб RAM
Відео: 2 Мб
Операційні системи: DOS |
процесор: AMD Athlon або Пентій II
Оперативна пам'ять: 64 Мб RAM
Відео: 8 Мб
Операційні системи: Windows 98SE/2000/XP |
процесор: AMD Athlon або Пентій II
Оперативна пам'ять: 64 Мб RAM
Відео: 16 Мб
Операційні системи: DOS |
id Tech 2 ENGINE |
id Tech 2, раніше відомий як Quake II engine, - ігровий движок, розроблений Джоном Кармаком у 1997 році. Двигун, крім того, що це був перший 3D движок, мав безліч нововведень, які вплинули навіть на сучасну ігрову спільноту. Хоча двигун розроблявся насамперед для гри Quake II, пізніше його ліцензувало безліч інших розробників. Дерево розвитку двигунів Quake ілюструє, які ігри та двигуни засновані на id Tech 2.
Процесори 1997 року були все ще слабкими, що виключало підтримку покрокового провантаження рівня, як портали в Build engine. Формат рівнів так само використовує BSP-дерево. Додатково до нього двигун використовує технологію Скайлайн - полігони рівнів прораховуються спочатку зверху, до умовної межі-горизонту не як змодельовано на рівні, а як бачить персонаж, потім знизу.
Кармак розробляв інтерфейс для дизайну рівнів, який дозволяв набагато швидше розробляти гру, оскільки сама компіляція займала кілька годин. Так само були використані різні трюки оптимізації - під час самої компіляції система за допомогою різних алгоритмів поділялася на два простори, які мав бачити гравець і не мав бачити. Простір, який гравець бачив, гра видаляла, що діяло оптимізацією під час ігрового процесу, але все одно на розрахунок вимагала багато часу. Для роботи даного методу була потрібна повна герметизація рівня.
Для неба було використано одну статичну SkyBox текстуру, яка могла розтягувати сама себе під час компіляції для надання ефекту безкрайнього горизонту.
У двигун були вбудовані функції, які дозволяли завдати зміни геометрії рівня т.к. процес компіляції займав дуже багато часу, ці функції спрощували життя розробникам.
Замість статичного освітлення двигун став використовувати тривимірні джерела світла і метод лайтмапів - карт освітлення, в яких світлові дані для кожної поверхні попередньо розраховані і збережені як зображення у файлах. Для створення розрахункових карт тіней id Software використовувала метод radiosity. Лайтмапи використовуються для визначення того, яку інтенсивність світла повинна отримати кожна модель, але вони не визначають напрямок, через що можна було спостерігати, що тіні іноді йшли незалежно від напрямку ламп або просто висіли на повітрі. Крім того, в програмному рендерингу світло було простим і білим, а в апаратному, тобто в OpenGL, було кольоровим. Кольорове освітлення в 3d action було вперше реалізовано саме в цьому двигуні.
Іншою цікавою особливістю був поділ рендерера на компоненти, що знаходилися в окремих DLL-файлах. Саме це дозволило включити в двигун два рендерери, які знаходилися в окремих файлах. Також це дозволяло модифікувати двигун для ігор. Ігрова логіка була також винесена в окремі файли з двох причин:
id Software могла опублікувати вихідний код цих бібліотек, водночас зберігаючи закритим вихідний код самого рендерера інших елементів движка. Оскільки бібліотеки були відкомпільовані для рідної платформи замість інтерпретування, вони могли працювати швидше, ніж аналогічні компоненти Quake, які мали виконувати ігрову логіку QuakeC в обмеженому інтерпретаторі.
СИСТЕМНІ ВИМОГИ ДЛЯ id Tech 2 Engine |
Мінімальні системні вимоги | Ефективні системні вимоги | Оптимальні системні вимоги |
процесор: pentium-pro
Оперативна пам'ять: 32 Мб RAM
Відео: 2 Мб
Операційні системи: DOS |
процесор: AMD Athlon або Пентій II
Оперативна пам'ять: 64 Мб RAM
Відео: 8 Мб
Операційні системи: Windows 98SE/2000/XP |
процесор: AMD Athlon або Pentium II
Оперативна пам'ять: 64 Мб RAM
Відео: 16 Мб
Операційні системи: DOS |
id Tech 3 ENGINE |
1999 вийшов двигун idTech 3, який дебютував з Quake III Arena. Спочатку двигун носив ім'я Quake 3 Engine, але з розробкою нового двигуна компанії id Software, id Tech 4 і переходом на іншу схему найменування розроблених двигунів, його стали називати id Tech 3. Двигун id Tech 3 не базується на id Tech 2 і був написаний з чистий лист. На момент виходу першої гри на даній технології, конкурентами двигуна на ринку вважалися Unreal Engine першої та другої версії та перші версії движків Lithtech.
Технологічні особливості двигуна помітно покращилися за два роки після виходу idTech 2. Першою помітною зміною було використання тривимірних моделей формату MD3. Можливості анімації в MD3-форматі значно перевершують такі у форматі MD2, який використовує двигун id Tech 2. MD2 моделі мали обмеження на кількість кадрів на секунду (на створення анімації всього 10 кадрів), а в MD3 такого обмеження немає. Це дозволяє створювати більш масштабну та реалістичну анімацію, ніж на движку Quake II.
Іншою важливою особливістю формату MD3 є те, що моделі можуть складатися з кількох частин, скріплених одна з одною. Таким чином, кожна частина тіла персонажа, наприклад, торс, ноги та голова можуть рухатися незалежно один від одного. Кожна частина моделі може мати свій набір текстури.
Двигун має кілька варіантів освітлення залежно від налаштувань користувача. Крім карт освітлення двигун використовує спосіб затінення по Гуро. Принцип методу полягає в послідовному обчисленні нормалей до кожної з граней тривимірної моделі та подальшого визначення нормалей вершин шляхом усереднення нормалей всіх граней, що примикають до вершини. Далі на підставі значень нормалей за обраною моделлю відображення обчислюється освітленість кожної вершини, яка є інтенсивністю кольору у вершині. Двигун здатний освітлювати моделі кольоровим освітленням. Значення кольору освітлення бралося з так званих решіток кольору. Ця властивість надавала на той час дуже досконалу якість освітлення.
id Tech 3 здатний працювати з трьома різними типами тіней. Перший, відносно простий, так званий "міхур" або краплинна тінь - символізувала тим самим тінь персонажа на підлозі. Другий створює непрозорі темні чорні з різкими краями. Третя малює другу напівпрозорість залежно від освітлення об'єкта. Всі ці тіні не "озиралися" на геометрію рівня і запросто "утопають" у стіні.
У движку реалізована віртуальна машина, що дозволяє виконувати частини коду незалежно від основної програми. Це дозволило гнучкіше змінювати сам двигун, але й більш просто портувати ігри на різні платформи, включаючи UNIX подібні системи. У двигуні реалізовані не апаратні шейдери, а програмні у вигляді скриптів. Більше того ці шейдери не обмежувалися лише візуалізацією а й містили опис об'єкта, світла, яке вона випромінює і звук, якщо персонаж пройшов нею чи пірнув у воду, тощо.
СИСТЕМНІ ВИМОГИ ДЛЯ Id Tech 3 ENGINE |
Мінімальні системні вимоги | Ефективні системні вимоги | Оптимальні системні вимоги |
процесор: AMD Athlon або Pentium III 700 Ггц
Оперативна пам'ять: 128 Мб RAM
Відео: 16 Мб
Відеокарта: Radeon 7500 або GeForce MX 200 і вище Операційні системи: Windows 98SE/2000/XP |
процесор: AMD Athlon або Pentium III 1 Ггц
Оперативна пам'ять: 256 Мб RAM
Відео: 32 Мб
Відеокарта: Radeon 7500 або GeForce 2 і вище Операційні системи: Windows 98SE/2000/XP |
процесор: AMD Athlon або Pentium III 1 Ггц
Оперативна пам'ять: 256 Мб RAM
Відео: 64 Мб
відеокарта: Radeon 8500 або GeForce Ti 3 і вище Операційні системи: Windows 98SE/2000/XP |
id Tech 4 ENGINE |
Вихід id Tech 4 був помітною подією в історії комп'ютерних ігор, оскільки свого часу виходу він був одним з найтехнологічніших і інноваційних ігрових двигунів. Двигун був випущений як комерційний продукт, доступний для ліцензування стороннім компаніям. Забігаючи трохи вперед скажемо, що після виходу ID Tech 5, ID Tech 4 переліцензований як вільне ПЗ. Як API двигун використовує OpenGL.
id Tech 4 на початку планувався як розширення для двигуна гри Quake III. Спочатку це представлялося як повне переписування рендеринга движка, при цьому все ще зберігаючи інші підсистеми, такі як доступ до файлів та керування пам'яттю. Однак після того, як нове промальовування стало функціональним, було прийнято рішення переключитися від мови програмування C до C++. Це зажадало повного реструктурування та переписування решти двигуна. У результаті невеликі фрагменти коду ID Tech 3 перекочували в код ID Tech 4.
У id Tech 4 додали безліч нових особливостей, які були відсутні в движку id Tech 3, який передував йому. Вони включали побудову опуклостей з використанням карт нормалей і відблиск освітлення. Doom 3, перша гра на движку id Tech 4, використовує уніфіковану модель, яка генерує освітлення та затінення "на льоту". Це означає, що будь-які джерела світла впливають на всю сцену, а не тільки на її певну частину. До можливостей цієї технології відноситься можливість самозатінення, що реалізується за допомогою тіньових об'ємів. З використанням тіньових об'ємів персонажі можуть відкидати тіні самі на себе: наприклад, підборіддя людини може відкидати тінь на її груди.
Цього разу програмісти з id Software постаралися на славу і розробили новий вигляд динамічного освітлення. Тепер всі джерела світла на карті можуть змінювати свою яскравість і за ними змінюється навколишнє оточення, абсолютно динамічно і «на льоту» в умовах пострендерингу, замість ілюзії динамічності засобами зміни якості об'єктів і текстур.
Також була розроблена абсолютно нова технологія під назвою мегатекстура. Суть мегатекстури полягає в тому, що береться одна величезна текстура, яка покриває всю карту полігонів та високодеталізований ландшафт. У різних частинах самої себе взята текстура починає проявляти різні властивості, будь то пісок, земляна або кам'яна поверхня. Мегатекстура може також зберігати фізичну інформацію про ландшафт, типу сили тяжіння у певних областях, або вказувати, який звуковий ефект повинен програватися, якщо гравець рухається певними частинами карти. Тобто ходьба по скелі здаватиметься відмінною від ходьби травою. Ця технологія використовується в Enemy Territory Quake Wars.
Як звуковий движок використовується технологія EAX від Creative Labs. Мережева модель має вигляд клієнт-сервера.
Недоліком двигуна id Tech 4 було те, що він потребував високопродуктивного графічного прискорювача, який був би принаймні сумісний з OpenGL 2.0, а також мав повністю програмовані піксельні та вертексні шейдери. Сам двигун не підтримував програмне промальовування, яке надавала серія вбудованих графічних карт Intel GMA. Тоді, до появи id Tech 4, сильний CPU міг компенсувати слабку графічну плату. Перед виходом Doom 3 Джон Кармак застерігав гравців, щоб вони не купували графічні плати GeForce 4 MX для гри, оскільки ці плати підтримують OpenGL 1.x, але не OpenGL 2.0.
СИСТЕМНІ ВИМОГИ ДЛЯ id Tech 4 ENGINE |
Мінімальні системні вимоги | Ефективні системні вимоги | Оптимальні системні вимоги |
процесор: AMD Athlon XP 2100+ або Pentium 4 2 ГГц
Оперативна пам'ять: 512 Мб RAM
Відео: 128 Мб
Відеокарта: Radeon 9600 Pro або GeForce FX 5600 та вище Операційні системи: Windows XP / Vista / 7/8 |
процесор: AMD Athlon XP 3200+ або Pentium 4 3.2 ГГц
Оперативна пам'ять: 1024 Мб RAM
Відео: 256 Мб
Відеокарта: Radeon X800XT або GeForce 6800 GT Операційні системи: Windows XP / Vista / 7/8 |
процесор: AMD Athlon X2 3800 + або Основний 2 Duo 6300
Оперативна пам'ять: 1024 Мб RAM
Відео: 512 Мб
Відеокарта: Radeon X1800 XT або GeForce 7800 GT Операційні системи: Windows XP / Vista / 7/8
|
id Tech 5 ENGINE |
id Tech 5 є кросплатформним програмним забезпеченням, призначеним для використання на персональних комп'ютерах, комп'ютерах Macintosh та ігрових консолях Playstation 3 і Xbox 360. Головною особливістю idTech 5, як і його попередників, була і залишається те, що він написаний на OpenGL, а не DirectX. Двигун id Tech 5 використовується в іграх: Rage, Wolfenstein: The New Order і The Evil Within.
Вперше id Tech 5 офіційно анонсовано на конференції Apple's Worldwide Developers Conference, яка відбулася в Сан-Франциско 11 червня 2007 року. Демонстрація відбувалася на восьмиядерному комп'ютері Apple Macintosh, проте демонстраційна версія використовувала лише одне ядро та однопоточну реалізацію API OpenGL. Як відеокарта використовувалася Quadro 7000 з 512 Мбайт відеопам'яті.
На E3 2007, яка проходила з 11 по 13 липня 2007 року в Санта-Моніці, Каліфорнія, двигун був показаний потенційним ліцензіарам, але не публіці. Перша реальна громадська демонстрація відбулася на QuakeCon 2007 під час щорічного лейтмотиву, проведеного самим Джоном Кармаком. Тоді було заявлено, що id Tech 5 буде використовуватися в новій грі, що розробляється від id Software - Rage, яка була заснована на повністю новій інтелектуальній власності.
На QuakeCon 2007 Джон Кармак, провідний розробник ігрових двигунів в id Software, заявив сайту «LinuxGames» про своє прагнення мінімізувати використання в движку сторонніх комерційних технологій, які в кінцевому рахунку не дадуть можливості зробити двигун відкритим. Отже, зрештою буде опубліковано вихідний код id Tech 5, як і його попередників.
При демонстрації двигуна було використано близько 20 ГБ текстурних даних та повністю динамічний мінливий світ. У движку використовується розширена технологія MegaTexture, яка використовує текстуру з роздільною здатністю до 128 000 × 128 000 пікселів (у 16 разів більше в порівнянні з останньою версією id Tech 4, де використовувалася текстура розміром 32 768 × 32 768 п.).
Через скритну політику id Software, повної інформації про двигун немає, але можна зробити деякі висновки. id tech 5 використовує ще шейдери версії 3.0, що рівносильно DirectX 9.0. Відмінності цієї версії двигуна від попередника полягає у двох особливостях, перша - це використання технології Penumbra. Технологія дозволяє створювати згладжені півтіні в процесі рендеру, а ефект досягається за допомогою тіньових карт. Це не схоже на спосіб затінення двигуна id Tech 4, де тіні виходять з дуже різкими краями. Друга – це доопрацювання технології мега текстур.
СИСТЕМНІ ВИМОГИ ДЛЯ id Tech 5 ENGINE |
Мінімальні системні вимоги | Ефективні системні вимоги | Оптимальні системні вимоги |
процесор: AMD Athlon X4 або Core 2 Quad
Оперативна пам'ять: 2048 Мб RAM
Відео: 1024 Мб
Відеокарта: Radeon HD 2900 або GeForce 8800 GTX Операційні системи: Windows XP / Vista / 7/8 |
процесор: AMD Athlon X4 або Core i 3
Оперативна пам'ять: 3078 Мб RAM
Відео: 1536 Мб
Відеокарта: Radeon HD 7770 або GeForce GTX 560 Операційні системи: Windows XP / Vista / 7/8 |
процесор: AMD FX 4350 або Core i 5
Оперативна пам'ять: 4096 Мб RAM
Відео: 2048 Мб
Відеокарта: Radeon HD 6970 або GeForce GTX 580 Операційні системи: Windows XP / Vista / 7/8
|
Оцініть id Tech 1 1 1 1 1 1 1 1 1 1 Рейтинг 100% [6 Голосів (ів)] |
Оцініть id Tech 4 1 1 1 1 1 1 1 1 1 1 Рейтинг 94% [8 Голосів (ів)] |
Оцініть id Tech 5 1 1 1 1 1 1 1 1 1 1 Рейтинг 94% [8 Голосів (ів)] |