Начальная стадия разработки компьютерной игры «Атака Титанов против Наруто»

2
0
Материал опубликован 21 July 2022

Оглавление.

Введение

3

Основная часть

4

Обзор существующих игр.

4

Анализ существующих методов и средств разработки приложений.

4

Разработка программы.

9

Анкетирование участников тестирования программного продукта.

11

Заключение

12

Ссылки на материалы интернет-ресурсов

13

Приложение 1

14

Приложение 2


15



























Введение.

Динамичный и своеобразный мир аниме-сериала Naruto завоевал множество поклонников. Неудивительно, что успех сериала привел к созданию множества игр, в которых можно встретить знакомых полюбившихся персонажей.ДаннаяМанга и аниме породили огромную франшизу с неисчислимым количеством сопутствующей продукции. Видеоигры не стали исключением.[2]

Отличительной особенностью моей игры является то, что в нее можно будет играть не только на компьютере, но и на различных мобильных устройствах, VR/AR очках и Playstation. Для этого в настройках игры будет предусмотрено переключение на другие устройства.

Цель:создать прикладную игровую программу «Атака Титанов против Наруто» в среде программирования Unreal Engine для детей, увлеченных аниме.

Задачи:разработать алгоритм создания игры «Атака Титанов против Наруто», методы разработки программы в среде програмированиявUnreal Engine.

Объектом исследования: среда программирования Unreal Engine.

Предмет исследования: выстраивание алгоритма для создания компьютерной игры «Атака Титанов против Наруто».

Методы:

При решении данных задач использовались следующие методы:

Анализ источников.

Изучение теории.

Создание компьютерной игры.















Основная часть.

Обзор существующих игр.

Существует множество компьютерных игр, таких как:

NarutoShippuden: UltimateNinjaStorm 4 В ней есть все, что только может пожелать каждый фанат «Наруто» — огромный ростер персонажей (с возможностью менять их прямо посреди битвы), сюжет о Четвертой Мировой Войне Синоби, ведущий прямо к финалу всей эпопеи, красивая графика с зашкаливающим количеством ярких спецэффектов и возможность надавать по лицу Боруто с дополнением RoadtoBoruto, чтобы малец понял, куда попал. UltimateNinjaStorm 4 — очень простой и доступный трехмерный файтинг, удовольствие от которого может получить каждый. Даже если вы вообще не представляете, что это затакойНаруто.

Naruto: Rise of a Ninja. Во-первых, ее разрабатывала западная компания, причем не какая-то там, а сама UbisoftMontreal. Во-вторых, игра стала эксклюзивом Xbox 360, что удивительно, учитывая любовь японцев к консолям Sony и Nintendo. Но гораздо важнее, что это неиронично отличная игра из эпохи, когда Ubisoft еще не погрязла в вышках, открытых мирах и RPG-элементах.

Naruto: Path of the Ninja. У Path of The Ninja естьдвапродолжения — Naruto RPG 2: Chidori vs. Rasenganи Naruto: Path of the Ninja 2. Однако в последней вместо сюжета аниме и манги запихнули оригинальный сценарий, который качеством не блещет. А вот в геймплейном плане изменений почти нет. [1]


1.2 Анализ существующих методов и средств разработки приложений.

В данном разделе будет рассмотрен ряд движков, используемых для разработки игровых приложений. Среди огромного количества игровых движков можно выделить 3 основных: CryEngine, Unreal Engine, Unity. Эти варианты игровых движков подходят нам по пользовательскому соглашению, предлагаемому инструментарию, а также они сравнительно легки в освоение. Для принятия решения, необходимо подробно остановиться на каждом из вышеупомянутых пунктов и методом исключения оставить приемлемый для нас вариант.

Для того, чтобы определить требования к движку, сначала нужно дать ему определение.

Игровой движок – это основной программный компонент компьютерных интерактивных приложений с графикой, обрабатываемой в реальном времени. Он обеспечивает основные технологии, упрощает разработку и часто даёт приложению возможность запускаться на нескольких платформах, таких как игровые консоли и настольные операционные системы, например, Mac OS X, Microsoft Windows, Linux.

Движок включает в себя комплекс прикладных программ, которые, в свою очередь, отвечают за отрисовку графики (графический движок), за физику объектов (физический движок), звук, набор инструментов моделирования и постановки сцены, анимацию, искусственный интеллект, сетевую составляющую приложения и самое основное – методы использования памяти.

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

Подпрограммное обеспечение (игровой движок), как правило, имеет компонентную архитектуру. Это означает, что возможности движка можно изменять, а именно добавлять и расширять функционал. Например, модуль, отвечающий за физику объектов может быть заменен при необходимости. На текущий момент имеются два основных физических движка: NVidia PhysX и Havok. Они моделируют базовые физические законы в интерактивном приложении. Используя этот же принцип, можно заменить и платформу, отвечающую за звук и отрисовку графики (рендеринг).

В настоящее время существуют также движки, позволяющие только выполнить процесс построения графики (рендеринг). Такие движки предоставляют возможность разработчику реализовать самостоятельно остальную функциональность. Такие типы движков относят к «графическим движкам».

Графический движок – подпрограммное обеспечение, основной задачей которого является визуализация (рендеринг) двухмерной или трёхмерной компьютерной графики. Может существовать как отдельный продукт или в составе игрового движка. Может использоваться для визуализации отдельных изображений или компьютерного видео. Графические движки, использующееся в программах по работе с компьютерной графикой (таких, как 3ds Max, Maya, Cinema 4D, Zbrush, Blender), обычно называются «рендерерами», «отрисовщиками» или «визуализаторами». Само название «графический движок» используется, как правило, в компьютерных играх.

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

Использовать функциональность только графического движка при поставленной цели, опять же, невозможно.

Чаще всего 3D движки или системы рендеринга в игровых движках построены на графическом API, таком как Direct3D или OpenGL, который обеспечивает программную абстракцию GPU или видеокарты. Низкоуровневые библиотеки, например, DirectX, SDL и OpenAL, также используются в играх, так как обеспечивают аппаратно-независимый доступ к другому аппаратному обеспечению компьютера, такому как устройства ввода (мышь, клавиатура и джойстик), сетевые и звуковые карты. До появления аппаратно-ускоряемой 3D графики использовались программные визуализаторы. Программный рендеринг всё ещё используется в некоторых инструментах моделирования для рендеринга изображений, для которых визуальная достоверность важнее производительности (количество кадров в секунду) или, когда аппаратное обеспечение компьютера не удовлетворяет требованиям, например, не поддерживает шейдеры.

Также наш движок обязательно должен обладать средствами для объектно-ориентированного программирования (ООП).

Объектно-ориентированное программирование (ООП) — парадигма программирования, в которой основными концепциями являются понятия объектов и классов.

Использование средств ООП необходимо в нашей задаче, так как у нас есть объекты, свойства которых мы и должны запрограммировать.

Немаловажной особенностью, которой должен еще обладать игровой движок – это наличие мощных математических библиотек.

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

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

Так как, мы остановились на трех основных движках, а именно Unity, Unreal Engine, CryEngine, рассмотрим каждый поподробнее.


Игровой движок Unity

Unity — это инструмент для разработки двух- и трёхмерных приложений и игр, работающий под операционными системами Windows и OS X.

Одним из главных преимуществ игрового движка является поддержка большого числа платформ.

Список операционных систем: Windows; OS X; Windows Phone; Android; Apple iOS; Linux.

Также Unity поддерживает работу игровых приставок: Wii; PlayStation 3; PlayStation 4; Xbox 360; Xbox One.

Используя подключаемый модуль Unity (Unity Web Player), который реализован с помощью технологии WebGL, есть возможность запускать свои проекты в браузере.

Движок разрабатывался на платформах OpenGL и DirectX. Это позволяет создавать как OpenGL, так и DirectX приложения. Это и стало ключевым звеном для достижения мультиплатформенности.

Движок активно используется как крупными игровыми компаниями, так и независимыми разработчиками.

Unity стал популярным также благодаря наличию бесплатной версии, удобного интерфейса и простоты работы с движком.

Редактор Unity имеет простой Drag&Drop интерфейс, который легко настраивать, состоящий из различных окон, благодаря чему можно производить отладку игры прямо в редакторе. Движок поддерживает три сценарных языка: C#, JavaScript (модификация), Boo (диалект Python). Расчёты физики производит физический движок PhysX от NVIDIA.

