Design and implementation of a library for developing online multiplayer card games using technologies React and Node.js

Thesis title: Návrh a implementace knihovny pro vývoj online karetních her pro více hráčů s použitím technologií React a Node.js
Author: Patočka, Martin
Thesis type: Diplomová práce
Supervisor: Palovská, Helena
Opponents: Buchalcevová, Alena
Thesis language: Česky
Abstract:
Kontext V současné době neexistuje pro technologie React a Node.js knihovna, která by efektivně podporovala prototypování a následné otestování prototypů karetních her uživateli. Nejvíce používanou alternativou je knihovna Boardgame.io, zaměřená obecně na deskové hry. Ta však již není udržována a neobsahuje prvky uživatelského rozhraní potřebné pro rychlé prototypování. Cíl Hlavním cílem práce je navrhnout a implementovat knihovnu pro technologie React a Node.js, která usnadní vývoj online karetních her pro více hráčů a jejich prototypů, a demonstrovat její použití formou implementace a uživatelského otestování karetní hry Tichu. Metody Po analýze nejpopulárnějších online karetních her byly identifikovány klíčové herní funkce, které byly použity jako základ návrhu knihovny, následně byly požadavky formálně zapsány dle metodiky MMSP. Pro vývoj knihovny byla použita metoda Kanban. Knihovna zahrnuje funkcionalitu pro herní logiku, síťovou komunikaci prostřednictvím WebSockets a komponenty pro uživatelské rozhraní, které urychlují proces prototypování. Funkčnost byla ověřena implementací a uživatelským otestováním hry Tichu. Následně byl s účastníky testování proveden polostrukturovaný rozhovor. Výsledky Výsledkem práce je knihovna pro technologie React a Node.js, která efektivně podporuje proces prototypování online karetních her. Knihovna byla zveřejněna na npm a nabízí snadnou rozšiřitelnost a přizpůsobení pro různé typy karetních her. Funkčnost knihovny byla potvrzena implementací a otestováním karetní hry Tichu. Závěr Navržená knihovna poskytuje nástroje, které výrazně zjednodušují a urychlují prototypování a otestování prototypů moderních online karetních her. Implementace hry Tichu demonstruje její potenciál a přínos pro vývojáře karetních her. Knihovna byla navržena s ohledem na snadné rozšíření o další funkcionality.
Keywords: WebSockets; React; online karetní hry; Node.js; npm
Thesis title: Design and implementation of a library for developing online multiplayer card games using technologies React and Node.js
Author: Patočka, Martin
Thesis type: Diploma thesis
Supervisor: Palovská, Helena
Opponents: Buchalcevová, Alena
Thesis language: Česky
Abstract:
Context Currently, there is no library for React and Node.js technologies that effectively supports prototyping and subsequent user testing of card game prototypes. The most commonly used alternative is the Boardgame.io library, which is focused on board games as a whole. However, it is no longer maintained and lacks user interface components necessary for rapid prototyping. Objective The primary goal of this thesis is to design and implement a library for React and Node.js technologies that facilitates the development of online multiplayer card games and their prototypes. The library's application is demonstrated through the implementation and user testing of the card game Tichu. Methods After analysing the most popular online card games, key gameplay features were identified and used as the foundation for the library's design. Requirements were then formally documented using the MMSP methodology. The library was developed using the Kanban method. It includes functionalities for game logic, network communication via WebSockets, and user interface components that accelerate the prototyping process. The functionality was validated through the implementation and user testing of the game Tichu. Following the testing, semi-structured interviews were conducted with the participants. Results The outcome of this thesis is a library for React and Node.js technologies that effectively supports the process of prototyping online card games. The library has been published on npm and offers easy extensibility and customization for various types of card games. Its functionality was confirmed through the implementation and testing of the card game Tichu. Conclusion The proposed library provides tools that significantly simplify and accelerate the prototyping and testing of modern online card game prototypes. The implementation of Tichu demonstrates its potential and benefits for card game developers. The library was designed with a focus on easy extensibility for additional custom features.
Keywords: Node.js; WebSockets; npm; React; online card games

Information about study

Study programme: Informační systémy a technologie/Vývoj informačních systémů
Type of study programme: Magisterský studijní program
Assigned degree: Ing.
Institutions assigning academic degree: Vysoká škola ekonomická v Praze
Faculty: Faculty of Informatics and Statistics
Department: Department of Information Technologies

Information on submission and defense

Date of assignment: 25. 10. 2024
Date of submission: 4. 5. 2025
Date of defense: 2025

Files for download

The files will be available after the defense of the thesis.

    Last update: