Які безкоштовні ігрові движки існують?

Ігровий движок (англ. 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, .3 ds,. 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 – велика база даних по движка (комерційним і безкоштовним; англ. яз.).

Додатково на Генон:

  • Що таке патч (код)?
  • Як прошити Xbox 360?
  • Де скачати ігри для Xbox 360?
  • На яких сайтах можна скачати ігри для Sony PSP?
  • Які особливості Grand Theft Avto IV (GTA IV)?
  • Де в інтернеті знайти проходження і коди до гри GTA IV?
  • Де знайти коди до гри GTA San Andreas?
  • Де можна дізнатися коди (чіти) до ігор?

Category: Ігри

Comments (Прокоментуй!)

There are no comments yet. Why not be the first to speak your mind.

Leave a Reply