Остановимся подробнее на физическом движке.

PhysX — проприетарное связующее программное обеспечение, кроссплатформенный физический движок для симуляции ряда физических явлений, а также комплект средств разработки (SDK) на его основе. Первоначально разрабатывался компанией Ageia для своего физического процессора PhysX. После того, как Ageia была приобретена nVidia, движок перешёл в собственность компании nVidia, которая продолжает его дальнейшую разработку. nVidia адаптировала движок для ускорения физических расчётов на своих графических чипах с архитектурой CUDA. PhysX может также производить вычисления с использованием обычного процессора. В настоящее время PhysX доступен на следующих платформах: Windows, Linux, Mac OS X, Wii, PlayStation 3, Xbox 360 (аппаратное ускорение возможно только на платформе Windows).

Подпрограммное обеспечение PhysX SDK позволяет разработчикам игр избегать написания собственного программного кода для обработки сложных физических взаимодействий в современных интерактивных приложениях. 20 июля 2005 года компания Sony лицензировала PhysX SDK для использования в своей игровой приставке седьмого поколения PlayStation 3. PhysX SDK может использоваться не только в среде Microsoft Windows, но также и в Linux, однако поддержка процессора PhysX пока работает только для Windows.

Наличие физического движка PhysX в Unity очень важно. В дальнейшем, при развитии платформы базовых инструментов двигателя внутреннего сгорания, разработчикам будет проще работать с физической составляющей. Им не придется описывать три главных компонента физического движка, а именно: обработка твердых тел; обработка тканей; обработка жидких тел.

Проект в Unity делится на сцены (уровни) — отдельные файлы, содержащие свои игровые миры со своим набором объектов, сценариев, и настроек. Сцены могут содержать в себе как, собственно, объекты (модели), так и пустые игровые объекты — объекты, которые не имеют модели («пустышки»). Объекты, в свою очередь содержат наборы компонентов, с которыми и взаимодействуют скрипты. Также у объектов есть название (в Unity допускается наличие двух и более объектов с одинаковыми названиями), может быть тег (метка) и слой, на котором он должен отображаться. Так, у любого объекта на сцене обязательно присутствует компонент Transform — он хранит в себе координаты местоположения, поворота и размеров объекта по всем трём осям. У объектов с видимой геометрией также по умолчанию присутствует компонент Mesh Renderer, делающий модель объекта видимой.

Движок поддерживает множество популярных форматов, таких как: .3ds, .max, .obj, .fbx, .dae, .ma, .mb для трёхмерных моделей. При этом оптимизация движка позволяет поддерживать комфортную работу с реалистичными моделями (hi-poly).

За счет оптимизации движок не предъявляет высокие системные требования. Для разработки подойдут компьютеры со следующими операционными системами: Windows XP SP2, Windows 7 SP1, Windows 8, Mac OS X 10.8. Также необходима DirectX 9 совместимая видеокарта.

Подытожив все сказанное, хочется вкратце отметить основные достоинства и недостатки игрового движка.

Достоинства:

Кроссплатформенность;

Среда разработки работает на двух операционных системах, а именно OS X и Windows;

Поддерживается запуск приложений в браузере;

Наличие объектно-ориентированных языков программирования;

Наличие физического движка;

Хорошая оптимизация;

Большое количество инструментов для работы со сценой;

Поддержка множества форматов для трехмерных моделей;

Удобный пользовательский интерфейс;

Легок в освоении.

Огромное количество расширений в Asset Store;

Нет кардинальных различий между платной и бесплатной версиями;

Большое количество обучающих материалов.

Недостатки:

Высокая цена за лицензию (покупать ее придется, если доход от проекта превысит 100000$ в год).


Игровой движок Unreal Engine

Unreal Engine – игровой движок, разрабатываемый компанией Epic Games. На текущий момент является лидером по количество проектов, сделанных на этом движке, так как был выпущен в 1998 году и был открыт для лицензирования.

Движок написан на C++, что позволило разработчикам создать среду разработки для большинства операционных систем и платформ.

Список поддерживаемых операционных систем: Windows; OS X; Linux; iOS; Android.

Список других поддерживаемых платформ: Wii; Wii U; PlayStation 3; PlayStation 4; Xbox 360; Xbox One.

