Proposed Model of Multiplayer Matching Game Plugins Using Websocket in Moodle

Nowadays Learning Management System has widely been used to assist learning process. On the other side, the advancement of technology in multimedia made many researchers have positive result in game based learning as factor that increase motivation and interest to deliver educational information. We try to propose a concept to implement a multiplayer matching quiz in Moodle LMS to enrich game based learning using Moodle future research about game-based learning implementation in Moodle. The proposed model implements websocket as its multiplayer backend and game questions using Moodle Quiz plugin as a question bank. Keywords—Moodle, Game-Based Learning, Multiplayer Game, Websocket


Introduction
Learning Management System (LMS) in universities is widely used to assist learning activities such as forums, quizzes and remote lessons. Some LMS are opensources, which mean we can use it, modify it, and distribute it freely. One of Open Source LMS Sample that popular in Europe is Moodle LMS [1]. Until 30 November 2018, there are estimated 144,523,216 peoples that registered to Moodle LMS [2]. The advantages of its open-source nature, provide room for hobbyist, researchers and communities to implement new idea and expanding Moodle capabilities via its plugin system [3]. This plugin development were categorized by its function, like activities, reports, repositories, themes, and many others [4].
Video game has interesting ways to interact and motivate its user when they play [5]. The technology revolution in computer and multimedia, is the main reason for usage of digital game as a learning platform [6]. Game based learning is a concept where video game can facilitate education needs including problem solving, feedback and the most important is making learning more fun and interesting [7]. Many researchers also have similiar result about game usage for increasing motivation and interactivity on delivering course [8][9] [10].
Moodle itself has a game activity called game plugin it consist of 8 games [4]. To implement it, course manager should make a course first and add activity with this game plugin. However, current plugin still does not implement multiplayer activity. Therefore in this research we propose a concept how a websocket technology can be applied to Moodle so multiplayer game can be implemented. This concept also provides an alternative way to deliver more interesting experience in learning process.

2
Related Topics

Moodle plugin
E-Learning System in this case Moodle LMS has many benefit to its institutional user or regular user, it provide cut for technology cost, data consistency, easy to access the educational data, easy to implement on current system and data can be accessed for a long time (timely consent) [11][12] [13]. Moodle LMS also has various successes in helping another educational technology implementation, from efficiently helps foreign languages for Russian Federation's higher education students [14], create a personalized course with parameter from student competencies using fuzzy cmeans clustering [15] and integrating podcast to help teaching aerobic to gymnastics [16]. But the main point is Moodle open-source license, which gives its communities a way to implement any ideas and new technology via its plugin system [17]. To understand how modular is Moodle plugin, Fig. 1 explains structure of Moodle LMS plugins system and Games plugin is located in activity section.

Real-time web communication with websocket technology
Before websocket introduced, web developers tend to use Polling, long polling and HTTP streaming to accomplish real-time communication [18]. Therefore websocket is built to support real time communication web application development, by breaking limitation of request/response protocol of HTTP [19]. To use this technology developer need to set endpoint and connect it via valid URL using ws:// scheme for common connection and wss:// scheme for secure connection. Then the connection of websocket is established when HTTP Protocol is updated to Websocket protocol during the initial handshake between client and server. This real-time communication is a fundamental aspect in multiplayer games which will be the bridge between player experience when playing the games.

3
The Proposed Plugins

System architecture
To implement this concept we need to modify and add two plugins into Moodle backend, which are matching quiz question generator and multiplayer quiz view. Fig.  2 explains how each module in Moodle will interact with proposed plugin modules. Question modules by Moodle will return a question type to make a question bank. This question bank will be applied to each games later via generator modules. To make multiplayer games, course manager must add this game activity first via view interface that provided by Moodle. After assigning rooms and who will compete, student can login into game via view modules and it will check how many attempts does the student has. Plugin system also check whether student has a correct access right to join the multiplayer room or not. Greyed part modules mean that part were added to Moodle or directly from native module.

Multiplayer room system
Multiplayer Room concept can be seen in Fig. 3. Proposed multiplayer plugins basically is a turn-based game, where each player takes turn to do some action on a declared time that can be set by course manager.

Fig. 3. Multiplayer room system
In this case player will take action to search each boxes to find matching object. Mul rooms will be their center to pass the turn to each other. Who was eligible to go inside each room can be set via plugin manually. Currently in proposed concept, there should be no limitation to how many rooms that can be made.

Websocket and moodle
Moodle is hosted with PHP technologies that rendered on the server. To use multiplayer capabilities over websocket we need to add websocket host into the server. Websocket end-point will authenticate first with crawling data of assigned student and then show the user interface on the Moodle view. Moodle Backends will assign student, how much rooms, game rules, question, and other thing to be consumed later by the websocket end-point.

Plugin capabilities
This plugin will have several capabilities to manage Moodle Game Quiz Activity: • Creating Question : This plugin will use native Moodle modules to create question banks and convert it to its own question structure • Categorize Question: Plugin can categorize question based on user input, example : geography, physics, etc • Randomize Question: Plugin can automatically randomize assigned question banks to the room, each room will have different result randomization. • Creating Multiplayer Quiz: This plugin can add a new Multiplayer Game Quiz Activity • Authenticate Student : Student that were not eligible, or does not assigned to room yet will be automatically kicked from system • Pairing: With room system teacher can pair student to compete to each other • Set game rules: This means teacher can freely adjust every room that they made

3.5
Game sample screen Fig. 5 explains the User Interface concept that each player will see on their screen. After login and choosing room, two players will see this kind of screen. If boxes already open by one of the player, on the other player screen also will be open. This is the core game screen, each box will represent question that must be matched. Amount of boxes is according to assigned question by teacher. After choosing two boxes, player can push "Answer" button to answer the question, or if player doubt with their answer she can push "Pass" to pass the turn to the enemy. Wrong answer will lead to minus point to make the game more exciting, and passing by pressing "Pass" button will make revealed box closed again. Each player that answer the most question will win the match, amount of correct score for each answer can be set from the course admin page for increment or decrement.

Conclusion
As we research further about Moodle LMS Capabilities there still many things that can be optimized and extended. This concept made to enrich Game-Based Learning implementation in LMS. Future research about current result is to implement this concept into real life application, or even extending it for example single room with more than 2 players support.