Онлайн поддержка
Все операторы заняты. Пожалуйста, оставьте свои контакты и ваш вопрос, мы с вами свяжемся!
ВАШЕ ИМЯ
ВАШ EMAIL
СООБЩЕНИЕ
* Пожалуйста, указывайте в сообщении номер вашего заказа (если есть)

Войти в мой кабинет
Регистрация
ГОТОВЫЕ РАБОТЫ / ДИПЛОМНАЯ РАБОТА, ПРОГРАММИРОВАНИЕ

Программирование игрового пространства для игры на движке UNITY для ANDOID

superrrya 1050 руб. КУПИТЬ ЭТУ РАБОТУ
Страниц: 42 Заказ написания работы может стоить дешевле
Оригинальность: неизвестно После покупки вы можете повысить уникальность этой работы до 80-100% с помощью сервиса
Размещено: 09.12.2021
Выпускная квалификационная работа 40 с., 18 рис., 19 источн. UNITY, СОЗДАНИЕ ИГР, НАСТРОЙКА ГЕЙМПЛЕЯ, ИГРЫ Объектом разработки данной выпускной квалификационной работы является прототип мобильной игры. Целью работы является создание собственного прототипа игры на движке Unity. В результате выполнения выпускной квалификационной работы был разработан прототип игры на движке Unity. А также были выполнены следующие задачи: – изучена и проанализирована литература по движку Unity; – создан алгоритм построения лабиринта; – разработан пользовательский интерфейс; – создан виджет, отображающий количество собранных монет. RHM (Random Hard Maze) – это игра в жанре головоломки. Область применения – досуг пользователя. ?
Введение

Актуальность ¬– в наше время, игровая индустрия очень развита и с каждым годом, количество проектов, студий и игроков неуклонно растет. Именно поэтому, в данной нише постоянно идет набор сотрудников с разным уровнем знаний и умений. Она очень привлекательна и перспективна. При разработке игры RHM (Random Hard Maze) использован игровой движок Unity который является межплатформенной средой разработки компьютерных игр, разработанный американской компанией Unity Technologies. Unity позволяет создавать приложения для персональных компьютеров, игровых консолей, мобильных устройств, интернет-приложений и других платформ. Выпущена Unity в 2005 году и с того времени идёт её постоянное развитие. Главные преимущества движка Unity – это наличие визуальной среды разработки, межплатформенной поддержки и модульной системы компонентов. К недостаткам относят появление сложностей при работе с многокомпонентными схемами, а также затруднения при подключении внешних библиотек. Цель работы: создание прототипа игры на движке Unity. Основные задачи работы: – изучить и проанализировать литературу по движку Unity; – создать алгоритм построения лабиринта; – разработать пользовательский интерфейс; – создать виджет, отображающий количество собранных монет. Смысл игры состоит в следующем. Создается случайно сгенерированный лабиринт. Игрок за определенное время должен его пройти, обойдя всех врагов и собрав как можно больше монет и предметов. Область применения – досуг пользователя.
Содержание

Введение 4 1 Анализ информации 5 1.1 Мобильные игры 5 1.2 Обзор существующих мобильных платформ 6 1.3 Обзор существующих игровых движков 7 1.4 Классификация лабиринтов и их генерирование 9 2 Unity 15 2.1 Описание Unity 15 2.2 Достоинства и недостатки 16 2.3 Интерфейс Unity 17 3 Разработка 25 3.1 Лабиринт 25 3.1.1 Генерация поля 25 3.1.2 Создание пути и удаление ненужных стен 26 3.2 Создание управления персонажем 31 3.3 Поднятие монет и предметов 33 3.4 Пользовательский интерфейс 35 4 Портирование игры на Android 38 Заключение 41 Список использованных источников 42
Список литературы

