Що потрібно знати про розробку ігор | robot_dreams
Для відстеження статусу замовлення - авторизуйтесь
Введіть код, який був надісланий на пошту Введіть код із SMS, який був надісланий на номер
 
Код дійсний протягом 2 хвилин Код з SMS дійсний протягом 2 хвилин
Ви впевнені, що хочете вийти?
Сеанс завершено
На головну
Що потрібно знати про розробку ігор

Що потрібно знати про розробку ігор

Як пов’язані мови програмування, фізика та ігрові рушії

За останні 30 років ігри з платформерів перетворилися на мистецтво. Зарплати game-девелоперів конкурують із доходом ентерпрайз-розробників. Але поріг входження в професію у перших вищий. Якщо ви замислювалися про розробку власної гри, одного бажання недостатньо.

Пояснюємо технічні аспекти, на яких мають розумітися творці ігор.

Що вчити, крім мови

Розробник ігор — насамперед інженер. Крім програмування, він має знати математику і фізику. Усі ігри різною мірою відтворюють предмети реального світу, а їхня взаємодія підпорядковується законам. Наприклад, для програмування простої фізики відскоку м’яча вам потрібно розуміти, що таке коефіцієнт відновлення. Мова розробки менш важлива — написати гру можна будь-якою.

Також девелопер має приділяти увагу оптимізації та продуктивності. Потрібно зважати на те, що гра може запускатися на системі з вимогами, далекими від рекомендованих. Гарне розуміння алгоритмів і врахування системних ресурсів — у пріоритеті. Наприклад, працюючи у вільному ігровому рушії Unreal Engine, потрібно брати до уваги, що під час старту модуля завантажуються всі його залежності та з’їдають ресурси. Гра має підтримувати стабільний фреймрейт.

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

Код чи візуальне програмування

Зараз ігровим розробникам доступно набагато більше інструментів, ніж 20–30 років тому. Якщо для Wolfenstein Джон Кармак сам писав свій ігровий рушій, то комерційно успішну Super Hot розробляли на вільному Unity Engine.

Wolfenstein 3D

Вільні ігрові рушії дають змогу займатися грою, а не розробкою її інструментів. Вони багато чого спрощують — наприклад, дають змогу одразу відстежувати результат роботи.

Unity Engine. Джерело: unity3d.com

Обмеження на вибір рушія накладає мова програмування — у кожного рушія своя основна мова. Водночас у рушіїв є інструменти для скриптового (візуального) програмування: Bolt в Unity і Blueprint в Unreal. Користуючись тільки візуальними інструментами, ви зіткнетеся з обмеженнями. Наприклад, під час роботи з фізикою об’єктів — реалістичну фізику завжди пишуть руками.

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

Інструмент для візуального програмування від Unreal Engine. Джерело: answers.unrealengine.com

На інструменти розробки впливає і ринок. За даними App Annie, споживчі витрати в мобільному геймінгу на 50% вищі, ніж у консольному або ПК. Тому творці вільних рушіїв почали спрощувати розробку мобільних проєктів. Вільних рушіїв багато, але більшість із них (Construct, Cocos2D, RPG Maker) є кращими для розроблення аркад, квестів, hidden objects жанрів. Також потрібно зважати на те, що частина функцій безоплатних рушіїв може бути доступною тільки в платній версії. Наприклад, можливе обмеження кількості програмованих дій в об’єктів, а це підштовхує рефакторити код.

Шедевр можна створити й на простому рушії — наприклад, Hotline Miami зробили на Game Maker. Будь-яка розробка в невеликих студіях зводиться до протистояння Unity Engine і Unreal Engine. На противагу цьому, компанії, які розробляють ААА-тайтли, намагаються створювати власні рушії.

Unity Engine чи Unreal Engine

Це найбільші продукти для розробки ігор (від казуальних до шутерів). Рушії схожі з погляду підходів, інструментів та інтерфейсу, але Unity використовує C#, а Unreal — С++. За допомогою неофіційних плагінів можна підключити підтримку й інших мов (наприклад, Python).

У кожного рушія — своя модель для комерційної розробки. Наприклад, якщо ви обрали Unreal Engine, потрібно буде платити 5% роялті після виходу на $1 млн виручки від гри.

Unreal краще підходить для розробки ігор з фотореалістичною графікою і виграє за продуктивністю, але Unity має більше додаткових ресурсів (асетів) і підтримує більшу кількість платформ. Асети дають змогу розробляти ігри без найму художників і 3D-моделерів. Ви просто знаходите і використовуєте пак моделей. В Unreal для них є Marketplace, а в Unity — Assetstore. Вони містять безоплатні продукти, але такі слугують радше для рекламних цілей більш просунутих пакетів. Наприклад, пак із безоплатними моделями кольорів демонструє якість платного пака з набором дерев від того самого моделера. Для серйозної розробки доведеться витратитися на сторонні асети.

Обидва рушії конкурентоспроможні. Який використовувати — вирішує розробник.

Ще статті
Порівнюємо швидкість, якість і відповідальність за результат