Тип работы:
Предмет:
Язык работы:


UNET - ТЕХНОЛОГИЯ СОЗДАНИЯ СЕРВЕРА ДЛЯ МНОГОПОЛЬЗОВАТЕЛЬСКИХ ВИДЕОИГР

Работа №47280

Тип работы

Дипломные работы, ВКР

Предмет

информационные системы

Объем работы119
Год сдачи2018
Стоимость4300 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
345
Не подходит работа?

Узнай цену на написание


Введение 3
1. Теоретические аспекты технологии «UNET» 5
1.1. Основные тезисы и определения 5
1.2. Понятие «UNET» 9
2. Архитектура и принцип работы «UNET» 11
2.1. Высокоуровневый API (HLAPI) 11
2.2. Низкоуровневый API (LLAPI) 21
2.3. Минусы технологии «UNET» 32
3. Реализация собственного сервера 36
3.1. Подключение к серверу 36
3.2. Обработка событий на клиенте/сервере 41
3.3. Общение клиента с сервером. Ответ сервера клиенту 45
3.4. Игровые события на сервере и клиенте 49
Заключение 58
Список литературы 60
Приложение


Видеоигровая индустрия с каждым годом становится все популярнее. Уже сейчас индустрия компьютерных игр по прибыли стоит на одном пьедестале с киноиндустрией и спортом. В нынешний век информационных технологий интернет-технологии не стоят на месте и развиваются семимильными шагами. Интернет активно входит практически во все сферы деятельности, все чаще и чаще давая нам выполнять огромное количество различных действий практически в любой точке мира. Конечно же, видеоигры не стали исключением. С развитием интернета появился такой термин, как много-пользовательские игры, т.е. игры, позволяющие играть с несколькими игроками одновременно как по локальной сети, так и удаленно по всему свету. Наряду с другими главными критериями в создании такого рода игр является создание сервера.
Сервер в этом случае - связующий элемент не только игроков, но и всех ключевых элементов игры, без которого игра такого жанра попросту не может существовать. Именно поэтому задача создания сервера - не менее, а порой и более важная задача при создании мультиплеерной игры. Актуальной проблемой задачи по созданию сервера является выбор технологии.
Задача заключается в определении языка, с помощью которого можно наиболее легко работать с web-сервисами и технологиями, при этом язык не должен быть слишком сложен для понимания. Так же основными критериями сервера являются скорость работы, масштабирование и стабильная работа. Сервер должен быстро обрабатывать и отвечать на запросы со стороны клиента, обрабатывать информацию и события во время игры. Так же он должен быть максимально масштабируемым, т.к. чем популярнее игра, тем больше в нее играют игроков и чем выше показатель масштабируемости, тем больше игроков могут находиться онлайн в игре одновременно. Главным же показателем является стабильность, т.к. стабильная и бесперебойная работа сервера - самое необходимое в любых онлайн играх и периодические разрывы соединения с сервером могут отрицательно, если не критично повлиять на оценку и популярность игры. Нередко бывали случаи, когда из-за нестабильной работы серверов даже игры крупных и всемирно известных разработчиков теряли своих игроков чуть-ли не в первые месяцы с момента ее выхода.
Одно из решений данной задачи и создания игрового сервера предоставляет компания «Unity Technologies» в своем игровом движке «Unity 3D» в виде технологии под названием «UNET».
Цель данной работы - детально изучить технологию и реализовать игровой сервер на основе этой технологии.
Задачами работы разделены на 2 этапа: изучения и создание. На этапе изучения необходимо будет детально рассмотреть и изучить возможности технологии UNET, особенности, свойства, структуру, плюсы и минусы по сравнению с другими технологиями.
На этапе создания необходимо будет создать собственный сервер, основываясь на полученных данных и знаниях предыдущего этапа. Необходимо будет реализовать запуск сервера и подключение клиента (-ов), общение между сервером и клиентом, а также обработку событий в игре и ответы сер-вера на них клиенту.
Для выполнения работы нам понадобится игровой движок Unity 3D, который предоставляется бесплатно самими разработчиками движка.


Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


