Система автоматизации проведения киберспортивных соревнований "CyberArenaPro"

Описание системы проведения киберспортивных соревнований "CyberArenaPro", обеспечивающей удобство и легкость организации соревнований различного уровня. Автоматизация проведения киберспортивных соревнований различного уровня (локальных и международных).

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 30.07.2021
Размер файла 273,6 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Байкальский государственный университет

Система автоматизации проведения киберспортивных соревнований «CyberArenaPro»

Т.И. Ведерникова, Ю.Н. Голяндин

Аннотация

Статья посвящена описанию системы проведения киберспортивных соревнований «CyberArenaPro», обеспечивающей удобство и легкость организации соревнований различного уровня, позволяющей проводить соревнования на онлайн площадках по всему миру, расширяющей возможности по участию в соревнованиях через сеть Интернет и мобильные устройства. Программа предназначена для автоматизации проведения киберспортивных соревнований различного уровня (от локальных до международных), любых дисциплин и форматов. Система имеет сервис-ориентированную архитектуру, использует объектно-ориентированную базу данных Redis. Для реализации клиента применена концепция Rich Internet Application, платформа ReactJS, язык программирования JavaSc. Серверное и клиентское приложения интегрируются средствами API. Система автоматизации прошла апробацию при организации соревнований в компьютерном клубе «КиберАрена». Соревнования проводились по дисциплине CS:GO, участвовало 64 команды. Система «CyberArenaPro» может быть применена для организации соревнований любого вида спорта.

КЛЮЧЕВЫЕ СЛОВА. Киберспортивные соревнования; спортивное программирование; турнир; автоматизация; сервис-ориентированная архитектура.

T.I. Vedernikova, Yu. N. Golyandin

AUTOMATED SYSTEM FOR HOLDING CIBERSPORT COMPETITIONS «CYBERARENAPRO»

Abstract

The article is devoted to description of the CyberArenaPro system for holding cyber competitions that provides convenience and ease of organizing competitions of various levels, allowing to hold competitions on the online venues around the world, increasing opportunities for participation in the competitions via the Internet and mobile devices. The program is designed to automate holding cybersport competitions of various levels (from local to international) and of any disciplines and formats. The system has a service-oriented architecture and uses the object-oriented Redis database. For a client implementation, the concept of Rich Internet Application, the ReactJS platform and the JavaSc programming language are applied. The server and the client applications are integrated with the API means. The automated system was tested during the organization of competitions in the computer club «CyberArena». Competitions were carried out in accordance with the discipline CS:GO, and 64 teams participated. The «CyberArenaPro» system can be used to organize competitions of any kind of sport.

KEYWORDS. Cybersport competitions; sport programming; tournament; automation; service-oriented architecture.

Введение

Киберспорт -- это вид соревновательной деятельности и специальной практики подготовки к соревнованиям на основе компьютерных и/или видеоигр, где игра предоставляет среду взаимодействия объектов управления, обеспечивая равные условия состязаний человека с человеком или команды с командой [1]. Как вид спорта признан в России в 2016 году1. Организацией киберспортивных соревнований в Российской Федерации занимаются в основном частные лица, при этом уровень проведения соревнований существенно различается. Клиентская база очень быстро расширяется, что влечет за собой усложнение ведения учета и высокую нагрузку.

Наиболее популярными сегодня являются четыре вида (дисциплин, игр) соревнований: CS: GO2, DOTA23, Hearthstone4, 'WoT5. Все эти дисциплины, кроме Hearthstone, подразумевают командную игру. В командных играх существуют различные форматы соревнований: пять на пять, команда против команды, один на один и др.