Исходя из всего этого движок можно назвать кроссплатформенным и в этом он не уступает предыдущему игровому движку Unity.

Движок имеет компонентную систему зависимых модулей. Поддерживает различные системы получения графики (рендеринг). Среди них те же самые, что и в Unity: OpenGL, Direct3D.

В отличии от Unity Unreal Engine работает с несколькими платформами по аудио технологиям для создания качественного звукового окружения в интерактивном приложении (EAX, OpenAL, DirectSound3D).

Движок также имеет набор сетевых инструментов и поддерживает работу большого количества устройств ввода.

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

Что касается программирования, то используется C++ код, который содержит в себе много C++ классов. Каждый класс определяет шаблон для нового Актера (Actor) или Объекта (Object).

Актёр — родительский класс, содержащий все объекты, которые имеют отношение к игровому процессу и имеют пространственные координаты. Внутри каждого класса объявляются функции, либо методы. Классы также могут включать в себя структуры.

Программирование в Unreal Engine подчиняется всем стандартам языка C++. Это означает, что разработчику, знающему этот язык, будет гораздо проще в освоении среды.

Движок предлагает технологии по размещению приложения, созданного в среде, в браузере. При этом используется всего лишь HTML5. Эта функция очень удобна, так как HTML5 используется всеми самыми передовыми браузерами средством по умолчанию. В отличии от Unity здесь не нужно устанавливать отдельное программное обеспечение.

Подводя итоги, отметим все плюсы и минусы Unreal Engine.

Плюсы:

Кроссплатформенность;

Поддержка трех различных операционных систем средой разработки: Windows, Linux, OS X.

Поддерживается запуск приложений в браузере;

Наличие объектно-ориентированного языка программирования;

Наличие движка для обработки физики;

Есть возможность автоматического создания кода;

Система Blueprint для написания игровой логики;

Бесплатность движка;

Продвинутый редактор создания материалов;


Минусы:

Небольшое количество обучающих материалов на русском языке;

Плохая оптимизация;

Мало расширений;

Низкий порог для покупки лицензии (3000$ за квартал);

Высокие системные требования;

Сложен в освоении.


Игровой движок CryEngine

CryEngine 3 SDK — набор программных инструментов для разработки интерактивных приложений на игровом движке CryEngine 3. Он бесплатен и распространяется через магазин цифровой дистрибуции Steam. Сразу надо отметить, что отчисления разработчику за любой коммерческий проект установлено в 20% от выручки.

CryEngine с самого начала разрабатывался для профессионалов, поэтому у движка высокая сложность освоения. Разработчики рекомендуют иметь базовые знания в создании интерактивных приложений, а также быть опытными пользователями таких программ, как Photoshop и 3d Studio Max. Также рекомендуется знать методы построения графики.

Движок является кроссплатформенным и поддерживает: PC Windows (XP SP2, Vista SP1, 7); Xbox 360; Xbox One; Playstation 3, 4;

CryEngine SDK присутствует только на операционной системе Windows. В отличии от Unreal Engine разрядность системы не имеет значения.

CryEngine SDK является менее требовательным к системным ресурсам, чем Unreal Engine.

Движок не поддерживает работу со стандартными форматами файлов описания геометрии. Редакторы трехмерной графики должны иметь специальный плагин для создания поддерживаемой модели.

Программирование в среде осуществляется двух языках программирования: Lua или C++.

Игровой движок CryEngine имеет в своём составе полностью новую многопоточную сетевую систему, которая управляет всеми подключениями в режиме многопользовательской игры (мультиплеера). Сетевая система является надёжной, с низким временем ожидания и низкой полосой пропускания, а также базируется на архитектуре «клиент-сервер», используя продвинутое ранжированное кодирование, основанное на алгоритмах сжатия.

Отметим все плюсы и минусы движка.

Плюсы:

Кроссплатформенность;

Наличие объектно-ориентированного программирования;

Имеется физический движок;

Продвинутый графический движок;

Улучшенная сетевая система;

Минусы:

Отсутствие SDK на OS X;

Отсутствует поддержка запуска приложения в браузере;

Движок рассчитан на профессионалов;

Высокий процент отчисления от прибыли;

Невозможность импорта стандартных 3D форматов;

