Відмінності між версіями «Ігровий рушій»

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
[перевірена версія][перевірена версія]
м (Бот: Автоматизована заміна тексту: (-(\{\{cite web[^\}]*)\|\s*description\s*=[^\|\}]* +\1))
м (Відкинути редагування 195.69.86.83 до зробленого DixonDBot)
(Не показана 1 проміжна версія ще одного користувача)
(Немає відмінностей)

Версія за 15:47, 13 травня 2013

Ігровий рушій (англ. Game engine) — центральна програмна частина будь-якої відеогри, яка відповідає за всю її технічну сторону, дозволяє полегшити розробку гри за рахунок уніфікації і систематизації її внутрішньої структури. Важливим значенням рушія є можливість створення багатоплатформових ігор (сьогодні найчастіше одночасно для ПК, PS3 та Xbox 360).

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

Історія

Такі системи, як Infocom'івська Z-Machine і SCI компанії Sierra, можна вважати першими закінченими ігровими рушіями. Проте, термін «ігровий рушій» з'явився в середині 1990-х років, головним чином, у зв'язку з 3D-іграми, такими як шутери від першої особи. Ігри Doom і Quake від id Software виявилися настільки популярними, що інші розробники замість того, щоб працювати із чистого аркуша, ліцензували основні частини програмного забезпечення й створювали свою власну графіку, персонажів, зброю й рівні — «ігровий контент» або «ігрові ресурси». Рушій Quake був використаний у більш ніж десяти проектах і дав серйозний поштовх розвиткові middleware-індустрії.

Пізніші ігри, такі як Unreal 1998 року (рушій Unreal Engine) і Quake III Arena (на рушії id Tech 3) 1999 року, були спроектовані із застосуванням даного підходу, з окремо розробленими рушієм і наповненням. Практика ліцензування такої технології виявилася корисним допоміжним прибутком для деяких розробників ігор. Так, вартість однієї ліцензії на комерційний ігровий рушій класу high-end може варіюватися від 10 тис. до 3,75 млн. $ (у випадку Warcraft III)[джерело?], а число ліцензіатів може досягати кілька десятків компаній (як для Unreal Engine). Принаймні, багаторазово використовувані рушії прискорюють і спрощують розробку гри, що є цінною перевагою в конкуруючій індустрії комп'ютерних ігор.

Подальше вдосконалення ігрових рушіїв привело до сильного розділення між рендерингом, скриптингом, художнім дизайном і дизайном рівнів. Зараз для типової команди розробників ігор є цілком звичайним мати в складі стільки ж художників, скільки й програмістів.

Шутери від першої особи залишаються переважними користувачами сторонніх ігрових рушіїв, але зараз такі рушії також використовуються в інших жанрах. Наприклад, RPG Morrowind і MMORPG Dark Age of Camelot засновані на рушії NetImmerse, у той час, як Oblivion і Fallout 3 використовують нову версію даної технології — Gamebryo. Відома MMORPG Lineage II побудована на рушії Unreal Engine 2 (попри те, що даний рушій спочатку призначався для використання в шутерах).

Ігрові рушії також використовуються в іграх, спочатку розроблених для ігрових консолей; наприклад, рушій RenderWare використовується у франчайзах Grand Theft Auto III і Burnout.

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

Огляд

На додаток до багаторазово використовуваних програмних компонентів, ігрові рушії надають набір візуальних інструментів для розробки. Ці інструменти зазвичай складають інтегроване середовище розробки для спрощеної, швидкої розробки ігор на зразок потокового виробництва. Ці ігрові рушії іноді називають «ігровим підпрограмним забезпеченням» (скор. ППЗ; англ. middleware), тому що, з погляду бізнесу, вони надають гнучку й багаторазово використовувану програмну платформу з усією необхідною функціональністю для розробки ігрового застосунка, скорочуючи витрати, складність і час розробки — усі критичні фактори в сильно конкуруючій індустрії відеоігор.

Як й інші ППЗ рішення, ігрові рушії зазвичай платформо-незалежні й дозволяють деякій грі запускатися на різних платформах, включаючи ігрові консолі й персональні комп'ютери, з деякими внесеними у вихідний код змінами (або взагалі без них). Часто ігрове ППЗ має компонентну архітектуру, що дозволяє заміняти або розширювати деякі системи рушія більш спеціалізованими (і часто дорожчими) ППЗ компонентами, наприклад, Havok — для фізики, FMOD — для звуку або SpeedTree — для рендеринга. Деякі ігрові рушії, такі як RenderWare, проектують як набір слабо зв'язаних ППЗ компонентів, які можуть вибірково комбінуватися для створення власного рушія, замість традиційнішого підходу розширення або налаштовування гнучкого інтегрованого рішення. Проте розширюваність досягнута й залишається високопріоритетною в ігрових рушіях через широкі можливості їхнього застосування. Незважаючи на специфічність назви, ігрові рушії часто використовуються в інших типах інтерактивних застосунків, що вимагають графіку в реальному часі, таких як рекламні демо-ролики, архітектурні візуалізації, що навчальні симулятори й середовища моделювання.

Деякі ігрові рушії надають тільки можливості 3D рендеринга в реальному часі замість усієї функціональності, необхідної іграм. Ці рушії довіряють розроблювачеві гри реалізацію іншої функціональності або її складання на основі інших ігрових ППЗ компонентів. Такі типи рушіїв зазвичай відносять до «графічних рушіїв», «рушіїв рендеринга» або «3D рушіям» замість змістовнішого терміна «ігровий рушій». Однак ця термінологія використовується суперечливо: так, багато повнофункціональних ігрових 3D рушіїв згадані просто як «3D рушії». Деякі приклади графічних рушіїв: RealmForge, Ogre 3D, Power Render, Crystal Space і Genesis3D. Сучасні ігрові або графічні рушії завичай надають граф сцени — об’єктно-орієнтовані представлення 3D світу гри, що часто спрощує ігровий дизайн і може використовуватися для ефективнішого рендеринга величезних віртуальних світів.

Апаратна абстракція

Найчастіше 3D рушії або системи рендеринга в ігрових рушіях побудовані на графічному API, такому як Direct3D або OpenGL, що забезпечує програмну абстракцію GPU або відеокарти. Низькорівневі бібліотеки, наприклад, DirectX, SDL і OpenAL, також використовуються в іграх, тому що забезпечують апаратно-незалежний доступ до іншого апаратного забезпечення комп'ютера, такого як пристрої уведення (миша, клавіатура й джойстик), мережні й звукові карти. До появи апаратно прискорюваної 3D графіки використовувалися програмні візуалізатори. Програмний рендеринг усе ще використовується в деяких інструментах моделювання для рендеринга зображень, для яких візуальна достовірність важливіша за продуктивність (кількість кадрів за секунду) або коли апаратне забезпечення комп'ютера не задовольняє вимогам, наприклад, не підтримує шейдери.

Див. також

Посилання

Шаблон:Link GA