Для проведения игр используется специальное программное обеспечение, позволяющее автоматизировать назначение матчей, автоматическое распределение команд, назначение соперников, составление расписания турниров. Основными системами проведения соревнований являются: StarLadder6, FacelT7, ESEA8, ESL9. Принцип работы систем включает несколько этапов: 1) регистрация участника соревнований; 2) поиск команды; 3) поиск соперников; 4) сбор статистики матча; 5) подсчет результатов; 6) составление рейтинга участников (таблицы результатов). В рамках одного соревнования п. 4 и 5 повторяются неоднократно, а в некоторых типах соревнований п. 2 отсутствует.

Существующие системы автоматизации киберспортивных соревнований не позволяют устраивать соревнования в автоматическом режиме. Основные недостатки этих систем заключаются в следующем: отсутствие кастомизации (возможности настраивать систему под нужды конкретного потребителя), отсутствие поддержки ОС семейства Linux/Mac, закрытый исходный код.

Предлагаемая система автоматизации проведения киберспортивных соревнований «CyberArenaPro» обеспечивает удобство и легкость организации соревнований, позволяет проводить соревнования на онлайн площадке по всему миру, расширяя возможности по участию в соревнованиях через сеть Интернет и мобильные устройства. Система реализована в операционной среде Linux [2] с использованием следующих инструментов и технологий: JetBrains WebStorm10, Redis Database Server11, Node.js Package Manager12; Notepad++13.

автоматизация киберспортивный соревнование cyberarenapro

Назначение и архитектура системы

Система «CyberArenaPro» предназначена для автоматизации проведения киберспортивных соревнований различного уровня (от локальных до международных), любых дисциплин и форматов.

«CyberArenaPro» имеет сервис-ориентированную архитектуру [3], представленную на Рисунке 1. Условно систему можно разделить следующие на составляющие: веб-служба, веб-приложение для взаимодействия с сервером «CyberArenaPro», информационное и функциональное API.

Сервер БД Redis. При разработке системы выбор сделан в пользу объектно-ориентированной базы данных (ООБД), что обусловлено следующими причинами [4; 5]:

1) данные сильно документо-ориентированы, и больше подходят для модели данных «ключ-значение», чем для реляционной модели;

2) доменная модель сильно объектно-ориентирована, поэтому использование ООБД уменьшит объем кода для преобразования данных;

3) ООБД легко интегрируется с веб-сервисами;

4) требуется высокая масштабируемость по запросу.

База данных Redis ориентирована на NodeJS-разработку, бесплатна и хорошо оптимизирована под высокую производительность.

Рис. 1. Архитектура системы «CyberArenaPro»

Сервер «CyberArenaPro» -- снова веб-службы. Это многофункциональный сервер «CyberArenaPro», который организует работу очередей поиска, реализацию комнат чата, управление ходом матча и т.д. Взаимодействие пользователей с системой показано на рис. 2.

Клиент «CyberArenaPro». Основной задачей при реализации клиента было создание интуитивно понятного, простого и «незагруженного» интерфейса. Исходя из требований к системе автоматизации и выбранных средств реализации сервера определены свойства клиента «CyberArenaPro»: понятность интерфейса; умеренная производительность рабочих станций; поддержка нескольких операционных систем.

Рис. 2. Диаграмма взаимодействия пользователя с системой

Первое свойство от средств реализации не зависит, второе и третье -- полностью удовлетворяются использование концепции RIA [6]. Приложение RIA доступно через Интернет, насыщенно функциональностью традиционных настольных приложений и предоставляется либо уникальной спецификой браузера, либо через плагин, либо путем «песочницы» (виртуальной машины) [4; 7].

Наиболее распространенными платформами для создания RIA являются Adobe Flash/Flex [8] и ReactJS [9]. Сравнение этих платформ (с точки зрения разработчика) программного обеспечения показало (Таблица), что более подходящей для реализации клиента «CyberArenaPro» является ReactJS. Выбор платформы обусловил выбор языка программирования JavaSc.

Клиент обеспечивает решение следующих задач:

-- вход в систему с помощью логина и пароля;

-- поиск команды;

-- просмотр истории турниров;

-- просмотр таблицы результатов;

-- способность автоматически войти в игру.