1 The Advantages of Mobile Phone Games. – URL: https://www.techwalla.com/articles/the-advantages-of-mobile-phone-games 2 Операционные системы мобильных телефонов. – URL: http://azericms.com/mobilnyie-prilozheniya/top-10-mobilnyih-telefonov-operatsionnyie-sistemyi.html 3 Какой игровой движок выбрать для мобильной игры. – URL: https://iunity3d.ru/kakoj-igrovoj-dvizhok-vybrat-dlya-mobilnoj-igry 4 Unity - Manual: Unity Overview. – URL: https://docs.unity3d.com/500/Documentation/Manual/UnityOverview.html 5 Лабиринты: классификация, генерирование, поиск решений. – URL: https://habr.com/ru/post/445378/ 6 Unity (игровой движок) – Википедия. – URL: https://ru.wikipedia.org/wiki/Unity_(игровой_движок) 7 Unity3D. Начало работы, практические советы. – URL: https://habr.com/ru/post/161463/ 8 Движок Unity – особенности, преимущества и недостатки. – URL: https://cubiq.ru/dvizhok-unity/ 9 Unity3D. Интерфейс программы. – URL: https://gamesisart.ru/game_dev_unity_2.html 10 What is Unity 3D. What is it Used for?. – URL: https://conceptartempire.com/what-is-unity/ 11 Recursive backtracker. – URL: https://weblog.jamisbuck.org/2010/12/27/maze-generation-recursive-backtracking 12 Как работает Unity Character Controller. – URL: https://unity3dschool.ru/kak-rabotayet-unity-character-controller.html 13 Как сделать подбор предметов в Unity. – URL: https://qna.habr.com/q/430419 14 Как создать внутрииговое меню в Unity. – URL: https://habr.com/ru/post/346370/ 15 Java Development Kit – Википедия. – URL: https://ru.wikipedia.org/wiki/Java_Development_Kit 16 Основные понятия об Android SDK. – URL: https://fans-android.com/osnovnye-ponyatiya-ob-android-sdk/ 17 Android SDK – Википедия. – URL: https://ru.wikipedia.org/wiki/Android_SDK 18 Что такое Android SDK. – URL: https://androfon.ru/prodvinut/chto-takoe-android-sdk-gde-skachat-i-kak-ustanovit 19 Портирование игры на Android. – URL: https://www.youtube.com/watch?v=L8mQBzD-iEc
Отрывок из работы

