Преимущества визуальных языков программирования на примере Blueprint в среде игрового движка Unreal Engine 4

Автор: Неизвестный М.А.

Журнал: Экономика и социум @ekonomika-socium

Рубрика: Информационные и коммуникативные технологии

Статья в выпуске: 8 (27), 2016 года.

Бесплатный доступ

Статья посвящена визуальному языку программирования Blueprint, его преимуществам и отличиям перед традиционным языком программирования, таким как С++.

Визуальный язык программирования, компиляция, скрипт

Короткий адрес: https://sciup.org/140121279

IDR: 140121279

Текст научной статьи Преимущества визуальных языков программирования на примере Blueprint в среде игрового движка Unreal Engine 4

Язык программирования — формальная знаковая система, предназначенная для записи компьютерных программ. Язык программирования определяет набор лексических, синтаксических и семантических правил, определяющих внешний вид программы и действия, которые выполнит её исполнитель. За всё время своего существования языки программирования изменялись, становясь проще и понятнее.

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

Следующими языками программирования являлись языки высокого уровня. Они имеют ряд преимуществ: простота, независимость выполнения от компьютера. Также они имитируют естественные языки, используя некоторые слова разговорного языка и общепринятые математические символы. Эти языки более удобны для человека.

С 70-х годов и по настоящее время продолжается период языков 4-го поколения. Целью их создания было стремление увеличить скорость разработки проектов, уменьшить число ошибок, получить возможность быстро и легко вносить изменения в программу.

Следующим витком развития языков программирования можно считать появление визуальных языков программирования. В отличие от традиционного программирования, в визуальном программист имеет дело со структурами по типу блок-схем. При этом составляющие этих блоков являются заранее разработанными подпрограммами и функциями. При соединении таких блоков их взаимный интерфейс настраивается без участия программиста. Таким образом, визуальные языки позволяют программировать на уровне алгоритмов, а не программного кода.

Примерами визуальных языков являются Google Blockly, VisSim, Blueprint и др.

Рассмотрим технологию Blueprint в движке Unreal Engine 4.

Blueprint – это визуальный скриптинг в среде UE4, основанный на использовании графического интерфейса, позволяющий создавать гейплейные элементы в среде движка.

Рассмотрим преимущества составления скрипта на Blueprint по сравнению с С++.

Blueprint, как С++ и многие языки программирования, поддерживает объектно-ориентированное программирование, что поможет составить удобную классовую иерархию в проекте. Blueprint позволяет создать новый класс без необходимости написания кода и его дополнительной компиляции, что делает возможным работать без задержек и экономить время.

Помимо всего прочего Blueprint очень быстро компилируется по сравнении с C++. Это позволяет быстро протестировать выполнение алгоритма, посмотреть, как работает та или иная функция.

Compiler Log (10)

UDN Parse Errors

Q Compiler Results jj Find Results

Asset Tools Build and Submit E Source Control (5) Blueprint Log Play In Editor Automation Testin Localization Servic Asset Reimport Lighting Results Map Check (1) Load Errors Editor Errors Packaging Results Asset Check Slate Style Log

  • •    Creating makefile for hot reloading MyProject3 (working set of source files

  • •    Compiling game modules for hot reload

  • •    Parsing headers for MyProject3Editor

  • •    Running UnrealHeaderTool ’CAUsers\Cyfralus\Documents\Unreal Projer

  • •    Reflection code generated for MyProject3Editor in 6,1347744 seconds

  • •    Performing 2 actions (4 in parallel)

  • •    MyProject3Character.cpp

  • •    (2/2] Link UE4Editor-MyProject3-8492 dll

  • •   ????????? ?????????? C:\Users\Cyfralus\EJocuments\Llnreal Projects',^

  • •    Total build time-94.16 seconds

    Page-»


    • [0426.72] Compile of ThirdPersonCharacter successful! (in 107 ms] (/Game/ThirdPersonBP/Blueprir

Рис. 1. Время компиляции C++ Blueprint.

Несомненным плюсом Blueprint является совпадающий API с С++. Т.е. входящие в их состав классы, функции и процедуры идентичны. Приведем в пример функцию случайного выбора числа из заданного диапазона. Если навести мышкой на блок, то можно увидеть к какой библиотеки он относится.

Рис. 2. Определение библиотеки.

Открываем header файл библиотеки и находим функцию, которая может использоваться и в С++.

/* Returns a uniformly distributed random number between 0 and Max - 1 */ UFUNCTION(BlueprintPure, Category="Math|Random") static int32 Randominteger(int32 Max);

Рис. 3. Искомая функция.

Исходя из выше сказанного, код на С++ может быть представлен несколькими блоками в Blueprint (рис.4 и рис.5). А с перечисленными выше преимуществами позволяет работать быстро и эффективно.

void ' , • ' |- ' 1 • ■'   •- ; 4^оме£огыаг^*1ч«( -)

if ((Controller- != HULL) U ( I 1= e.W)) (

// find out which way is forward const          Rotation » ControlIwr >CetContrn]Rotation();

Aid^voaontlnputlOlroctlan, Vm .};

I

'void ■'. -nt- - *     ■ "■ : PoveS:^Kt(*ioet •"-)

l< if ( (Controller I- NULL) HL <■■ I- e.ef) )

Jf find out which way is right const          Rotation - Controller XXControlRotation();

/f add aoveacnt in that direction Add^v^wwfit Input (Di ratt ion,     -)^

Рис. 4. Методы, написанные на С++.

Рис. 5. Методы, написанные на Blueprint.

Также Blueprint может стать хорошим средством разработки для небольшой группы разработчиков, где имеется мало программистов. Визуальное представление функций, запрет соединения блоков разных типов помогут избежать ошибок и позволят человеку, знакомому с программированием, легко составить игровую логику. В крупных компаниях

Blueprint может помочь составить логику дизайнерам игр для последующего написания кода на С++ программистами.

В заключении выделим ещё раз основные плюсы Blueprint:

^    Простота в освоении.

^    Быстрая компиляция.

^    Идентичность с C++.

^    Объектно-ориентированный язык программирования.

^    Подходит для небольших команд разработчиков.

Список литературы Преимущества визуальных языков программирования на примере Blueprint в среде игрового движка Unreal Engine 4

  • https://docs.unrealengine.com/-technical guide
Статья научная