Troid A Real-Time Multiplayer FPS Game
Troid A Real-Time Multiplayer FPS Game
https://doi.org/10.22214/ijraset.2023.50526
International Journal for Research in Applied Science & Engineering Technology (IJRASET)
ISSN: 2321-9653; IC Value: 45.98; SJ Impact Factor: 7.538
Volume 11 Issue IV Apr 2023- Available at www.ijraset.com
Abstract: Troid is a real-time multiplayer first-person shooter (FPS) game designed to be played on a web browser without the
need for a high-end PC or dedicated graphics card. The game allows two players to join a room and engage in a fast-paced,
action-packed gameplay experience. The purpose of Troid is to provide a high-quality FPS game that can be enjoyed on any
device with a modern web browser and an internet connection, regardless of hardware specifications. Unlike most FPS games
that require high-end hardware to run smoothly, Troid is optimized for minimal requirements. Troid's front-end is built using a
reactive web framework that facilitates the creation of fast and interactive user interfaces, while the game's graphics and
animation are created using a 3D graphics library.
Real-time communication between players is facilitated using a reliable real-time communication library, and an in-memory
data store is utilized to store player coordinates and other in-game data. Overall, Troid exemplifies the potential of creating high-
quality multiplayer games that can be played on any device with a modern web browser and an internet connection, without
compromising on the gameplay experience.
I. INTRODUCTION
First-person shooter (FPS) [1] games have been a popular genre among video game enthusiasts for several decades. However, most
FPS games require high-end hardware and dedicated graphics cards to run smoothly, which can be a significant barrier to entry for
some players. Moreover, many popular FPS games are not available on web browsers, which further limits accessibility.
To address these issues, we present Troid, a real-time multiplayer FPS game that can be played on any device with a modern web
browser and an internet connection. Troid is designed to be highly accessible, allowing players to engage in a thrilling gameplay
experience without requiring a high-end PC or dedicated graphics card.
In this research paper, we describe the development and implementation of Troid, focusing on the technical aspects of the game's
design, architecture, and implementation. We begin by providing an overview of the related work in the field of FPS games,
including a discussion of the key challenges and limitations.
©IJRASET: All Rights are Reserved | SJ Impact Factor 7.538 | ISRA Journal Impact Factor 7.894 | 2599
International Journal for Research in Applied Science & Engineering Technology (IJRASET)
ISSN: 2321-9653; IC Value: 45.98; SJ Impact Factor: 7.538
Volume 11 Issue IV Apr 2023- Available at www.ijraset.com
IV. IMPLEMENTATION
In this section, we will describe the implementation of our first-person shooter (FPS) game application. Our goal in developing this
application was to create a fun and engaging gaming experience that could be played online by users across the world. To achieve
this, we designed a client-server architecture that enables real-time communication between players and implemented a range of
features such as player movement, shooting, and room creation/joining.
©IJRASET: All Rights are Reserved | SJ Impact Factor 7.538 | ISRA Journal Impact Factor 7.894 | 2600
International Journal for Research in Applied Science & Engineering Technology (IJRASET)
ISSN: 2321-9653; IC Value: 45.98; SJ Impact Factor: 7.538
Volume 11 Issue IV Apr 2023- Available at www.ijraset.com
B. Creating A Backend
The backend handles the game logic, managing player data, and facilitating communication between players. The backend was
developed with Fastify [11], a fast and low-overhead web framework for Node.js. Socket.IO [12] has also been used in Troid which
is a real-time communication library that enables bidirectional communication between client and server.Adding a load balancer
[13] in the backend can greatly enhance the stability and scalability of the game. By distributing the traffic across multiple servers, it
becomes easier to handle high traffic loads and ensure that the game remains responsive and available to users. To implement a load
balancer, a dedicated server is set up to act as the entry point for incoming traffic. The load balancer then distributes incoming
requests to multiple servers, using algorithms such as round-robin, least connections, or IP hash to ensure a fair distribution of
traffic. This setup also allows for easy addition or removal of servers as traffic demands change. Implementing a load balancer in the
backend can greatly enhance the performance of the game, providing a better experience for users and allowing for future scalability
as the game grows in popularity.
©IJRASET: All Rights are Reserved | SJ Impact Factor 7.538 | ISRA Journal Impact Factor 7.894 | 2601
International Journal for Research in Applied Science & Engineering Technology (IJRASET)
ISSN: 2321-9653; IC Value: 45.98; SJ Impact Factor: 7.538
Volume 11 Issue IV Apr 2023- Available at www.ijraset.com
V. RESULTS
The proposed system, Troid, was successfully developed as a proof-of-concept prototype for a two-player online game. The game
allows players to create and join rooms, move their players around the game map, shoot at each other, and ultimately end the game
with a clear winner. The implementation involved using various technologies such as Blender for designing player and map models,
Svelte and Three.js for the front-end, and Fastify and Socket.IO for the backend. To ensure the system was functional and efficient,
thorough testing was conducted at every stage of development.
The resultant developed system successfully demonstrated the feasibility of an online multiplayer game with essential features, and
the results of the testing proved its efficiency and scalability. Future improvements could include adding more players to a single
game room, introducing new game maps and models, and implementing more complex game mechanics. Overall, the developed
system can serve as a starting point for creating more complex and engaging online multiplayer games.
©IJRASET: All Rights are Reserved | SJ Impact Factor 7.538 | ISRA Journal Impact Factor 7.894 | 2602
International Journal for Research in Applied Science & Engineering Technology (IJRASET)
ISSN: 2321-9653; IC Value: 45.98; SJ Impact Factor: 7.538
Volume 11 Issue IV Apr 2023- Available at www.ijraset.com
VII. CONCLUSION
Web-based game development provides numerous advantages over traditional game development, such as accessibility, easy
maintenance, and scalability. It eliminates the need for users to install large game files or purchase expensive gaming consoles,
enabling anyone with a web browser to access the game. The ease of maintenance and updates also makes it simpler for developers
to fix bugs, add features, and enhance the game's overall performance. This project has highlighted the importance of proper
planning and implementation of the game development process. The use of industry-standard tools such as Blender, Node.js, and
Socket.io has enabled the team to develop the game efficiently and effectively. The implementation of load balancers in the backend
architecture has also helped improve the game's stability and scalability. Adding the game’s functionalities, including the player
movement, shooting, room creation, joining, and game start and end logic, demonstrates the feasibility of creating an immersive
gaming experience in a web-based environment.
The future enhancements discussed, such as improved AI for enemies, multiplayer support, virtual reality support, mobile app
development, and sound HTRF integration, present exciting opportunities for further development of the game and the underlying
technology.
Overall, this project serves as a testament to the potential of web-based game development and its ability to deliver engaging and
immersive gaming experiences. As web technologies advance, more advanced and sophisticated games are expected to be
developed in the future, further blurring the line between web-based and traditional gaming platforms.
REFERENCES
[1] "First-person shooter," [Online]. Available: https://en.wikipedia.org/wiki/First-person_shooter.
[2] "Play ev.io - the play to earn blockchain FPS," [Online]. Available: https://ev.io.
[3] "VALORANT: a 5v5 character-based tactical FPS," [Online]. Available: https://playvalorant.com/.
[4] "Counter-Strike: Global Offensive," [Online]. Available: https://store.steampowered.com/app/730/C ounterStrike_Global_Of fensi ve/.
[5] "Call of Duty® | Best-Selling Video Game Franchise," [Online]. Available: https://www.callofduty.com.
[6] "Halo," [Online]. Available: https://www.halowaypoint.com/.
[7] "Svelte • Cybernetically enhanced web apps," [Online]. Available: https://svelte.dev.
[8] "Node.js," [Online]. Available: https://nodejs.org/en.
[9] "Redis," [Online]. Available: https://redis.io/.
[10] "Three.js – JavaScript 3D Library," [Online]. Available: https://threejs.org/.
[11] "Fastify, Fast and low overhead web framework, for Node.js," [Online]. Available: https://www.fastify.io/.
[12] "Socket.IO," [Online]. Available: https://socket.io/.
[13] "Load balancing (computing)," [Online]. Available: https://en.wikipedia.org/wiki/Load_balancing_(computing) .
©IJRASET: All Rights are Reserved | SJ Impact Factor 7.538 | ISRA Journal Impact Factor 7.894 | 2603
International Journal for Research in Applied Science & Engineering Technology (IJRASET)
ISSN: 2321-9653; IC Value: 45.98; SJ Impact Factor: 7.538
Volume 11 Issue IV Apr 2023- Available at www.ijraset.com
©IJRASET: All Rights are Reserved | SJ Impact Factor 7.538 | ISRA Journal Impact Factor 7.894 | 2604