Multiplayer Game Guessing Sunda’s Proverb Using Socket.Io And Node.Js

.


I. INTRODUCTION
Regional literature is part of the oral tradition.Regional literature or oral literature is only known to the people who own it so that the outside community is not very familiar with it, one of the oral literature is traditional expressions or known as proverbs.Proverbs also develop at the Sundanese level called paribasa Sunda, in [1] Sundanese proverbs have a meaning that describes local wisdom and is a work of noble value and holds various values, such as a description of experience, a prohibition to do wrong, or an order to do good which of course is very useful as a way of life for the community [2] Sundanese proverbs also reflect the 6 characteristics of the Sundanese people themselves, namely cageur (sehar), bageur (good), benar (true), singer (introspective), wanter (dare ), and smart (intelligent).Apart from reflecting the 6 characteristics of the Sundanese people, when viewed from the structure and words, sundanese paribasa has a fixed arrangement of words where if the arrangement or words of a paribasa are changed it will taste bland and have a different meaning, for example the proverb of the bald head dihihid and if mashed become Bald mastaka are removed or their structure is changed, and the head is bald [2].This means that Sundanese proverbs have a unique structure, but even though they have a unique structure and have meaning as a comparison or a real-life description of the development of Sundanese proverbs, they are rarely used because they are considered too complicated and difficult to understand, even by the Sundanese themselves, therefore, to maintain and increase knowledge about Sundanese proverbs, one of the solutions offered at this time is to utilize technology to create learning media about Sundanese proverbs [3].
One of the popular learning media today is the game [4].Game is a medium that can be used to convey a goal.There are different objectives in the game namely education, entertainment and simulation.Games have always existed in the history of human life and are still in demand among various age groups.Games are also classified into two, namely singleplayer and multiplayer, multiplayer games are usually known to trigger each player to compete for the top ranking [5].Therefore, this study applies the concept of a multiplayer game which is expected so that each player can compete in knowing a lot about Sundanese proverbs.To build a multiplayer game, it is hoped that each player can compete in knowing a lot about Sundanese proverbs.To build multiplayer games that can run in realtime, Socket.IO and Node.JS technologies are the solution [6] [7].
Research on games with various technologies and methods that have been carried out by previous researchers is a research reference.The first research discusses a mobile-based single player crossword game with the theme of Sundanese proverbs and was built using the Design Game Base Learning -Instructional Design (DGBL-ID) method [8], the second research produces a game that aims to preserve the game Traditional Add One based on Android, the game has two modes, namely the single player user will fight bots, and the multiplayer mode has 2 opposing users but the game is carried out in 1 device or using a split screen/face to face, [9].The third study produced an online game with the theme "Fighter Plane", using the Design Science Research Methodology (DSRM) method with the aim of finding user responses to the results of games created and using Socket.IO, Node.JS and HTML5 [6].The fourth research has a problem regarding the needs of ITC (Information Communication Technology)-based learning which has the concept of computer and multimedia learning, where computers can be used as a means of replacing books and multimedia can be used as a means of replacing teachers when explaining material.Because of that, researchers produce a game that can help the learning process of students by utilizing multiple choice models and using the Websocket API to add interactiveness to the gameplay [10].The fifth study has a problem, namely the rise of educational games, but most of the educational games are singleplayer games, but this research states that multiplayer games are more challenging than singleplayer games, and school-age children also tend to like competitive games and are played simultaneously, because of that in this study this resulted in an educational game with the concept of Snakes and Ladders with the theme of learning arithmetic by utilizing Java Socket Programming and LAN as a medium of communication between players [11].
In this research, a Web-Based Sundanese Proverb Guessing Multiplayer Game Using Socket.IO and Node.JS was created which aims to maintain and increase knowledge about Sundanese proverbs through multiplayer games where each player is expected to be able to compete in learning Sundanese proverbs.And assisted by the GDLC (Game Development Life Cycle) Method [12].

II. METHOD
The research was conducted using the GDLC (Game Development Life Cycle) method [13].To determine the relationship between objectives, stages and activities presented in the WBS (Work Breakdown Structure) [14], [15] diagram which is shown in Fig. 1.
There are several stages in the picture above which can be described as follows: 1. Initiation.Based on research gaps, the resulting educational games and multiplayer games have their respective advantages, but there are some drawbacks such as limited devices, can only be played by one person (single player), the connection method is still manual.So, a study was

A. Initiation
At the initiation stage, the process is a process in making games which includes concept creation, analysis of functional requirements and analysis of device requirements.

1) Concept:
The concept of playing this game is a multiplayer game, players can enter or create rooms in the game with a specified number of players where each room has different players and games.The game can start if the number of players is at least more than 3 people and only players who create a room in the form of a room master can start the game if the conditions have been met.Players can also interact with other players through the in-game chat column while waiting for the room master to start the game.When the room master starts the game, each player will immediately enter the countdown before the first round of the game begins, in the game there are 10 questions that will be given.The question given is a Sundanese proverb with one of the words omitted and the player is required to guess the missing word within the allotted time.If the player answers correctly then the player's points will increase and if the player answers incorrectly then the player's points will not increase.After the player answers, the player will be given the contents of the question and an explanation of the Sundanese proverb.At the end of the game each player will be shown the score of all the questions that have been answered so that players can determine the rankings 1, 2 and 3 after which the room master can restart the game again.
2) Platform Games: In this research, game development uses a web platform as a place for games to run, which aims to make it easier for users to access without having to download the game first.

B. Pre-production
In this second stage, namely pre-production, where the author carries out activities that begin by working on the initial stages of the initial design of the game (Fig. 2), including: 1) Define the Type of Game: The game genre created will have the Quiz genre, Multiplayer which intends to make every player more challenged in playing a game which combines the two game genres.

2) Storyline or Storyboard:
The storyboard design was made using whimsical.com,the purpose of this design is to describe a detailed guide about the application and will display a display about the application that will be made later.The storyboard design will also show what multimedia elements are used in each scene.Storyline (Storyboard) is to describe a detailed guide about the application and will display what kind of application will be made, showing what multimedia elements are used for each scene, has several scenes consisting of the storyboard scene menu select the room where there is a menu containing options about game room, such as the create room button, enter the room, refresh the room and search for the room.Inside the room there is information on the number of members and the name of the room.The explanation of the storyboards design in Fig. 2 are:  The initial menu of the game displays avatar options and input username as identity in the game. The room select menu contains options about the game room, such as the create room button, enter the room, refresh the room and search for a room.
Inside the room there is information on the number of members and the name of the room. A page that displays the contents of the room or where the game will take place showing players, room master, game description (started/not yet started), 2 boxes that display a chat box that contains chat between players and a logs box that contains information that happens in the room  A page that displays a game that has started showing questions and a countdown of the questions given  The page that displays the ranking of the players in the room, the rankings are arranged based on the biggest score  A page that displays an explanation of the Sundanese Proverb, which appears after the questions in 1 round are given. The page displays the room icon options, input the name of the room and the number of players  This page displays a collection of Sundanese proverbs accompanied by their meanings 3) System Flowcharts: The system flowchart can be seen in the Fig. 3.

Fig. 3 Game flowchart
Based on flowchart shown in Fig. 3, when the player opens the game, the first page displayed is the login menu, the player is required to choose an avatar and username as an identity in the game, after selecting the player will be redirected to the main page which displays menu options.On the select menu page there are three options, namely the menu to enter the room, create a room and open a Sundanese proverb dictionary.The player chooses to enter a room, the player can only enter the room with a maximum number of players, if the number of players is not maximized, the player can automatically enter the room.When a player chooses to create a room, the player will be given two input options including the number of players and the room icon.Apart from playing, players can also enter the Sundanese proverb dictionary page which contains Sundanese proverbs that can be learned before playing the game.If the room master has started the game then the players in the room can play the game, each game has 10 rounds and in each round the player is required to answer the questions that are displayed if the player answers correctly then the score of the game will increase, but if the player answers with the wrong score from the player will remain and can answer until the time for the question runs out.After the round reaches 10 then the game ends and the final score will be displayed.

