25900 авторів і 91 редактор відповіли на 98952 питання,
розмістивши 129771 посилання на 81900 сайтів, приєднуйтесь!

Реклама партнерів:

Що таке ігровий движок?

РедагуватиУ обранеДрук

Ігровий движок (Англ. game engine) - Це центральний програмний компонент комп'ютерних та відеоігор та інших інтерактивних додатків з графікою, оброблюваної в реальному часі. Він забезпечує основні технології, спрощує розробку і часто дає грі можливість запускатися на декількох платформах, таких як ігрові консолі та настільні операційні системи, наприклад, GNU / Linux, Mac OS X і Microsoft Windows.

Словосполучення «ігровий движок» передбачає цілий комплекс прикладних програм, що включає движок рендеринга («визуализатор») для 2D або 3D графіки, фізичний движок, або виявлення зіткнень (і реакції на зіткнення), звук, скриптинг, анімацію, штучний інтелект, мережевий код, streaming, управління пам'яттю, threading і граф сцени. Строго кажучи, всі частини коду, написані програмістами при розробці гри, є компонентами движка. Ігровий процес (геймплей) визначається функціями, реалізованими в цих програмах.

Якщо на зорі комп'ютерної ери кожна гра створювалася розробниками «з нуля», то все змінилося з моменту появи гри Doom (понад 10 років тому). В даний час практично всі комерційні ігри створюються з використанням готового інструментарію: в процесі розробки можна заощадити за рахунок повторного використання одного ігрового движка для створення безлічі різних ігор.

Іноді «мододели» роблять якісь видозміни за допомогою вбудованого в гру мови програмування через скріптові сценарії. Можна підкрутити деякі параметри функцій движка, ніж із задоволенням користуються Чітери (збільшуючи, наприклад, кількість грошей у гравця). Проте серйозні зміни геймплея неможливі без втручання у вихідний код гри. І тут починаються проблеми. По-перше, не кожна ігрова компанія код оприлюднює. По-друге, далеко не кожен може розібратися самостійно у величезній кількості функцій движка. А іншого шляху часто немає, оскільки відсутня довідкова інформація та технічна підтримка (запитати нема в кого). По-третє, як правило, публікують вихідний код вже технічно застарілих движків (наприклад, Quake II, III).

Що ж залишається початківцям розробникам?

  • Купити право на використання сучасного двигуна від відомої компанії (ліцензувати движок). До нього додається довідкова інформація та підтримка виробника. Однак це задоволення не з дешевих. Існують комерційні ігрові движки вартістю до сотні тисяч доларів.
  • Розробити свій власний движок. Вихід, звичайно, але для цього потрібно багато зусиль і висока кваліфікація у програмуванні.
  • Використовувати один з безкоштовних движків, найбільш підходящий за своїми можливостями. Як правило, до них є додаткова інформація та підтримка.

Безкоштовні ігрові движки

На сьогоднішній день найпопулярнішими і просунутими з безкоштовних (зазвичай open source, з відкритим кодом) ігрових движків є:

  • OGRE (Object-Oriented Graphics Rendering Engine)


Об'єктно-орієнтована графічний движок рендеринга. Написаний на C ++, 3D графіка, в ньому використовуються Direct3D and OpenGL. З цього движку існують друковані книги (англійською мовою). Є і російськомовний сайт. Для роботи з останньою версією движка потрібен один з наступних компіляторів: gcc, Visual C ++ 7.1 (2003), Visual C ++ 8.0 (2005). Движок підтримує компілятори Для роботи в Linux і Mac застосовується gcc 3+. Якщо в грі буде використаний DirectX, необхідно попередньо встановити DirectX SDK (можна завантажити з сайту Microsoft).

За твердженням розробника, Ogre не є в строгому сенсі слова ігровим движком. Як сказано в документації, «Ogre - графічний, і тільки графічний движок. Це означає що нічого іншого, крім виводу і обробки графіки, він не робить. Але це означає ще й те, що до нього можна прикрутити сторонні бібліотеки для створення повноцінної гри, а саме:

  • звук;
  • організація мережі;
  • введення (маніпулятори, джойстики);
  • розрахунок зіткнень.

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

Движок відрізняється широкою підтримкою різноманітних графічних форматів. Крім стандартних, можна використовувати об'ємні, стислі текстури і cubemaps. Багато плагінів, які дозволяють імпортувати в нього 3D-моделі з різних пакетів 3D-графіки (3DS Max, Maya, Milkshape3D, Blender Wings3D). При цьому можна використовувати як фреймову, так і кісткову анімацію. Ландшафти в Ogre виглядають непогано. Для створення невеликої гри до складу движка включені всі необхідні стандартні класи управління сценою. Ігрові ресурси можна пакувати в архіви PK3 ZIP.

На Ogre роблять і комерційні ігри - зокрема, на ньому написані гри «Сталеві монстри» (Pacific Storm) і онлайнова гра Anarchy Online. Розробка на основі движка комерційних ігор каже про великий потенціал Ogre. У нього безліч користувачів. Є до кого звернутися у разі виникнення проблем. Напевно їх хтось до вас вирішував або, принаймні, знає, як обійти. Велика кількість довідкової інформації і прикладів дозволять освоїти движок навіть початківцям. Це відмінний варіант для розробки гри за відсутності фінансів на купівлю комерційного engine.

  • Crystal Space. Крос-платформний SDK з відкритим кодом для 3D графіки в реальному часі, особливо для розробки ігор. Написаний на C ++, але використовувати його можна не тільки в C ++ проектах, а й у Python, Perl, Java проектах.
  • Nebula Engine 2. Движок з відкритим кодом для 3D-ігор і візуалізації. Використовувався в кількох комерційних іграх. Написаний також на C ++, працює тільки під Windows, використовує DirectX 9.0. Є класи для реалізації шейдеров (HLSL і FX-файли DirectX), скелетної анімації, системи частинок, тіней. Підтримує декілька широко поширених скриптових мов TCL, Python і Lua.
  • Irrlicht. Open source, багатоплатформовий, написаний на C ++, можна використовувати з-під .NET (мови типу C #, VisualBasic, and Delphi.NET), Java - c допомогою бібліотеки jirr або Bindenlicht, Python - за допомогою бібліотеки Pyrr, Ruby - за допомогою бібліотеки IrrRuby і ряду інших мов. Цей ігровий движок родом з Німеччини. Просуває його фактично одна людина. Розвивати движок поодинці, зробити його повністю безкоштовним і викласти весь вихідний код - на таке здатний далеко не кожен. Хоча до фінальної версії Irrlicht ще далеченько, на ньому вже можна робити серйозні ігри. У движку є всі необхідні для цього функції. Рендеринг виконується через OpenGLDirect3D (з підтримкою DirectX9.0). Присутній і софтверний режим, тобто все буде отрисовать власним програмним візуалізатором, який в еру великих апаратних можливостей відеокарт практично не використовують. Цей досить простий в освоєнні ігровий движок підійде як роблять перші кроки в програмуванні тривимірних ігор, так і досвідченим командам для створення повноцінної гри. Детальніше про Irrlicht можна прочитати на сайті knol.google.com.
  • OpenSceneGraphg. Open source, багатоплатформовий, написаний на стандартному C ++, використовує OpenGL. Працює з тривимірними моделями форматів .lwo, .obj, .geo, .3ds, .x, .wrl, тобто з об'єктами, створеними в будь-якому сучасному редакторі тривимірної графіки (3DS Max, Maya і Lightwave 3D).
  • Microsoft XNA. Технологія від Microsoft по кросплатформенних розробці ігор для 3-х платформ - Windows, Xbox 360 і Zune (mp3-плеєр від Microsoft). Правда, щоб розробляти ігри для Xbox, доведеться придбати Xbox Developer Kit, але під Windows гри можна розробляти безкоштовно. Технологія розрахована на розробку ігор під DirectX і .NET Framework (.NET Compact Framework на Xbox 360) і, строго кажучи, основною мовою при розробці ігор з використанням XNA повинен бути C #. Є підтримуване корпорацією співтовариство розробників. На сайті techdays.ru є декількавебінарів»(Слайдів, озвучених закадровим голосом), які присвячених розробці ігор на XNA. Вебінари прочитані співробітниками Microsoft і являють собою введення в курс справи.
  • Є нескоторие інші безкоштовні ігрові движки: Panda3D, GLScenee, Dark Basik, однак вони не так широко застосовуються, як охарактеризовані вище.

Маючи готовий ігровий движок, можна думати тільки про механіку гри, а це дуже важливо для розробника.

Джерела:

  • sindicollo.blogspot.com - огляд безкоштовних ігрових движків (game engines);
  • knol.google.com - безкоштовні ігрові движки (А. Крилов);
  • x-sky.ru - безкоштовні ігрові движки;
  • irrlicht3d.org - вікіресурс по движку Irrlicht (англ. яз.).

Додатково:

  • wikipedia.org - стаття «Game engine» («Ігровий движок») у Вікіпедії;
  • xakep.ru - «Сага про движках: курс молодого бійця» (журнал «Хакер»);
  • devmaster.net - велика база даних по движкам (комерційним і бесплатним- англ. яз.).

Додатково:

Реклама партнерів:

РедагуватиУ обранеДрук


«Що таке ігровий движок?»

В інших пошукових системах:

GoogleЯndexRamblerВікіпедія

» » Що таке ігровий движок?