В данной выпускной квалификационной работе мы рассмотрели такую технологию, как UNET. Рассмотрели детально все его аспекты, возможности и недостатки, а также на основе полученных знаний создали свой собственный игровой сервер.
Данная технология очень хорошо подходит для разработчиков, которые планируют сделать многопользовательскую игру на движке Unity, т.к. они будут иметь ряд преимуществ. Сервер начинает работать сразу при запуске и так же при запуске начинает обрабатывать стартовые функции и настройки. Технология входит в базовый функционал движка, поэтому разработчикам не придется скачивать что-то дополнительно для работы с ней и имеет общую логику как для клиента, так и для сервера, что облегчает задачи программистам, т.к. им просто нужно разработать общую логику лишь с небольшими отличиями. Так же плюсом является то, что сервер имеет мультиплатформенность, т.е. он может запускаться практически на всех платформах, поддерживаемых Unity.
Однако технология так же имеет и недостатки, такие как ограничение в Unity, т.е. клиентская часть должна быть так же создана в Unity, как и сервер. Ограниченность технологии, связанной с платными сервисами и, наверное, самое главное, отсутствие четкой и детально написанной документации на официальных источниках.
По итогу можно сказать, что данная технология отлично подойдет разработчикам, которые хотят написать игру с небольшими вычислительными данными или не очень крупными проектами на Unity 3D, т.к. с такой возможностью технология справляется на отлично. Для сервера, от которого требуется большие вычислительные процессы и большие потоки данных, данная технология к сожалению, не может быть рекомендована, т.к. разработчики скорее всего будут натыкаться на множество недостатков, что в итоге приведет их к решению выбрать другую технологию для реализации сер¬вера, в то время, как сам клиент так же можно создать с помощью Unity.
Ну и на личном примере, рассмотренном в главе 3 было видно, насколько легко, удобно и быстро можно работать с данной технологией. При желании освоить ее нетрудно, хоть и придется порыться по многочисленным сайтам. Но в целом данная технология — отличное решение как для новичков, так и опытных разработчиков в области разработки видеоигр инди или AA уровня


1. Г. Шилдт. "С# 4.0. Полное руководство". Издательство "И.Д. Вильямс", г. Москва, 2015 г.
2. Ф. Синди. "TCP/IP. Архитектура, протоколы, реализация". Издательство "Лори», г. Москва, 2015 г.
3. Портал Wikipedia, "Unity 3D" электронный ресурс: https://ru.wikipedia.org/wiki/Unity (%D0%B8%D0%B3%D1%80%D0%BE%D0%B2%D0%BE%D0%B9%D0%B4%D0%B2%D0%B8%D0%B6%D0%BE%D0%BA)
4. Портал Wikipedia, "UDP"электронный ресурс:
https: //ru.wikipedia. org/wiki/UDP
5. Портал Wikipedia, "Transmission Control Protocol"электронный ресурс: https://ru.wikipedia.org/wiki/Transmission Control Protocol
6. Портал Wikipedia, "Объектно-ориентированное программирование" элек-тронный ресурс:
https://ru.wikipedia.org/wiki/%D0%9E%D0%B1%D1%8A%D0%B5%D0%BA%D 1 %82%D0%BD%D0%BE-
%D0%BE%D 1 %80%D0%B8%D0%B5%D0%BD%D 1 %82%D0%B8%D 1 %80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%BE%D0%B5%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5
7. Портал Wikipedia, "NAT"электронный ресурс:
https: //ru.wikipedia. org/wiki/NAT
8. Портал Wikipedia, "Common Intermediate Language"электронный ресурс: https: //ru.wikipedia. org/wiki/Common Intermediate Language
9. Портал Wikipedia, "API"электронный ресурс:
https: //ru.wikipedia. org/wiki/API
10. Портал Wikipedia, "QoS"электронный ресурс:
https: //ru.wikipedia. org/wiki/Qo S
11. Портал Wikipedia, "Сокеты Беркли" электронный ресурс: https://ru.wikipedia.org/wiki/%D0%A1%D0%BE%D0%BA%D0%B5%D1%82%D 1 %8B%D0%91 %D0%B5%D 1 %80%D0%BA%D0%BB%D0%B8
12. Портал Habr, "UNET — новая сетевая технология в Unity 3D" перевод официального релиза, электронный ресурс: https://habr.com/post/228395/
13. Портал Robot Monkey Brain, "Good Enough Guide to Unity’s Unet Transport Layer (LLAPI)"электронный ресурс: http://www.robotmonkeybrain.com/good-enough-guide-to-unitys-unet-transport-layer-llapi/
14. Официальная документация сайта «Unity», раздел "Multiplayer and Net-working"электронный ресурс:
https://docs.unity3d.com/Manual/UNet.html
15. Видеохостинг Youtube, обучающие видео по UNET электронный ресурс: https: //www.youtube. com/watch?v=sKZJRXMJL30&list=PLwyZdDTyvucyAeJ
rbu fbiUtGOVY55BG


Работу высылаем на протяжении 30 минут после оплаты.




©2025 Cервис помощи студентам в выполнении работ