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.