Выжимка стрима. Когда визуальное программирование заменяет классическое

Выжимка стрима. Когда визуальное программирование заменяет классическое

На примере Blueprints в Unreal Engine

Автор курса Game Code Александр Балакшин, работавший над Rainbow Six Siege, Atomic Heart, Halo: Infinite, рассказал на стриме на примере Unreal Engine, чем визуальный кодинг отличается от классического, в чём может заменить его, а в чём — нет. Собрали главное.

Чем отличаются визуальное и классическое программирование

Чтобы разграничить возможности визуального и классического кодинга, надо вспомнить уровни разработки игры:

  • Первый, базовый уровень: игровой движок. В его функции входят рендер, работа с ресурсами, драйверами, памятью и сетью на уровне протоколов и передачи пакетов
  • Второй уровень: инструменты, к которым относятся различные редакторы, конвертация и хранение ассетов
  • Третий уровень: геймплейный код. Это регистрация попаданий, перемещение, репликация, искусственный интеллект и другие реакции на действия игрока. Обычно он базируется на фреймворке, созданном разработчиками движка — в Unreal Engine это C++
  • Самый высокий, четвёртый уровень: скрипты. Их основная задача — максимально быстрое получение результата. Систему визуального программирования Blueprints можно назвать элементом скриптинга в Unreal Engine

Когда подойдёт Blueprints, а когда нужно классическое программирование

Blueprints подойдёт для:

  • создания быстрых прототипов и небольших проектов
  • работы с визуалом
  • проработки заскриптованных сцен
  • работы в малой команде

Классический кодинг предпочтительнее, если вам важны:

  • Производительность — в Blueprints производительность хуже из-за отсутствия машинной оптимизации компилятора
  • Читаемость — при использовании Blueprints для просмотра каждой функции нужно открывать новый экран, когда с обычным кодом работает поиск текста
  • Объединение изменений — Blueprints не код, а данные, которые нельзя легко объединить без дополнительных инструментов.
  • Масштабирование
  • Поддержка сторонних API и работа не с UObject

Сегодня из-за своей доступности Blueprints начинают вытеснять классическое программирование. В итоге они практически заменяют геймплейный код скриптами. Это может быть допустимо в инди-играх, но в крупных проектах лучше соблюдать баланс

Александр Балакшин, Программист и автор курса Game Code

Для более глубокого изучения темы Александр рекомендует посмотреть эти материалы:

9
7 комментариев

Комментарий недоступен

5
Ответить

Комментарий недоступен

1
Ответить

Ещё и рейтинг скрыли, который там уже глубоко в минусе был бы)

1
Ответить

Никогда

1
Ответить