Як вибрати найбільш підходящий ігровий движок

  1. Про що ваша гра?
  2. Які особливості вашої гри?
  3. На які платформи ви цілитеся?
  4. Які мої варіанти?
  5. А чому б мені не написати власний движок?
  6. Що далі?

Створюючи гру, ви можете почати з того жанру, який подобається особисто вам

Створюючи гру, ви можете почати з того жанру, який подобається особисто вам. Або ж вибрати движок, який вам вже знаком, і створювати гру на його основі. Але як бути, якщо першою в голову приходить ідея? Ви спробуєте реалізувати її за допомогою того інструментарію, яким вже вмієте користуватися? Або дозволите самій грі диктувати те, як її слід робити? Більшість проектів, над якими я працював, починалися з наративу. У мене була тема або концепт, який я хотів донести, а світ, персонажі, механіка і все інше будувалося слідом. Тому, коли це можливо, я намагаюся вибирати движок або платформу вже після того, як у нас з'явиться хороша ідея. В даний момент у нас склалася така ситуація, коли відразу три абсолютно різних гри вимагають рішення про те, на якому движку їх створювати. Тому зараз, можливо, дуже вдалий час поговорити про те, як ми робимо цей вибір.

Про що ваша гра?

Ви коли-небудь чули про таке поняття 30 секундної презентації як «мова в ліфті»? Якщо хто-небудь запитає вас - прямо зараз - чи зможете ви описати вашу гру за той час, поки піднімається ліфт? Це дуже непросто, навіть якщо ви піднімаєтеся на Останкінську телевежу. Але якщо ви не можете укласти в одну пропозицію то, як чудова ваша гра, вам варто розглянути її заново. Постарайтеся думати не про тип геймплея, а про настрій або враження, які ви хочете передати. На ваш концепт повинен працювати кожен елемент гри. Осягнення душі вашого гіпотетичного творіння займе якийсь час, але воно варте того, тому що є важливим етапом процесу розробки.

Які особливості вашої гри?

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

  • 2D або 3D? Ви будете працювати з 3D-оточенням або за допомогою художньої анімації? Або спробуєте змішати обидва способи?
  • Яким буде художній стиль? Які кольори ви будете використовувати? Чи потрібні будуть шейдери, частки або інші особливі графічні ефекти?
  • Яким буде управління? Миша, клавіатура або сенсорний екран? Чи будете ви використовувати нестандартні способи введення - «віртуальні чорнило», голос або відео?
  • А що зі звуком? Чи потрібні вам будуть музика і / або звукові ефекти? Чи потрібно буде змішувати їх один з одним? Чи потрібно буде прив'язувати їх до певних об'єктів або локаціях на карті?
  • Яким буде основний геймплей? Це загальновідомий жанр, приклади коду якого вже можуть існувати в якомусь популярному движку?
  • Який ваш бізнес-план? Гра буде безкоштовною? Ви продасте її? Будете покладатися на дохід від реклами або мікротранзакцій ? Кожен двигун має своєї власної політикою стосовно ліцензійних платежів, і ви повинні вибрати той продукт, який буде відповідати вашій монетизації або її відсутності.

На які платформи ви цілитеся?

Тепер, коли ви озброєні списком опцій, є ще один момент: які девайси буде підтримувати ваша гра? Насправді, це досить складне питання, і він тим складніше, чим менше ваша гра. Однак багато ігрові движки портируют на одну і більше платформи, і ви обов'язково повинні взяти це на замітку, якщо хочете, щоб ваша гра засяяла відразу в декількох місцях. Я б порадив для початку вибрати той девайс, який ви використовуєте самі, щоб мати можливість тестувати гру самому і в разі чого - показати її іншим. І якщо це можливо, виберіть той девайс, який володіє ідеальною схемою управління для вашої гри.

Які мої варіанти?

Вибір неймовірно великий! Навіть побіжний пошук в інтернеті запропонує величезну кількість варіантів, після чого їх можна зіставити з вашими вимогами. Крім іншого, ви можете поглянути на деякі зі своїх улюблених ігор і подивитися, на якому движку вони зроблені. У мене немає можливості написати про всі ігрових движках, але пропоную вашій увазі список тих, з якими працював особисто:

  • JS-VINE . Дивно потужний інструмент, який можна використовувати для створення розповідних кат-сцен зі всілякими відгалуженнями, і все це - всередині браузера. Я часто користуюся ним для навчання користувача, тому настійно рекомендую б для веб-туторіали і сюжетних веб-ігор.
  • Inform7 . Обожнюю цей інструмент - він дозволяє створювати інтерактивні історії за допомогою програмного мови, заснованого на англійському. У ситуації, коли у вас є сильна ідея, але при цьому немає ні коду, ні арту, Inform7 підсобить в створенні дизайнерського документа, за допомогою якого можна пояснити іншим людям свою ідею.
  • Unity . Один з кращих двигунів, що використовуються для розробки 3D-Ігор. Він гранично простий і може бути експортований на велику кількість платформ.
  • Unreal Development Kit. Сказати по прямоті, я закоханий в цей движок. Я все ще вивчаю його, але вже зараз ясно, що стиль візуального програмування Kismet здорово резонує з хвилями мого программерскую мозку. І хоча UDK вимагає деякий час на освоєння, мені подобається цей спосіб додавання і віднімання тих чи інших форм з віртуального світу. Дуже потужний 3D-движок, та ще й з адекватною ліцензією для тих, хто тільки почав свій шлях в розробці ігор.
  • Construct2 . А цей движок привернув нашу увагу зовсім недавно. Він володіє масою цікавий опцій, тому з ним приємно навіть повозитися, вже не кажучи про простому навчанні. Нехитрі аркади створюються буквально за хвилини. Крім того, він підтримує велику кількість платформ, включаючи веб і Windows 8.

А чому б мені не написати власний движок?

Зізнайтеся, деякі з вас думають, що немає ніяких особливих причин, які заважають написати свій власний движок з нуля. Я знаю безліч програмістів, яких вводила в шалений захват одна думка про те, щоб зробити все самому. І я бачив, як безліч подібних проектів в'яли на самому старті. Чи не винаходить велосипед. Почавши з уже існуючої бази, ви можете просто заглибитися в код і модифікувати все, що душа забажає. На мій погляд, набагато веселіше створювати нові фішки, яких досі не бачила жодна жива душа.

Але з іншого боку, в ряді випадків це цілком виправдано. Дві наших перших гри були створені без ігрового движка, ну в ті часи і з інтернетом були проблеми. Іноді важливо зробити що-небудь, щоб потім не турбуватися про це, особливо якщо це ваш перший проект. Але не рвіться в бій, не склавши план! Якщо ви все ж зважилися зробити це, почніть з малого. Точніше навіть ... з дуже малого! Наше перше iOS-додаток було просто каталогом інформації. Але воно вирушило в магазин, отримало декілька позитивних відгуків, і у нас з'явився фундамент, на якому ми могли будувати своє майбутнє.

Що далі?

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

Удачі вам, яке б рішення ви не прийняли!

Про що ваша гра?
Які особливості вашої гри?
На які платформи ви цілитеся?
Які мої варіанти?
А чому б мені не написати власний движок?
Що далі?
Але як бути, якщо першою в голову приходить ідея?
Ви спробуєте реалізувати її за допомогою того інструментарію, яким вже вмієте користуватися?
Або дозволите самій грі диктувати те, як її слід робити?
Про що ваша гра?