Для входа в систему автоматизации необходимо ввести свой логин и пароль в диалоговом окне (рис. 3).

Сравнение платформ для создания RIA

Критерий

ReactJS

Adobe Flash

Среда разработки

JetBrains WebStorm

Flash Professional,

Flex Builder

Язык программирования

JavaScript

ActionScript 2.0/3.0

Возможность упаковки в исполняемый файл

Webpack

Adobe AIR

Размер

Плагин - 5 mb, Приложение - >100 kb

Плагин - 1.7 mb, Приложение - <100 kb

Изображения

JPEG, PNG.

Использование векторной графики.

JPEG, GIF, PNG

Аудио

mp3

mp3

Шрифты

Поддержка системных шрифтов. Подкачка шрифтов с сервера

Ограниченно

Создание элементов интерфейса

+

-

Стили элементов

CSS

CSS

Привязка данных

-

+

Реализация MVC

Redux

Фреймворк Cairngorm

Многопоточность

Нет

Нет

РЕГИСТРАЦИЯ

+ Номер телефона Пароль

Показать пароль

Вход Забыл пароль?

Рис. 3. Форма входа в «CyberArenaPro»

После успешного входа в систему, участник попадает на главную страницу сайта (рис. 4).

Рис. 4. Главная страница сайта

На сайте слева постоянно закреплена форма поиска игры (рис. 5), т.к. поиск игры -- это самое частое действие, которое совершает пользователь. На вкладке «Магазин» пользователь может увидеть товары, которые доступны к покупке за виртуальную валюту, используемую в проекте.

Для того чтобы встать в очередь поиска соперника, необходимо выбрать тип турнира (ладдер/турнир/соревнование), один из предложенных форматов и событие этого формата. Организаторы заполняют события, подходящие под критерии поиска, заполняют призовой фонд и кастомизируют мероприятие под свои нужды.

API «CyberArenaPro» поддерживает серверное и клиентское приложения. В API используются методы авторизации пользователей, восстановления паролей, отправки смс-сообщений, организации и проведения оплаты. Эти методы поддерживают первоначальную пользовательскую функцию. Методы интеграции с игровыми серверами позволяют эффективно управлять игровыми серверами, организовывать очереди матча и своевременно получать информацию о результатах матча. Методы статистики отвечают за начисление рейтинга в определенном событии, начисление CAP (внутренняя валюта) по окончанию события и получение информации о текущем состоянии события.

Рис. 5. Форма подбора соперника

Методы подачи жалоб позволяют игрокам отправлять информацию о игроках, которые ведут нечестную игру, используют дополнительное программное обеспечение (ПО) которое дает преимущество в игре. Если количество жалоб на одного человека превышает норму, то судьям отсылается уведомление о подозрительной активности. Как правило 90 % таких тревог заканчивается обоснованной блокировкой игрока за использование стороннего ПО.

Апробация системы «CyberArenaPro»

Система использовалась для проведения киберспортивных соревнований в одноименном компьютерном клубе ООО «КиберАрена» (г. Иркутск). Соревнования проводились по дисциплине CS: GO. Было зарегистрировано 64 команды, в каждой по пять человек. Команды в системе зарегистрировались самостоятельно. Для проведения соревнований было выделено 20 игровых серверов. На всех серверах была настроена система автоматизации матча. Матчи проходили согласно турнирной сетке. Система сама назначала следующие матчи, и игрокам приходили уведомления о матче. Игроки получали информацию об игровом сервере, который был выделен специально для них. Даже если информация попадала в чужие руки, игроки, незарегистрированные на этот матч, не могли попасть на данный игровой сервер, так как система ограничивала им доступ.

После окончания всех игр результаты были представлены в сводной таблице. В ней содержалась информация о том, сколько очков заработала та или иная команда, и какое место в турнирной таблице они заняли. Согласно данной таблице игрокам выплачивался выигрыш из призового фонда.

