В апреле 2015 года вышла видеоигра Grand Theft Auto V на ПК. Она получила оценку 10/10 от большинства игровых изданий, тираж GTA V превысил 75 миллионов копий. Интересно, что в 2016 году игра продалась даже большим тиражом, чем в 2015. Это говорит о том, что популярность GTA 5 с годами не падает, а только растет. И в начале января 2018 года появляется RAGE Multiplayer – автономный мультиплеер для Grand Theft Auto V, позволяющий размещать частные серверы с пользовательскими режимами игры по вашему выбору.
Также в этот мультиплеер встроен Chromium Embedded Framework (далее CEF) — открытый фреймворк для встраивания в приложение браузерного движка из проекта Chromium. CEF позволяет разработчику добавлять в приложение элементы браузера.
Актуальность данного курсового проекта обусловлена тем, что в 2020 году данная модификация для GTA V занимает первое место по просмотрам на Twitch - видеостриминговый сервис, специализирующийся на тематике компьютерных игр. Это говорит о том, что игрокам интересна данная модификация и большое количество разработчиков начинает разрабатывать сервера на основе RAGE Multiplayer.
Целью проекта является создание приложения управлениями организациями для сервера на RAGE Multiplayer и изучение возможностей языка JS в Node.js. В процессе выполнения работы, мы выполним постановку задачи, изучим возможности языка JavaScript, и создадим React-приложение.
Для создания приложения требуется следующее:
• Сервер на RAGE Multiplayer
• База данных с информацией об игроках и организациях
• Создание пользовательского интерфейса
• Создание классов организации и ее участника
• Обработка запросов клиент-сервер / сервер-клиент
• Создание системы контроля доступа с использованием битовой маски
С точки зрения внутреннего устройства, необходимо использовать API RAGE Multiplayer для связи клиента и сервера, и создания браузера CEF. Для хранения информации об игроках и организации создадим реляционную базу данных и воспользуемся специальным языком SQL.
Для создания приложения, будем использовать среду разработки VS Code для JavaScript. Для разработки пользовательского интерфейса будем использовать React, серверная часть использует Node.js.