Реализация многопользовательской модели игрового приложения - Курсовая работа

бесплатно 0
4.5 114
Разработка игрового проекта на игровом движке Unity 3D в среде программирования MS Visual Studio 2017. Блок-схема алгоритма работы приема сообщений с сервера на клиенте с упрощенным описанием выполняемых команд. Реализация пользовательского интерфейса.


Аннотация к работе
Игры полностью коммерцианализировались, а их разработка превратилась из долгой и напряженной работы в простую сборку картинок в специализированных программных продуктах, доступную каждому и не требующей программирования вовсе.На 2016 год, в одном из самых известных цифровых рынков в мире - Steam’e, было выпущено более 10000 игр. Последние для разработки игр используют собственные программные продукты (игровые движки), так как имеют время и деньги на их параллельную разработку. Самые распространенные из них: Unity, Unreal Engine, Cry Engine, Game Maker, Construct 2. Например, два последних движка идеально подходят для разработки 2D игр, с наименьшими требованиями в знании программирования. Unreal Engine и Cry Engine являются более «тяжелыми» движками, в основном предназначены для трехмерных шутеров, однако и другие игры на них тоже разрабатывают.Для определения цели, структуры игры, механики и сюжета, а также графического оформления создается специальный дизайн-документ. Документ может включать в себя бизнес-информацию, оценку продукта, временную карту разработки и тому подобное. Приведем краткое описание требований к игровому приложению: - Жанр игры: одними из наиболее распространенных жанров на рынке в наши дни являются RPG и Action. Следовательно, для достижения наилучшего результата, нужно придерживаться общей игровой тенденции и в первую очередь разрабатывать игры таких жанров. Хоть сейчас и присутствует тенденция выхода игр с пиксельной графикой, она является более сложной для отрисовки и требует от художника определенных навыков.Данный игровой проект будет разрабатываться на игровом движке Unity 3D. Это обеспечит наибольшую скорость разработки при помощи drag and drop интерфейса и использования одного из самых распространенных языков программирования - С#. В качестве среды программирования будет использована MS Visual Studio 2017. Преимущества этой среды перед MONODEVELOPER, которая включена в Unity, заключаются в более удобном интерфейсе, возможности дебажить программу с показом используемых ресурсов в режиме реального времени.Как было сказано выше, разрабатываемое приложение имеет клиент-серверную архитектуру. Ниже представлен рисунок - общая архитектура многопользовательского игрового приложения, который показывает основные компоненты, присутствующие в системе. На клиенте установлено игровое приложение, разработанное на движке Unity3D, внутри которого выполняются скрипты, написанные на языке программирования C#. По сути, игра является зацикленным realtime-приложением, многократно повторяющим свои действия. При этом программист не знает внутреннего строения внешней системы, ему доступны только публичные функция для вызова в своем приложении.Как было написано выше, клиентское приложение отвечает только за передачу информации на сервер, получении ответов с сервера и отображении информации на экране для пользователя. Все действия пользователя, любая игровая активность поступает на сервер, где полученная информация обрабатывается. Для постоянной синхронизации с сервером местоположения игрока, не обязательно после каждого пакета ожидать подтверждения доставки, поэтому можно использовать UDP. Одна из главных составляющих в игре со стороны пользователя - это интерфейс. Там отображается актуальная информация об игровом процессе, информация об игровом персонаже, новости и обновления в игре.Проектируемый сервер должен быстро обрабатывать пользовательские запросы, проверять данные на валидность, следить за действиями игроков во избежание взломов. Также, изза того, что это многопользовательское приложение, сервер должен успешно обрабатывать все запросы во время высокой нагрузки и при превышении допустимой нагрузки, либо расширять свои возможность, либо ограничивать доступ, пока нагрузка не спадет. Выделим основные модули, которые должны присутствовать на сервере: модуль идентификации, с его помощью пользователи смогут заходить в свои аккаунты и сохранять игровую статистику; модуль работы с базой данных - отвечает за соединение с базой и таблицей, отправку запросов, принятие ответов; модуль балансировки нагрузки - принимает входящие на сервер пакеты данных и отправляет соответствующим модулям с наименьшей загруженностью; модуль обработки игрового мира - это главный модуль, внутри которого проходят все игровые события, создается карта, персонажи и т.д. Например, клиентское приложение отправляет какой-либо запрос на сервер, указывая адрес балансировщика. При включении нового модуля, например при повышенных нагрузках, для него определяется адрес и сохраняется на сервере.Перед входом в игру пользователю предстоит авторизоваться или зарегистрироваться. По этому, после загрузочного экрана требуется показать поля для ввода логина и пароля, а также кнопки для входа и регистрации. При нажатии на кнопку регистрации, на экране появляются поля, в которых игрок должен указать свой никнейм (игровое имя) и пароль для последующего входа в систему. При регистрации данные для входа заносятся в базу данных на сервере, где пароль п

План
Содержание

Введение

1. Аналитический обзор

1.1 Анализ предметной области

1.2 Анализ требований.

1.3 Выбор средств разработки

2. Проектирование

2.1 Общая архитектура приложения

2.2 Проектирование клиентской части приложения

2.3 Проектирование серверной части приложения

3. Реализация

3.1 Реализация пользовательского интерфейса

3.2 Реализация серверной части

4. Тестирование

Заключение

Список используемых источников

Приложение

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



Дисциплины научных работ



Хотите, перезвоним вам?