Які переваги та недоліки використання ігрового двигуна? [зачинено]


28

Як дізнатися, чи потрібно використовувати ігровий движок чи ні? Хочу зробити порівняно складну 2D гру для Android. Які чинники слід зважити, щоб вирішити, чи знайти, встановити та вивчити ігровий движок або просто зробити все вручну?


Тут не впевнені, чи найкращий тег для ігрового дизайну; але двигун потрапив у чорний список. Це питання, ймовірно, слід просто видалити.
Gnemlock

Відповіді:


25

Переваги:

  • Більшість, якщо не все кодування зроблено саме для вас, тому все, що вам доведеться турбуватися, - це вміст, макет рівня тощо.

  • У зв'язку з цим, управління пам'яттю, завантаження активів, освітлення (у складних двигунах) тощо все було розроблено та випробувано ретельно (сподіваємось).

  • Як згадувалося нижче, якщо двигун є кросплатформенним, вам доведеться робити мало нічого, щоб не працювати, щоб перенести гру.

Недоліки:

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

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

Порівняння ігрових двигунів знаходиться в роботах у цьому питанні: Про та Кон з різних 3D-ігрових двигунів


3
Це в цілому гарна відповідь, але я насупив брову в самому першому реченні. Я настійно пропоную переформулювати слово "Більшість, якщо не все кодування зроблено саме для вас", на "Більшість кодувань низького рівня робиться саме для вас"; вводити в оману до безвідповідальності увічнення міфу про "зробити гру без кодування не потрібно!"
поштовх

Крім того, двигун може обмежити те, що ви можете легко зробити - наприклад, майже багато хто не підтримують модифікований місцевість у стилі Minecraft або карлик-фортеця. Що добре для ігор, які цього не потребують, але удача зробити Minecraft-клоном з одним.
користувач253751

15

У моєму випадку я витратив багато часу (місяців) на розгойдування, нічого не роблячи через ігрові двигуни. Зараз я зазвичай уникаю їх, як чума, хоча я розумію, що їх слід використовувати розумно і помірковано.

Для мене я одержимий усіма можливостями ! Дивлячись на довгий перелік функцій двигуна X, це схоже на "Вау, я міг би все це зробити! Моя гра могла бути чудовою!" Тож я завантажував би її, запускав демонстрації і був би засліплений тими функціями в дії тощо. Тоді я створив би новий проект у своєму IDE і не знав би з чого почати. Я б написав якийсь код, я міг би навчитися і базувати його на демо-проектах, але це були лише демонстрації.

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

Я набагато більше, ніж дитина, крокова людина. Я вважаю за краще робити свою власну гру покроково, переробляючи корисні функції і збираючи ті функції в бібліотеку, яку одного дня я можу вважати "двигуном". Тож поки що я уникаю ажіотажу двигуна і просто дотримуюся матеріалів низького рівня.

І двигуни мають своє місце. Якщо ви знайдете двигун і думаєте собі: "Це саме те, що я написав би! Вони вже зробили для мене роботу, мені не потрібно винаходити колесо, і я точно знаю, як підключити його до гри що я вже почав [або принаймні повністю заплановано і готовий розпочати] ", то це, мабуть, добре підходить. Ви точно знатимете, як ним користуватися та як написати власний код, щоб використовувати двигун, щоб створити щось корисне. Але якщо ви придбали двигун просто тому, що в ньому є все, крім кухонної раковини, і ви думаєте, що стоїте на плечах гігантів, ви дуже помиляєтесь. Перед вами стоїть гігант, і вам потрібно піднятися до його плечей.

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


4

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

Найбільше, на що потрібно звернути увагу, - це підтримка, оскільки ігрові двигуни не є ідеальними, і вони не читають вашої думки, і ви в якийсь момент зациклюєтесь на ДУМКІ. Так:

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

2
+1 за помітну документацію на передній план ... саме тут багато ігрових двигунів з відкритим кодом виходять з ладу
LearnCocos2D

3

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

Поки що відповіді дали довгі списки плюсів і мінусів. Я надам те, що для мене найважливіша причина НЕ використовувати ігровий движок. Оскільки я взяв на себе завдання навчитися писати гру виключно для виклику та винагороди, я вирішив це зробити з нуля без двигуна, просто OpenGL та SDL, тому що хотів навчитисявсе вище цього рівня абстракції. На жодному етапі я не пошкодував про це рішення. Моя гра - це хороша версія прокрутки 2D Asteroids, основна, але гладка. Я не намагаюся змагатися з надзвичайно чудовими іграми, але я поширюю свою гру, і люди із задоволенням її грають. Я буду використовувати той самий підхід у створенні гри в багатокористувацьку гру. Це величезна проблема, і використання бібліотек може полегшити, але я мою ціль не зробити його легким. Моя мета - навчитися, і для мене це неповна робота, тому часу у мене не так багато, і прогрес повільний. Але в мене є свої причини такого підходу. Назвіть це "вища освіта".

Отже, дайте відповідь на власне запитання, чи хочете ви навчитися робити те, що замість цього ігровий движок робить для вас користь, яку може принести це навчання? Якщо так, не використовуйте ігровий движок.


2

Вам потрібно детально пояснити, що ви маєте на увазі під «складним». Хороший ігровий двигун піклується про все наступне:

  • Візуалізація на стабільному кадрі
  • Обробка вводу
  • Інтерфейс користувача
  • Звуки / музика
  • Управління ресурсами (зображення, звук, файли даних)
  • Збереження / завантаження вашої гри
  • Фізика (2d або 3d)

Подумайте самі, я знаю, як кодувати кожне з них? Скільки часу мені потрібно буде програмувати кожен, і скільки часу знадобиться, щоб навчитися змушувати двигун робити кожне з них?


1

Найбільша перевага: для вас робиться багато справ. Вам не доведеться продовжувати винаходити колесо.

Ще одна перевага: ігровий движок також може бути кросплатформенним (Unity).

Недоліки? Контроль? Двигун піклується про деякі речі для вас (наприклад, візуалізація), тому якщо у нього є помилки чи проблеми з роботою, ви не можете просто виправити це самостійно.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.