Система «CyberArenaPro» может быть применена для организации соревнований любого вида спорта. Для этого необходимо добавить методы обработки информации полученных результатов.

Список использованной литературы

1. Бекетов А. Нормы поведения в онлайн-играх и киберспорте / А. Бекетов // Обсерватория культуры. - 2013. - № 6. - С. 55-57.

2. Колисниченко Д. Н. Разработка Linux-приложений / Д. Н. Колисниченко. - СПб.: БХВ-Петербург, 2012. - 432 с.

3. Артамонов И. В. Надежность В2В-взаимодействия в сервис-ориентированной среде [Электронный ресурс] / И. В. Артамонов // APRIORI. Серия: Естественные и технические науки. - 2014. - № 5. - Режим доступа: http://www.apriori-journal.ru/seria2/5-2014/ Artamonov.pdf.

4. Ведерникова Т. И. Система проведения соревнований и проверки решений задач по программированию [Электронный ресурс] / Т. И. Ведерникова, К. Б. Чепченко // Baikal Research Journal. - 2015. - Т. 6, № 5. - DOI: 10.17150/2411-6262.2015.6(5).8. - Режим доступа: http://brj-bguep.ru/reader/article.aspx?id=20388.

5. Harrington J. L. Objet-oriented Database Design Clearly Explained / J. L. Harrington. - New York: Morgan Raufmann, 2000. - 312 p.

6. Соммервил И. Инженерия программного обеспечения / И. Соммервил. - 6-е изд. - М.: Вильямс, 2002. - 624 с.

7. Орфали Р. Java и Corba в приложениях клиент сервер / Р. Орфали, Д. Харки. - М.: Лори, 2000. - 736 с.

8. Chun R. Adobe Flash Professional CS5. Classroom in a Book / R. Chun. - Adobe Press, 2010. - 385 p.

9. Osmani A. Learning JavaScript Design Patterns / A. Osmani. - Sebastopol: O'Reilly Media, 2015. - 400 p.

References

1. Beketov M. Norms of Behavior in Online Gaming and e-sports. Observatoriya kultury = Observatory of Culture, 2013, no. 6, pp. 55-57. (In Russian).

2. Kolisnichenko D. N. Razrabotka linux-prilozhenii [Development of Linux-Applications]. Saint Petersburg, BKHV-Peterburg Publ., 2012. 432 p.

3. Artamonov I. V. Reliability of B2B interaction in a service-oriented environment. APRIORI. Seriya: Estestvennye i tekhnicheskie nauki = APRIORI. Series: Natural and Technical Science, 2014, no. 5. Available at: http://www.apriori-journal.ru/seria2/5-2014/Artamonov. pdf. (In Russian).

4. Vedernikova T. I., Chepchenko C. B. System of holding tournaments and checking

solutions of problems in programming. Baikal Research Journal, 2015, vol. 6, no. 5. DOI: 10.17150/2411-6262.2015.6(5).8. Available at: http://brj-bguep.ru/reader/article.aspx-

?id=20388. (In Russian).

5. Harrington J. L. Objet-oriented Database Design Clearly Explained. New York, Morgan Raufmann, 2000. 312 p.

6. Sommervile I. Software engineering. New York, Addison-Wesley, 2001. (Russ. ed.: Som- mervile I. Inzheneriya programmnogo obespecheniya. Moscow, Vilyams Publ., 2002. 624 p.).

7. Orfali R., Harkey D. Client/Server programming with Java and CORBA. New York, Wiley, 1998. 1022 p. (Russ. ed.: Orfali R., Harkey D. Java i Corba v prilozheniyakh klient server. Moscow, Lori Publ., 2000. 736 p.).

8. Chun R. Adobe Flash Professional CS5. Classroom in a Book. Adobe Press, 2010. 385 p.

9. Osmani A. Learning JavaScript Design Patterns. Sebastopol, O'Reilly Media, 2015. 400 p.

Размещено на Allbest.ru

...

Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.