Очень мало обучающего материала на русском языке.


Для решения поставленной задачи разработки собственной прикладной игровой программы я выбрал игровой движок UnrealEngine. Он полностью удовлетворяет нас по функционалу. Его возможностей хватает для достижения поставленной цели.



1.3. Разработка программы.

Для создания своей прикладной игровой программы я выбрал сюжет из аниме, которое называется «Наруто и атака Титанов».

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

В моей игре есть различные модели домов (рис.1), для создания которых я выбрал программу Blender, после чего загрузил эти модели в UnrealEngine. Язык программирования Blueprint .

t1658409924aa.png

Рис.1

В программе используется механика перемещения, чтобы герои могли заходить в свои дома и здания, не открывая дверей.[3]


Программный код (Рис.2).


t1658409924ab.png

Рис.2
















Анкетирование участников тестирования программного продукта.

Мы провели анкетирование среди учащихся 7-8 классов после тестирования нашей программы. Данное анкетирование показало:


t1658409924ac.gif




Заключение.

Процесс создания различных игровых программ очень увлекателен и интересен. Хотя моя компьютерная игра еще до конца не разработана, я не собираюсь на этом останавливаться. Я буду продолжать работу над ее созданием и очень надеюсь в скором времени она будет готова. Продолжу

В результате нашей работы была создана прикладная игровая программа «Атака Титанов против Наруто», с помощью которой можно проводить отработку навыков работы с клавиатурой и мышью. По результатам анкетирования 15 учащихся мы пришли к выводу, что наша программа понравилась. Наша цель: создать прикладную игровую программу «Атака Титанов против Наруто» в среде программирования Unreal Engine для детей, увлеченных аниме - достигнута.





Ссылки на материалы интернет-ресурсов:


Сайт Канобуhttps://kanobu.ru/articles/luchshie-igryi-poanime-naruto-netolko-fajtingi-374537/

СайтCubiqhttps://cubiq.ru/naruto/

Создание игр / Уроки по UnrealEngine 4 / создание телепорта https://www.youtube.com/watch?v=gGjwXT-OK9s&list=PLYpWZxEb36SgFdRsPJid4gQHjmmaGbmtV&index=4

Создание игр / Уроки по UnrealEngine 4 / #1 - создание террейна, материалы https://www.youtube.com/watch?v=iHwo167cDDg&list=PLYpWZxEb36SgFdRsPJid4gQHjmmaGbmtV&index=1





Приложение 1.

Анкета.

Понравилась ли вам игра ?

Да

Нет

Понравилась ли вам обстановка?

Да

Нет

Понравились ли вам эффекты телепортации главного персонажа?

Да

Нет

Понравился ли вам сам персонаж?

Да

Нет











Приложение 2.

Этапы создания программы.

На данном этапе работы я создаю карту пространства, где будет происходить действие.[4]

Пошаговый как из квадрата мир 1 шаг(Рис.3) из квадратика и 2 шаг (Рис. 4, Рис. 5), что получилось.

t1658409924ad.png

Рис. 3.


t1658409924ae.png

Рис.4

t1658409924af.png



Рис. 5.

Открываем программу нажимаемGames и NEXT (Рис. 6).

t1658409924ag.png

Рис. 6

Теперь выбираем режим, который нам нужен и нажимаем NEXT.

t1658409924ah.png

Рис.7.

Наверху справа можем выбрать язык программирования, снизу настройки,а самое последнее выбор цвета (Рис.7.).

Наверху слева - на какое устройство будем делать игру, снизу настройки от автора программы (Рис.8.).

t1658409924ai.png

Рис.8.

Справа мы выбираем папку, в которой будет это храниться,слева- название и нажимаем CreataProject.

t1658409924aj.png

У нас открывается стандартная карта для этого режима.

t1658409924ak.png

Чтобы изменить настройки карты нужно выбирать в этом меню Landscape.

t1658409924al.png

У нас открывается вот это папочка, тут мы выбираем, каких размеров будет карта и материал и нажимаем кнопку создать.

t1658409924am.png

Вот такая карта у нас получилась, чтобы сделать рельеф выбираем в правом верхнем углу кнопку скульптинг.



в формате Microsoft Word (.doc / .docx)
Комментарии
Комментариев пока нет.