Введение 4
1 Разработка спецификации требований 5
1.1 Анализ сильных и слабых сторон широко известных реализаций 5
1.2 Анализ реализаций с открытым исходным кодом на предмет
возможности его заимствования 6
1.3 Анализ игрового процесса 7
1.4 Спецификация требований к разрабатываемой системе, учитывающая
результаты проведенных анализов 8
1.4.1 Список прецедентов программы 9
1.4.1.1 Функциональные требования 18
1.4.1.2 Нефункциональные требования 22
1.5 Вывод по главе 22
2 Проектирование 23
2.1 Диаграммы последовательностей 24
2.2 Серверная двухранговая архитектура 26
2.2.1 Настройка сетевого менеджера 26
2.2.2 Архитектура лобби 28
2.3 База данных 29
2.4 Диаграмма классов 30
2.5 Вывод по главе 33
3 Реализация и документация 34
3.1 Реализация 34
3.1.1 Выбор инструментов 34
3.1.2 Игровой процесс 35
3.1.3 Меню 36
3.1.4 База Данных 37
3.1.5 Интерфейс 37
3.1.6 Оптимизация системы 37
3.2 Тестирование 38
3.3 Инструкция разработчика 39
3.4 Вывод по главе 39
Заключение 41
Список использованных источников 42
В 2021 году 40 процентов всей выручки цифровых игр пришлось на мобильный сегмент [1], разработка мобильных игр является актуальной задачей. Одним из популярных жанров является «Tower defense», суть которого заключается в расстановке башен по определенным правилам и уничтожении с их помощью объектов противника. Ведется исследование различных аспектов этой игры, например анализ поведения игрока [2], разработка адаптивного искусственного интеллекта [3] и алгоритмов автоматического создания игровых карт [4]. Таким образом, работа является актуальной.
Существует множество различных игр в этом жанре, отличающихся развитостью искусственного интеллекта, мультиплеера, типами доступных башен, разновидностью объектов противника и так далее.
Цель работы - создание клиент-серверной версии игры жанра «Tower defense».
Структура работы отражает решаемые задачи:
- в первой главе приведены:
1) анализ игрового процесса;
2) анализ сильных и слабых сторон широко известных реализаций;
3) анализ реализаций с открытым исходным кодом на предмет возможности его заимствования;
4) спецификация требований к разрабатываемой системе, учитывающая результаты проведенных анализов.
- в рамках выполнения второй главы выполнено проектирование системы;
- в третьей главе описаны особенности игры, а также приведены инструкции по сборке и развертыванию системы.
В результате проделанной работы:
1. Спроектирован, реализован и протестирован прототип игры “Tower defense”.
2. Создан образ с установленным и настроенным комплектом разработчика под платформу Android с использованием движка Unity.
В разработанном приложении присутствуют недостатки, исправить их можно путем пополнения функциональных возможностей:
- добавить новые карты;
- добавить новых юнитов;
- добавить индивидуальные режимы у юнитов;
- улучшить взаимодействие с базой данных, сделать авторизацию
через Yandex игры;
- другого рода улучшения.
Исходный код приложения доступен для скачивания с git-репозитория [25].