1 Анализ информации и постановка задачи 1.1 Мобильные игры Благодаря огромному количеству пользователей мобильных устройств, становится всё больше разработчиков игр, многие из которых занимаются созданием игр исключительно для мобильных игр. Кроме того, основная демографическая группа (подростки и взрослые) относится к числу тех, кто с наибольшей вероятностью владеет смартфоном. Часть популярности мобильные игры завоевали именно из-за того, что есть возможность играть где угодно, даже без доступа в интернет и отсутствия телефонного сигнала. Приложение работает через жесткий диск телефона точно также, как и на портативном компьютере [1]. Также стоит отметить, что игры на мобильные телефоны стоят в разы меньше чем игры на персональные компьютеры и консоли. Кроме того, практически у каждого человека есть мобильный телефон, чего не скажешь про компьютеры и консоли. Низкая стоимость игр для мобильных телефонов так связанна ещё с один преимуществом – огромным разнообразием мобильных игр. Поскольку мобильные игры можно производить быстрее и дешевле, чем другие видеоигры, разработчики могут пойти на больший риск, опробовав новые концепции или идеи. Разработчики не так много теряют, если экспериментальная игра непопулярна. В результате мы получаем замечательную креативность в мобильных играх. Кроме того, на одном и том же рынке могут конкурировать как крупные игровые корпорации, так и крошечные дизайнерские фирмы. Низкая себестоимость производства обеспечивает дальнейшее разнообразие игрового рынка и дальнейшее разнообразие мобильных игр в целом. 1.2 Обзор существующих мобильных платформ Несмотря на то, что современные смартфоны имеют достаточно небольшой размер, их легко можно назвать карманными компьютерами. Такими их делают операционные системы, которые являются главным отличием смартфона от обычного телефона [2]. На данный момент самыми распространенными операционными системами для мобильных устройств являются: – Android – это операционная система для таких устройств как смартфоны, планшеты, ноутбуки, фитнес-браслеты и многих других. Сначала операционная система разрабатывалась компанией Android Inc., однако позже её купила компания Google. В последствии Google создала альянс Open Handset Alliance из 84 компаний, таких как Google Inc., Samsung, Asus, Nvidia, HTC и многих других, которые поддерживают эту платформу и занимаются её дальнейшим развитием. Android дает возможность создавать Java-приложения, которые управляют устройством через разработанные Google библиотеки; – iOS – операционная система, выпущенная в 2007 году компанией Apple. Главное отличие этой операционной системы заключается в том, что она выпускается только для устройств, которые производит компания Apple. Изначально операционная система была на таких устройствах как IPhone и IPod touch, однако позже эту операционную систему также получили IPad и Apple TV; – Windows Phone – мобильная операционная система, которую разработала компания Microsoft и выпустила в 2010 году. Однако в 2017 году компания заявила, что перестанет создавать новые устройства, а также будет прекращена работа над обновлениями Windows 10 Mobile. В 2019 году компания полностью прекратила поддержку Windows 10 Mobile и на данный момент этой операционной системой практически никто не пользуется; – Baba – мобильная платформа, созданная компанией Samsung в 2010 году. В 2013 году поступило заявление о том, что платформа bada объединиться с другой мобильной платформой под названием Tizen; – Open wedOS – встраиваемая открытая операционная система для смартфонов и интернет-планшетов. Изначально была разработана компанией Palm, но в 2013 году поддерживать и разрабатывать эту операционную систему стала компания LG Electronics вместе с открытым обществом разработчиков; – Symbian OS – операционная система, которая занимала большую часть рынка до начала 2010 года. С каждым годом растет количество пользователей, которые пользуются операционной системой Android. В 2021 году у Android насчитывается 2,8 миллиарда активных пользователей, что составляет 75% доли на мировом рынке. Исходя из этих данных, чаще всего разработчики предпочитают создавать мобильные приложения именно для Android. На сегодняшний день Android является одной из самых популярных и интересных систем, которая позволяет пользователю настроить систему под себя. Несмотря на огромный успех, есть шанс того, что система Android рано или поздно перестанет поддерживаться компанией Google, которая разрабатывает альтернативную операционную систему, чтобы ее заменить. Делается это по причине того, что существующая система до сих пор имеет ряд недочетов, которые нельзя исправить полностью. 1.3 Обзор существующих игровых движков На сегодняшний день число активных геймеров превышает уже 3 миллиарда. И большинство из них хоть раз задумывались о том, как создать свою игру. Для упрощения разработки игры лучше всего использовать игровой движок, который обеспечит необходимым набором инструментов [3]. Среди большого разнообразия игровых движок, можно выделить несколько, которые лучше всего подойдут для создания мобильных игр: – Unity – межплатформенная среда разработки игр в которой для написания скриптов используются языки программирования C# и JavaScript. Ранее помимо этих языков программирования также использовался такой язык как Boo (диалект Python). Движок разработан компанией Unity Technologies в 2005 году; – Unreal Engine – игровой движок, который был разработан компанией Epic Games и до сих пор ею поддерживается. Несмотря на то, что многие разработчики считают, что Unreal Engine подходит лишь для создания больших проектов, этот движок достаточно универсален и на нем также можно разрабатывать мобильные игры; – Defold – движок с набором инструментов для создания 2D игр, поэтому сделать 3D игру будет достаточно тяжело, однако всё же можно. В дальнейшем разработчики игрового движка собираются улучшить набор инструментов и для 3D игр; – Corona SDK – фреймворк для создания 2D игр. Он рекомендован тем, кто только начинает свой путь в разработке мобильных игр, так как достаточно легок в освоении; – Gobot 3D – игровой движок для создания 2D и 3D игр. Gobot дает возможность разработчикам создавать свои игры с нуля, используя лишь некоторые инструменты для создания элементов графики, музыкальных треков и т.д. Внутреннее устройство игровых движков можно разделить на два типа – это полноценное ПО и фреймворки. Полноценное ПО – это программа, которая предоставит полноценный редактор для создания игр, а также поможет собрать готовый проект воедино. А фреймворк – это набор нужных функций и классов, которые понадобятся для разработки игры с нуля и собирать проект придется самостоятельно. Так же различия этих двух типов заключается в том, что в случае фреймворка, игру придется писать на языке программирования, который был использован для написания этого фреймворка, а если мы берем полноценное ПО, то в нём можно писать на таких языках программирования как C++, JavaScript, Lua и C#, а также использовать визуальное программирование. Для разработки средних по сложности игр под Android и компьютер лучше всего подойдет игровой движок Unity, в основном благодаря достаточно большому выбору различных ассетов. Также у Unity есть возможность экспортировать и импортировать готовые скрипты, что даёт возможность разработчикам упростить работу при создании различных приложений. По данным официального сайта Unity, их движком пользуются более 50% разработчиков игр, 20% пользователей предпочитают игровой движок Unreal Engine, а оставшиеся 30% приходятся на другие игровые движки [4]. 1.4 Классификация лабиринтов и их генерирование Лабиринты, включая их алгоритмы создания, можно разделить на семь различных классификаций [5]: – размерность; – гиперразмерность; – топология; – тесселяция; – маршрутизация; – текстура; – приоритет. К классу размерности относится определение количества заполняемых лабиринтом измерений в пространстве. Этот класс можно разделить на три типа: двухмерные, трехмерные и более высокие размерности. Практически все лабиринты относятся к двухмерному типу размерности, их можно нарисовать на обычном листе бумаги и двигаться по нему. В отличие от двухмерного типа лабиринтов, в трехмерном типе проходы идут не только в четыре стороны, в нём также можно подниматься наверх или опускаться вниз. К более высоким размерностям уже относятся четырехмерные лабиринты и более многомерные. В таких лабиринтах обычно есть так называемые порталы в другие измерения, например, в будущее или прошлое. Помимо основных трех типов есть ещё переплетение, когда проходы могут накладываться друг на друга и этот тип чаще всего относят к двухмерным лабиринтам. Размерность объекта, который двигается через лабиринт, относят уже к классификации гиперразмерности. Здесь также идёт разделение на несколько типов: не-гиперлабиринты, гиперлабиринты и гипер-гиперлабиринты. Не-гиперлабиринтами считаются практически все лабиринты, даже если они созданы в высокой размерности. В них идет работа с небольшими объектами, например, с шариком или самим игроком и двигаются они от точки к точке, а проложенный маршрут образует линию. В этом лабиринте достаточном легко просчитать количество вариантов выбора в каждой точке. К гиперлабиринтам относятся те лабиринты, в которых решаемый объект не является простой точкой. Гиперлабиринты состоят из линий и при перемещении по пути они образуют поверхность. Этот тип лабиринтов существует только в 3D или в среде с большой размерностью. В гиперлабиринтах, чтобы избежать сжатия линии в точку, делают линию решения бесконечной или же её конечные точки располагают уже за приделами гиперлабиринта, иначе можно считать это не-гиперлабиринтом. Последним типом гиперразмерности считается гипер-гиперлабиринт в котором решаемым объектом будет плоскость, которая образует объемную фигуру при перемещении по пути. Такие лабиринты существуют только в 4D или в среде большей размерности. К описанию геометрии пространства лабиринта, в котором он существует как целое, относится класс топологии. В этом классе всего два типа. Обычный, то есть стандартный лабиринт в эвклидовом пространстве и тип planair. Ко второму типу относятся лабиринты, у которых края лабиринта соединены интересным способом, например, лабиринт на поверхности куба. Тесселяция отвечает за геометрию отдельных ячеек из которых состоит весь лабиринт. У тесселяции достаточно много типов. Стандартный лабиринт с прямоугольной сеткой будет относится к типу ортогональный. В нем ячейки имеют проходы, которые пересекаются под прямыми углами. Также ортогональный тип лабиринтов можно назвать гамма-лабиринтом. Дельта-лабиринтами будут называться лабиринты, которые состоят из соединенных треугольников. У каждой ячейки в дельта-лабиринтах может быть до трёх соединенных с ней проходов. Лабиринты, составленные из шестиугольников, называются сигма-лабиринтами, здесь уже у каждой ячейки может быть до шести проходов. Тета-лабиринты состоят из концентрических окружностей проходов, у них начало или конец находятся на внешнем крае окружности, а другой располагается в центре. Ипсилон-лабиринты состоят из соединённых восьмиугольников или квадратов, в них каждая ячейка может иметь до восьми или четырёх проходов. Дзета-лабиринт расположен на прямоугольной сетке, только в дополнение к горизонтальным и вертикальным проходам допускаются диагональные проходы под углом 45 градусов. Термин «омега» относится практически к любому лабиринту с постоянной неортогональной тесселяцией. Дельта-, сигма-, тета- и ипсилон-лабиринты относятся к этому типу, как и многие другие схемы, которые можно придумать, например, лабиринт, состоящий из пар прямоугольных треугольников. Crack-лабиринт – это аморфный лабиринт без постоянной тесселяции, в котором стены и проходы расположены под случайными углами. Фрактальный лабиринт – это лабиринт, составленный из меньших лабиринтов. Фрактальный лабиринт из вложенных ячеек – это лабиринт, в каждой ячейке которого размещены другие лабиринты, и этот процесс может повторяться несколько раз. Бесконечно рекурсивный фрактальный лабиринт – это истинный фрактал, в котором содержимое лабиринта копирует себя, создавая по сути бесконечно большой лабиринт. Наиболее интересным классом в генерации лабиринтов считается маршрутизация, которая связанна с разновидностями проходов в пределах геометрии. Существует пять типов маршрутизации: идеальный, плетёный, одномаршрутный, разреженный и частично плетёный. Идеальным типом лабиринта считается лабиринт без петель, замкнутых цепей и без недостижимых областей. Так же его можно назвать лабиринтом с одиночным соединением. В плетенном лабиринте отсутствуют тупики, вместо этого используются проходы, которые замыкаются и возвращаются друг к другу. Исходя из этого, плетенный лабиринт может оказаться намного сложнее идеального типа лабиринта такого же размера, если его качественно сделать. Одним из самых простых лабиринтов является одномаршрутный лабиринт, который состоит из одного очень длинного и извивающегося прохода, постоянно меняющего своё направление. Разреженный лабиринт не прокладывает проходы через каждую ячейку, то есть некоторые из них не создаются. Это подразумевает наличие недостижимых областей, то есть он в некотором смысле противоположен плетёному лабиринту. Похожую концепцию можно применить и при добавлении стен, благодаря чему можно получить неравномерный лабиринт с широкими проходами и комнатами. Частично плетёный лабиринт – это смешанный лабиринт, в котором есть и петли, и тупики. Слово «плетёный» можно использовать для количественной оценки, то есть «лабиринт с сильным плетением» – это лабиринт со множеством петель или убранных стен, а в «лабиринте со слабым плетением» их всего несколько. Стили проходов различных маршрутизаций и геометрий будет описывать классификация по текстуре. С помощью показателя пролетов можно определить насколько долго будут идти длинные проходы до момента пока не появится вынужденный поворот. Среди различных видов лабиринтов присутствуют такие лабиринты, которые имеют симметричные проходы пример показан на рисунке 1. Лабиринты могут быть как частично, так и полностью симметричны. В лабиринте со смещёнными проходами прямые проходы склонны больше идти в одном направлении, чем в других. Также есть однородные алгоритмы, которые генерируют все лабиринты с равной вероятностью. Рисунок 1 – Симметричный лабиринт Существует два основных типа процессов создания лабиринтов: добавляющие стены и вырезающие проходы – это всё показывает такая классификация как приоритет. Алгоритмы, для которых приоритетом являются стены, начинают с пустой области, в процессе работы добавляя стены. А алгоритмы, приоритетом которых являются проходы, начинают со сплошного блока и в процессе работы вырезают в нём проходы. Помимо выше перечисленных есть ещё множество различных лабиринтов и классификаций, и каждый из них достаточно интересный. Для того, чтобы создать стандартный идеальный лабиринт нужно постепенно добавлять в лабиринт сегменты стен, при этом не забывая о том, что в нем должны отсутствовать петли и изолированные области. Для создания лабиринта без тупиков по сути нужно добавлять в лабиринт сегменты стен случайным образом, но делать так, чтобы каждый новый добавляемый сегмент не приводил к созданию тупика. При создании трехмерных лабиринтов, а также лабиринтов большей размерности за основу можно взять алгоритм создания стандартного идеального двухмерного лабиринта, однако из каждой ячейки нужно будет случайно двигаться в шесть, а не в четыре ортогональные ячейки. Crack-лабиринты создаются точно также, как и идеальные лабиринты с добавлением стен, только в них нет отчётливой тесселяции, за исключением случайного расположения пикселей. Planair-лабиринты с необычной топологией обычно создаются как массив из одного или нескольких лабиринтов, или частей лабиринтов, в которых определён способ соединения краёв друг с другом. ? 2 Unity 2.1 Описание Unity Первая версия Unity была замечена в 2005 году. Игровой движок был анонсирован на Глобальной конференции создателей. В начале Unity был специализирован лишь только для компьютеров Mac, а позднее вышло обновление, позволяющее работать под Windows. В следующих версиях постепенно добавлялись и иные платформы [6].
Условия покупки ?
Не смогли найти подходящую работу?
Вы можете заказать учебную работу от 100 рублей у наших авторов.
Оформите заказ и авторы начнут откликаться уже через 5 мин!
Похожие работы
Дипломная работа, Программирование, 8 страниц
3000 руб.
Дипломная работа, Программирование, 68 страниц
20000 руб.
Дипломная работа, Программирование, 5 страниц
2000 руб.
Дипломная работа, Программирование, 6 страниц
3300 руб.
Служба поддержки сервиса
+7 (499) 346-70-XX
Принимаем к оплате
Способы оплаты
© «Препод24»

Все права защищены

Разработка движка сайта

/slider/1.jpg /slider/2.jpg /slider/3.jpg /slider/4.jpg /slider/5.jpg