На сегодняшний день все привыкли к существованию двух общепринятых программных решений для создания игр, а именно:
1. Unreal Engine 4 с возможностью писать код как с помощью C++, так и с помощью системы визуального скриптинга (далее - VS) Blueprints
2. Unity, позволяющая создавать игры на C# или UnityScript (до версии 2017.2)
Например, Unity чаще всего используют для разработки мобильных игр на IOS и
Android, а UE4 для разработки игр на такие платформы, как PlayStation, Windows, MacOS и Xbox. Есть такое мнение, что легче всего начинать развиваться в сфере GameDev посредством изучения такого способа взаимодействия со средой разработки как Visual Scripting.
Естественно, пользователь, услышав о необходимости писать код, непременно взглянет в сторону чего-то более простого и понятного на первый взгляд. И этот пользователь откроет для себя очень гибкую систему, позволяющую создавать игры с, на первый взгляд, наименьшими усилиями.
Однако в скором времени чаши весов могут пошатнуться, ведь к 2020 году Unity Technologies собираются полноценно добавить в свой движок возможность визуального программирования, которую можно опробовать уже сейчас на последней версии. При упоминании VS часто используются такие понятия, как Nodes и Graphs.
Nodes (узлы) - это визуальные компоненты интерфейса, позволяющие создавать события, функции и их вызовы, операции управления потоком, переменные и так далее, которые можно использовать в графах.
Graphs (графы) - сеть, состоящая из узлов, описывающая игровую логику.
г - G.1, шпф« Query 41 * 1- С г, Sta rt Е ntit.es :-i GjnuMaiagar Склп€г-»гу G^rvniMiuciar
И— - * < Р Сеч Property 01 * <®
1МпТ«*ф* Sal Property о * -,-Ы- ^
» P1d0-f3Ofci*Cli Qje<y --- » 1 ► Arxh
_ т в For ta Oft. cü_Qi-« iyS 4fty Ad-«a ?л>и
¡âro№r->agaf ЗД* — • в Gai Propai^ ¿ i.: pscfaupTog
Scorn»« — » «Sai Property i- CMerta (0)
■EaittSmO* - »DTojili^ 4 FtsHncnmni
О
Рис.1. Визуальный скриптиинг в Unity 192
Рис.2. Визуальный скриптиинг в Unreal Engine
При детальном рассмотрении системы VSUnity можно выделить интересные особенности:
1. Создавая визуальный скрипт, автоматически записывается файл C# формата в другой папке.
2. Этот файл легко можно найти и заняться его редактированием.
3. Кнопка Code Viewer в редакторе нодов позволяет в реальном времени смотреть генерацию С# кода.
4. Сами VSGraph'bi создаются в формате asset.
Можно сделать вывод, что эта система очень дружелюбно относится к пользователям, предпочитающим писать код.
На изображении ниже показано, как выглядит скрипт движения игрока, где игрок - это шар, у которого задача собрать все кубики, находящиеся на поле:
Рис.3. Скрипт движения игрока в Unity
Сейчас Unity довольного активно занимаются развитием интегрированного визуального программирования, поэтому обновления выходят часто.
Полноценная реализация системы визуального проектирования может упростить жизнь начинающим программистам на Unity, предполагая возможность более простого изучения и создания игр. Сейчас сложно начинать разработку игр с VS в Unity, ведь пока что даже нет документации, а о различных обучающих сериях видео или инструкциях и речи быть не может.
Blueprints (Блупринты) - это скриптовая система в Unreal Engine 4, которая представляет собой визуальный интерфейс для создания элементов геймплея. Система очень гибкая и очень мощная, и позволяет дизайнерам использовать концепцию, а также почти полный потенциал программирования.
Инструментарий, предоставляемый движком Unreal Engine, позволяет создавать игры, полностью работающие на блупринтах.
Тем, кто работал в каком-либо ином движке, имеющем такую систему, блупринты будут казаться чем-то знакомым и легким в освоении (как и визуальный скриптинг в Юнити с некоторыми поправками).
Система блупринтов в Unreal Engine 4 несколько отличается от VS Unity. Cуществует несколько типов блупринтов, таких как:
• блупринт класса объекта;
• блупринт уровня;
• блупринт с данными;
• блупринт, состоящий из различных функций, который может быть добавлен в другие блупринты.
Также сам редактор блупринтов состоит не только из системы графов и узлов, но и содержит компоненты, функции и переменные объектов.
Простыми словами, в VS Unity графы представляют собой способ управления и взаимодействия с персонажем на экране, когда Unreal Engine 4, Блупринт сам по себе может являться персонажем, которым игрок может управлять.
Для того чтобы сравнивать уже давно существующую систему Блупринтов и только начинающую развиваться систему в Юнити, можно попробовать воссоздать графы, аналогичные по функционалу с представленными выше.
Ниже представлен пример такого же проекта на UE4.
Вот так выглядит вся логика шарика, передвигающегося по полю и собирающего кубики:
Рис.4. Скрипт движения игрока в Unreal Engine
Безусловно, в логике шарика на блупринтах гораздо больше узлов, что может отпугнуть неподготовленного пользователя, который только выбирает, что ему следует изучать. Однако на данный момент, благодаря обширной документации, шаблонам проектов в движке и большому количеству обучающих роликов, пользователь сможет гораздо быстрее понять систему блупринтов, нежели VS в Unity.
В данной статье были рассмотрены два аналогичных проекта на Unity и Unreal Engine 4. Можно сделать выводы, что на данный момент в UE4, безусловно, более развит графический редактор кода, в отличие от Unity, в которой пока не хватает документации и более удобного интерфейса, дружелюбного к новому пользователю. Также можно сказать, что на Unity уже можно писать более-менее приемлемые мини-игры с помощью VS.
Список литературы:
Туториал по Unreal Engine. Часть 2: Blueprints [Электронный ресурс]. URL: https://habr.com/ru/post/344446/ (дата обращения 28.12.2019).
Русскоязычное сообщество Unreal Engine 4: официальный сайт [Электронный ресурс]. URL: https://uengine.ru/site-content/docs/blueprints-docs/blueprint (дата обращения 28.12.2019).
Unity 5.x Game Development Blueprints [Электронный ресурс]. URL: https://books.google.щ/books?id=S9JtDQAAQBAJ&pg=PR7&lpg=PR7&dq=Ыueprint+uт шен&source=bl&ots=JaaB8mDeRi&sig=ACfU3U0YtrJRrh2AUnkvpU8ZajsbnoDyKA&Ы =ru&sa=X&ved=2ahUKEwjx8f2Gk9vmAhVJyKYKHQ0HCVEQ6AEwE3oECAgQAQ#v= onepage&q=Ыueprint%20щшен&f=false (дата обращения 28.12.2019).
УДК 664.8.035.76
Сулейманова Л.Р.
магистрант 2 курса, факультет пищевых технологий ФГБОУ ВО «Казанский национальный исследовательский технологический
университет» (Россия, г. Казань)
Наставшева А.В.
магистрант 2 курса, факультет пищевых технологий ФГБОУ ВО «Казанский национальный исследовательский технологический
университет» (Россия, г. Казань)
Махмудова А.Р.
магистрант 2 курса, факультет пищевых технологий ФГБОУ ВО «Казанский национальный исследовательский технологический
университет» (Россия, г. Казань)
Габбасова И.И.
магистрант 2 курса, факультет пищевых технологий ФГБОУ ВО «Казанский национальный исследовательский технологический
университет» (Россия, г. Казань)
Решетник О.А.
д.т.н., проф., кафедра технологии пищевых производств,
факультет пищевых технологий,
ФГБОУ ВО «Казанский национальный исследовательский технологический
университет» 197