4) Game Mechanics:
The game mechanism or gameplay mechanics in this application is that players are required to enter a room and each room has a room master who can start the game.In each game there are 10 rounds where each round the player is required to answer questions in the form of guessing missing words in a proverb that is displayed by typing the answer in the column provided.If the player answers correctly, the player's points will increase, but if the player answers incorrectly, the player's score will remain and the player can still answer questions until time runs out.The game will end when the round in the game has reached 10 and the final score will be displayed.

5) Challenges:
At this stage implementing a multiplayer quiz which aims so that each player can compete with other players to get the biggest score and each player is given a limited time to answer the questions given in the game.The following is a list and description of the challenges and features contained in the game presented in Table I.

C. Production Stage
This stage is working on the main part of the game, which has stages of work consisting of the following: 1) Game Material Gathering: Game asset collection is done by taking it from various sources on the internet or making it yourself.There are several materials that are used as assets from the core of the game, namely Game Materials, text materials, and image materials as shown in Table II.While the text assets used in this game can be seen in Table III and the image material needed in making this game can be seen in Table IV.
2) Making the Game Scene: After getting the storyboard and game material assets, this stage is the making or coding of the game.There are several stages consisting of the Authentication Scene which consists of 1 scene, namely login, there are several inputs and button choices.Main Scene there are 3 scenes, namely choose a room, create a room and proverb dictionary.Scene Game there are 4 scenes, namely the game has not started, the game starts, explanation of questions and ratings (Fig. 4).Description of Game Scene Creation in Fig. 4, is:  Authentication scene.In this authentication scene, it consists of one scene, namely login, in which there are several inputs and button options such as selecting an avatar, inputting a username and entering the button.The Figure 4 (a) shows the login form performed by the player the first time he accesses this game. Main scene.In the main scene, there are three scenes, namely Select Room, Create Room and Proverb Dictionary.Scene Select Room in Figure 4 (b) displays username and avatar identity, Ruat Room button, Enter Room and refresh room, input Search Room and there is a default room displayed, namely General and Have Fun.The Create Room scene in Figure 4 (c) displays select the room icon, the room name field and determines the number of players, then there is a Ruat Room button, a new room will be automatically created.Sundanese proverb arena scene in in Figure 4 (d) displays a dictionary of Sundanese proverbs that have been previously inputted.

Fig. 4 Game scene creation
 Game Scenes.In the Game Scene there are four scenes, namely the game has not started, the game begins, explanation of questions and rankings.The Sundanese proverb arena scene in Figure 4 (e) displays the number of players in the room and between players can also interact through the provided chat feature.The Sundanese proverb arena scene in Figure 4 (f) displays the number of players in the room and between players can also interact through the provided chat feature.This scene also displays questions that must be answered by all players.The Sundanese proverb arena scene in Figure 4 (g) displays the number of explanations of the questions so that players can find out in detail the meaning of the questions.The Sundanese proverb arena scene in Figure 4 (h) shows the final result of the game, namely in the form of scores obtained by the players in the first, second and third ranks.

D. Socket.IO and Node.JS integration
Socket.IO is used in this game to create real-time applications with two-way communication between the server side and the client side.This technology leverages the power of WebSockets along with several fallbacks, including JSON long polling and JSONP long polling through one unified API.In-game It can be used to create two-way interactions, such as in real-time dashboards, chat applications, and multiplayer games.whereas Node.JS is used in this game for the runtime environment.A runtime environment is a software whose function is to execute, run and implement the functions and the core workings of a programming language.Stages to integrate Socket.IO and Node.JS : 1) The First Step: The first step that must be done is to create a project with Node.JS.The way to create a Node.JS project is to create an empty folder and type "npm init" in the console in the folder.
2) The Second Stage: The second stage is to install the Socket.IO Client in the game that has been created by typing "npm install socket.io-client"on the console in the game project directory.
3) The Third Stage: The third stage namely coding.First of all, create an "index.js"file in the Node.JS project directory and import Socket.IO and Express.JS in the file using the code editor, in this study using Visual Studio Code.

