Description
Learning coding can be difficult for students and sometimes for teachers as well. Motivation is the main obstacle, in fact keeping students motivated and engaging them in the learning process is not always easy. Since the 2010s, gamification experiments have brought good results in the field of learning. Code Quest is a game that allows people to learn the principles of coding by playing and completing missions. The player must program a robot using an ad hoc language created for the game to perform tasks. The integration of multiplayer opens up new ways of learning and makes it an interesting research tool in the field of multiplayer gamification. Code Quest is my graduate project and aims to teach programming fundamentals to middle and high school students. In this thesis, a multiplayer mode was developed and introduced into the existing project that enriches the gaming experience by presenting two competitive modes and a cooperative mode. The competitive modes involve one-on-one competition within an arena. While the cooperative mode involves achieving a common goal. Compared to the initial design, several changes have been made to the movement system through the introduction of a grid that allows for dynamic upgrading. This also allowed the implementation of procedural generation tools for level development. Game development was carried out with Unity. In addition, a web service was created consisting of: a database, a REST API server, and a web application, built in Spring and ReactJS, respectively. Security and authentication were handled with Keycloak, which enabled the use of the OpenID Connect protocol. The result is a game that offers multiplayer functionality with two modes of operation, one competitive and one cooperative, making it ready for the testing phase in schools.