Розробник за 60 годин створив горор-гру на блупринтах UE. Його висновки
На форумі Reddit розробник під ніком quodsoler поділився висновками, які зробив після участі у геймджемі, де треба було за мінімальний відрізок часу створити гру переважно за допомогою блупринтів (у його проєкті під кінець було 2 строки коду C++).
Головною метою геймджему було продемонструвати, що за допомогою блупринтів можна створювати навіть ігри, які потребують процедурної генерації рівнів або інших складних задач.
Тож розробник вирішив створити Escape Floor Zero — горор, натхнений PT, The Exit 8 та I’m on Observation. Він впорався з завданням за 60 годин і поділився тим, що дізнався у процесі.
Головні технічні виклики:
- Геометрія рівнів, яка змінюється залежно від ваших виборів, тож була потреба розібратися в процедурній генерації.
- Випадкові різноманітні аномалії, які можуть змінювати рівень.
- Обмежений час, тому всі ітерації мають бути швидкими.
- Сольна розробка, тож все треба робити самому
Що було добре:
Blueprint
Блупринти неймовірно потужні. Вони дають можливість спробувати щось і викинути те, що не спрацювало, А також зробили можливими надшвидке створення прототипів, як основного геймплею, так і кожної з ігрових аномалій.
Два рядки на С++ знадобилися лише для того, щоб визначити, який актор був на екземплярі якого рівня. Така можливість поки що недоступна у Blueprint. Водночас через налаштування карти тіней, коли створюється екземпляр рівня, виникає проблема з продуктивністю, тому над цим все ще потрібно працювати.
Level Instancing
З використанням Unreal Level Instances була можливість створити клаптики мапи за один раз і потім, за потреби, трансформувати в різні екземпляри. Саме тут знадобилися ті 2 строки коду на C++ — вони допомагали визначити, який актор на якому рівні розташований.
Публікація в Steam
Публікація та взаємодія зі Steam були досить безболісними, а спеціальну інтеграцію досягнень із Steam і Unreal можна зробити буквально за 30 хвилин. Після налаштування ви зможете підключати скільки завгодно досягнень.
Використання Lyra на початку
Це було необов’язково, але особливо корисно для меню налаштувань.
Що дізнався:
Миска локшини
Оскільки гра зроблена на блупринтах, до цього треба добре підготуватися, оскільки все може вийти з-під контролю.
У моєму випадку прототипування та виробництво були однаковими, тому багато коду врешті було розміщено в ігровому режимі (Game Mode), і тепер це велика тарілка локшини, яку важко підтримувати.
Як створити зручний та якісний алгоритм
Робити білди якомога раніше й частіше
На щастя, я від самого початку створив білд, що дозволило перевіряти підтримку контролера, продуктивність, інтеграцію в Steam тощо.
Якщо не зробите білд рано і не будете його перепаковувати часто, проблеми можуть виявитися занадто пізно. Їхнє розв’язання забере у вас значно більше часу, ніж якби ви виявили їх раніше.
Для сольної розробки важливий початковий дизайн
Якби початково було обрано робити більш орієнтовану на персонажів гру, як-от hack an slash від третьої особи, проєкт не був би завершений у такі короткі строки. Обсяг роботи, якої потребують анімовані персонажі, і типи взаємодії з ними неймовірно великий.
Створення асетів
Це гра від першої особи, яка вимагає якнайменше персонажів. Використовував для асетів Quixel Bridge, інтегрований в Unreal і деякі асети з Unreal Marketplace, які вони щомісяця роздають безкоштовно.
Соло-розробник мусить бути швидким, тож асети було модифіковано відповідно до потреб. Наприклад, один з монстрів — це збільшена курка, поєднаня з вовком та кількома собаками. Звісно, це працюватиме не з усіма жанрами ігор.
Дотримуйтеся свого бачення
Коли у вас немає обмежень для розробки гри, дуже легко дати волю уяві й почати додавати функції, які не відповідають початковому баченню гри. Створювати прототип — це добре, але коли у вас є чітке бачення, дотримуйтеся його канви та завершіть його. В інакшому випадку буде складно завершити проєкт. Натомість ви, ймовірно, отримаєте масу цікавих функцій, але не будете мати готову гру.
Висновок
Це був чудовий досвід — побачити, чого можна досягти за такий короткий проміжок часу в 60 годин. Наразі з того, що залишилося зробити — дошліфувати гру та змусити людей про неї дізнатися.
4 коментарі
Додати коментар Підписатись на коментаріВідписатись від коментарів