Challenge Description
Challenge Description Multiplayer Each game must be played by more than one person and each player is required to compete in getting the most points.

Countdown Timer
Each player is limited by a countdown in answering the questions that are displayed.

Missing random word
Each given question has one of the random words missing, and players are required to answer it.The fastest answer correctly, the score obtained is greater Each question has a specified countdown and the player is required to answer within that countdown period, if the answer is correct then the score will increase and the amount of the score increase depends on how quickly the player answers.To make a connection to Socket.IO we need a Server as a parameter which is entered into the IO variable, after that there is an On function resulting from the connection between Socket.IO and Server, the On function is used to see the activity of each connected socket, one one example is "connection" which means an activity if a client is connected to a socket server, if the activity is active then the console.logfunction will be executed and displays the text "someone is connected" in the console.
After creating a Socket.IO and Server connection in the Node.JS project, the next step is to create a Socket.IO Client connection in the game (Fig. 5).
In the main game import library Socket.IO-Client file, after that run the IO function and input the host Socket.IO Server as a parameter.Because the Host Server Node.JS and Game are the same, what is entered is "/" as a parameter.After the connection between the Node.JS Server and the Game is made, the next step is to run both simultaneously.

E. Testing Stage
In this section, testing of the game that has been made is carried out by testing each of the features and gameplay that is made.This test uses black box testing whose test results can be seen in Table V.
The next test is beta testing which contains testing of each function in the game and the overall quality of the game to third parties or end users privately or is called Private Beta Testing.The number of testers is 20, each tester can provide an assessment of the overall results of the game made, starting from function features, gameplay and display quality.The results of the test carried out in Table VI by VII.
Based on the results of the respondents from Table VI with Likert Scale as in Table VII as much as 89 %.Overall the application is made to get a very good rating.The user selects an avatar and enters the username input then presses the enter button The user enters the main page of the game and has an avatar and username according to the one chosen at login Be accepted

Make Room
The user selects the room icon, room name, maximum number of members then presses the create button The user enters the room, the room is registered, the first member becomes the room master and the room information is as input Be accepted

Refresh Room
The user presses the refresh room button The room that appears reloads and displays the latest room data Be accepted

See Dictionary
The user presses the view dictionary button Displays all proverb dictionary data in the system Be accepted  From the results of the research that has been described there are several research points, namely as follows: 1.In this study using the GDLC methodology with initialization, pre-production, production, testing and beta stages.In implementing this application using Node.js and Socket.IO using the Java script programming language.This website-based game can be used by all groups so that anyone can play it.Apart from the game, with the Sundanese Proverb game the players also gain insight into proverbs in Sundanese, because there are several features that are advantages over the previous game, namely:  There is a rooms feature that can be used to create rooms and also select existing rooms. There is a chat in app feature that can be used to interact between players. There is a dictionary feature that players can use to find out the meaning of Sundanese proverbs.2. Based on the results of the discussion regarding the website-based Sundanese proverb game, it can display information about proverbs contained in Sundanese, so that this game is expected to make it easier for people who want to know about Sundanese proverbs by playing games.

IV. CONCLUSION
Based on the results of the discussion of the research that has been carried out, it can be concluded that one can apply the GDLC method with the latest version in implementing website-based Sundanese proverb games.With this game, users can freely play the game because they can create their own room.Also with this game, players can interact with each other during the game.In the research conducted, there are still deficiencies, one of which is that this Sundanese proverb game is not responsive when opened on a smartphone.

Fig. 5
Fig. 5 Coding for importing the Socket.IO-Client library