Система автоматизации проведения киберспортивных соревнований "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
...Подобные документы
Структурно–функциональная модель системы проведения соревнований школьников. Формирование требований к проектируемой автоматизированной системе обработки информации и управления. Разработка концепции и документации, анализ и выявление ключевых процессов.
дипломная работа [3,4 M], добавлен 04.03.2014Пиковые нагрузки во время проведения турниров. Анализ существующих систем проведения соревнований роботов: Java Robocode, Pascal Robotwar, Snake Battle, Microsoft Robotics Developer Studio. Соревнования по программированию компьютерных игровых стратегий.
дипломная работа [3,7 M], добавлен 06.03.2013Программная реализация на языке ЛИСП расписания встреч участников соревнования с использованием круговой и олимпийской системы проведения соревнований. Математические и алгоритмические основы решения задачи. Функциональные модели и блок-схемы решения.
курсовая работа [1,0 M], добавлен 25.01.2010Приемы и правила методологии информационного моделирования IDEF1X. Особенности автоматизации управления бизнес-процессами. Компоненты системы предметной области "Спортивные соревнования", накопление и хранение информации, логика взаимосвязей данных.
курсовая работа [2,3 M], добавлен 11.04.2012Разработка электронной модели таблицы результатов соревнований по лыжному забегу с помощью объектно-ориентированный языка Паскаль. Схема связи главной формы с подчиненными формами. Разработка пользовательского интерфейса в среде программирования Delphi 7.
курсовая работа [2,1 M], добавлен 21.01.2013Разработка базы данных в среде Microsoft Access для учета занятий и соревнований по художественной гимнастике. Требования к интерфейсу и структуре. Создание таблицы в режиме "конструктор". Типы отношений между таблицами, пользовательские запросы.
курсовая работа [2,6 M], добавлен 27.02.2010Составление программы на языке Pascal для обработки результатов соревнований по фигурному катанию, проводившихся по трем видам многоборья. Генератор случайных чисел. Блок-схема программы. Ввод данных, выбор пользователя, оформление результатов вычислений.
курсовая работа [471,8 K], добавлен 21.12.2012Организационная структура Сибирского государственного индустриального университета. Структура базы данных, управляющая программа. Расчет годовых эксплуатационных затрат. Управление качеством и ISO-9000. Модель разработки программного обеспечения.
дипломная работа [4,6 M], добавлен 07.07.2012Методы планирования производственной деятельности. Анализ информационной системы предприятия. Принципы составления производственных планов различного уровня и проверка возможности их исполнения в соответствии с состоянием производственных мощностей.
контрольная работа [120,3 K], добавлен 01.05.2015Проектирование базы данных "Спортивные соревнования" для автоматизации процесса контроля спортивных соревнований, используя систему управления базами данных MySQL. Разработка клиентского приложения. Диалог с пользователем и функциональные возможности.
курсовая работа [945,4 K], добавлен 03.01.2022Этапы разработки базы данных итогов чемпионатов по ручному мячу, которая предусматривает ввод результатов туров чемпионата с последующей автоматизацией подведения его итогов и обеспечивает хранение данных об участниках, призерах и итогах всех чемпионатов.
курсовая работа [880,2 K], добавлен 20.01.2013Изучение символьных и строковых типов данных, алгоритма задачи на языке программирования Паскаль. Описания получения и установки отдельного символа строки, изменения регистра символов. Анализ создания и просмотра файла, поиска и сортировки информации.
курсовая работа [440,7 K], добавлен 13.06.2011Описание объекта автоматизации и технологического процесса (доменная печь). Требования к структуре и функционированию системы, информационное обеспечения, стандартизация и унификация. Компоненты системы управления. Режим работы участка автоматизации.
дипломная работа [4,3 M], добавлен 19.01.2017Программа для работы с однотабличной ненормализованной базой данных. Цель программы: обеспечение инструментарием для работы с базой данных различных школьных соревнований. Работа с базой данных на физическом и логическом уровнях. Элементы языка.
курсовая работа [114,3 K], добавлен 02.03.2009Разработка информационного обеспечения задачи, определение логической структуры реляционной базы данных. Разработка запросов и отчетов для обработки и отображения информации, интерфейса пользователя. Методика и этапы физического проектирования задачи.
курсовая работа [33,5 K], добавлен 25.07.2012Характеристика структурного подразделения "Шахматный клуб". Выбор основных методологий, инструментальных средств и расчет затрат на разработку специализированного шахматного программного обеспечения ИС "ШК". Оценка экономической эффективности проекта.
дипломная работа [5,6 M], добавлен 29.06.2010Достоинства многопроцессорных систем. Создание программы, реализующей работу мультипроцессорной системы с общей памятью по обработке различного количества заявок, а также различного количества процессоров. Модели вычислений на векторных и матричных ЭВМ.
курсовая работа [162,2 K], добавлен 21.06.2013Анализ мировой методологии MSF. Разработка автоматизированной системы проведения маркетинговых исследований, вариантов ее использования и расчет экономических показателей внедрения системы для заказчика. Построена логическая и физическая модель данных.
дипломная работа [2,6 M], добавлен 24.03.2010Создание сайта в сети Интернет для информирования студентов и преподавателей о проходящих конференциях. Разработка модели "как будет" с учетом внедрения системы автоматизации. Описание сценариев элементарных функций и физической модели базы данных.
курсовая работа [2,4 M], добавлен 19.12.2015Развитие инвестиционной деятельности в России на современном этапе. Разработка инвестиционного продукта, его статистическая оценка на базе средств автоматизации; обоснование реализуемости и анализ эффективности существующих специализированных программ.
курсовая работа [1,9 M], добавлен 03.01.2011