За последнее десятилетие цифровая индустрия игр обогнала по заработку таких крупных конкурентов как: киноиндустрия, шоу-бизнес и музыкальная индустрия. Так, согласно инфографике, опубликованной журналистами GamesIndustry.biz совместно со специалистами аналитических компаний Newzoo, UKIE, Sensor Tower, IHS Markit, ICO Partners и Fancensus, мы видим, что по состоянию на 2019 год денежный оборот мирового рынка видеоигр достиг 148,8 миллиарда долларов, что на 7,2% больше, чем в 2018-м году. Вдобавок Newzoo, самый цитируемый в мире источник информации и аналитики о рынке игр, опубликовал прогноз, исходя из которого, эта тенденция сохранится на ближайшие два года. Поэтому неудивительно, что популярность некоторых видеоигр как, например: Resident Evil, Silent Hill, World of Warcraft, Diablo, Warhammer, привела к созданию фильмов и даже книг по их мотивам.
Актуальность нашей работы обусловлена, в первую очередь, устойчивым и стремительным ростом вышеупомянутого сегмента рынка развлечений а также, в виду распространения доступности передовых технологий, которые потенциально могут быть использованы как игровая платформа, видеоигры стали неотъемлемой частью современной социальной культуры [9, c. 680]. Особенно это актуально для многопользовательских онлайн игр. Есть огромное количество примеров, когда люди находили единомышленников, друзей или даже партнеров благодаря знакомству и общению в сетевых видеоиграх.
Первые коммерческие игры начали появляться в 1970-тых годах с распространением компьютеров, рассчитанных на массового потребителя. Сейчас почти в каждой семье есть минимум один персональный компьютер, а у каждого взрослого и подростка есть мобильный телефон, не уступающий компьютеру в вычислительных возможностях. Исторически сложилось, что эти технологии используются не только по их непосредственному назначению, но и, в равной степени, для отдыха и развлечения. Поэтому видеоигры, наравне с
другими видами интеллектуального досуга, являются инструментом формирования мировоззрения своих пользователей. Как хорошая книга или кинокартина – хорошая игра будет нести определенный посыл, раскрывать актуальную социальную проблему, воспитывать высокие чувства и заставлять задуматься над чем-то глобальным.
В данной области разработки программного обеспечения можно выделить следующие проблемные места: поиск издателя, выбор среды и платформы для разработки, уникальность игровой механики и актуальность тематики. Основополагающей же проблемой является конкурентоспособность итогового продукта среди сотен ежегодно выпускаемых аналогов. Чтобы игра получила должное внимание и признание у пользовательской аудитории она должна качественно выделяться среди других. Для решения этой проблемы разработчики прибегают к попыткам создания сверхреалистичной графики или уникальной механики, не встречающейся у конкурентов. В нашей работе мы попытаемся реализовать последний подход, исходя из доступных возможностей и результатов анализа актуальных потребительских предпочтений.
Цель работы – создание многопользовательского веб-приложения (онлайн игры).
Она определила необходимость решения следующих задач:
– изучение и анализ предметной области;
– планирование хода разработки и составление технического задания;
– выбор средств реализации для достижения поставленной цели;
– проектирование программного продукта, построение диаграмм, создание базы данных;
– написание кода программ;
– тестирование и отладка.
Объект исследования – разработка видеоигры.
Предмет исследования – процесс разработки многопользовательской казуальной онлайн игры.
АННОТАЦИЯ..................................................................................................... 3
ВВЕДЕНИЕ......................................................................................................... 5
1. Изучение предметной области разработки казуальных игр......................... 8
1.1 Анализ предметной области...................................................................... 8
1.2 Сравнение с аналогами.............................................................................. 9
2. Проектирование многопользовательского веб-приложения....................... 11
2.1 Техническое задание................................................................................. 11
2.2 Выбор технических средств реализации и шаблонов проектирования. 13
3. Реализация многопользовательского веб-приложения............................... 20
3.1 Разработка интерфейса многопользовательского веб-приложения....... 20
3.2 Разработка информационного хранилища веб-приложения.................. 21
3.3 Разработка скриптов для реализации базовых механик........................ 22
3.4 Разработка скриптов для сетевой игры................................................... 23
4. Тестирование многопользовательского веб-приложения............................ 30
4.1 Тестирование пользовательского интерфейса......................................... 30
4.2 Тестирование функциональных элементов многопользовательского веб- приложения 32
ЗАКЛЮЧЕНИЕ................................................................................................. 34
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ......................................... 36
ПРИЛОЖЕНИЕ А............................................................................................. 38
ПРИЛОЖЕНИЕ Б 39
1. Буняева, Е. В. Особенности разработки сетевых приложений / Е. В. Буняева, Н. Ш. Кураиш, С. С. Лоншаков // Science and Education: problems and innovations. – Пенза: Наука и Просвещение, 2020. – С. 42-44.
2. Иванова, А. С. Разработка серверной и клиентской части браузерной многопользовательской игры / А. С. Иванова, Е. В. Трофименко // Вестник факультета прикладной математики, информатики и механики. – Воронеж: Издательский дом ВГУ, 2016. – Вып. 12. – С. 100-111.
3. Кнут, Д. Искусство программирования / Д. Кнут. – М.: Диалектика , 2019. – Т.1. – 720 с.
4. Макконел, С. Совершенный код / С. Макконел. – М.: Русская редакция/БХВ, 2017. – 896 с.
5. Роллингз, Э. Проектирование и архитектура игр (второе издание) / Э. Роллингз, Д. Моррис. – М.: Вильямс, 2010. – 1040 c.
6. Сафоненко, Н. В. Формализация разработки и поддержки клиент- серверных приложений на примере многопользовательских игр / Н. В. Сафоненко, К. В. Чуваков, Д. В. Швецов // Проблемы автоматизации и управления в технических системах: Сб. ст. Междунар. Науч.-техн. конф. / под ред. М. А. Щербакова. – Пенза: Изд-во ПГУ, 2013. – С. 400-401.
7. Снопкова, А. М. Инструментарий разработки браузерных многопользовательских игр / А. М. Снопкова, В. В. Данилова, Н. С. Бутенко, Е. С. Локтев // Современные тенденции развития науки и производства. – Кемерово, 2018. – С. 27-30.
8. Фетисов, К. В. Сравнительный анализ технологий разработки многопользовательских мобильных игр / К. В. Фетисов // Славянский форум. – Бургас, 2017. – № 2 (16). – С. 168-176.
9. Черняева А. В. Индустрия видеоигр как часть современной мировой экономики / А. В. Черняева, О. А. Пак // Интеграция наук – 2020. – Краснодар, 2020. – С. 679-684.
10. Шелл, Дж. Геймдизайн / Дж. Шелл. – М.: Альпина Паблишер, 2019.
– 820 с.
11. Jason, Gregory. Game Engine Architecture / G. Jason. – BR.: CRC Press, 2009. – 864 p.
12. M. Quick, John. Learn to Implement Games with Code / J. M. Quick. – L.: Routledge 2017. – 375 p.
13. Sharp, John. Games, Design and Play: A detailed approach to iterative game design / J. Sharp, C. Macklin. – B.: Addison-Wesley Professional 2016. – 288 p.
14. Adobe Photoshop tutorials / [Электронный ресурс]. – Режим доступа: https://www.adobe.com/ru/products/photoshop.html – Загл. с экрана. – (дата обращения: 22.03.2019)
15. Game Programming Patterns / [Электронный ресурс]. – Режим доступа: http://gameprogrammingpatterns.com/contents.html. – Загл. с экрана. – (дата обращения: 15.03.2019)
16. MSDN / [Электронный ресурс]. – Режим доступа: https://msdn.microsoft.com. – Загл. с экрана. – (дата обращения: 15.03.2019)
17. NUnit GitHub / [Электронный ресурс] Режим доступа: https://github.com/nunit/docs/wiki/NUnit-Documentation. – Загл. с экрана. – (дата обращения: 15.03.2019)
18. Photon Unity Networking [Электронный ресурс]. – Режим доступа: https://doc-api.photonengine.com/en/pun/v1/index.html (Дата обращения: 22.05.2020.)
19. SQLite / [Электронный ресурс]. – Режим доступа: https://www.sqlite.org/doclist.html. – Загл. с экрана. – (дата обращения: 15.03.2019)
20. Unity Documentation [Электронный ресурс]. – Режим доступа: https://docs.unity3d.com/Manual/index.html (Дата обращения: 18.05.2020.)