A simple player matchmaking platform for any multiplayer MUD games
GameRoom is an innovative player matchmaking platform that seamlessly integrates with MUD game worlds. It's a one-stop gaming hub where players can connect, coordinate, and launch into their favorite games without the need for multiple applications.
GameRoom uses an intuitive, availability-based system. Players can effortlessly create game rooms using any MUD game(world) addresses, inviting others to join the adventure or join a room along with other players. Once the room reaches capacity, the game begins, eliminating the necessity for external apps or interfaces.
GameRoom is also designed to be a vibrant game center - the front page features a diverse catalog of live game rooms, allowing players to explore and choose their next gaming adventure.
Currently the app only contains the basic features, but it's easily extendable for more engaging and complex features including in-room chat, more sophisticated match algorithm, private rooms with permissions, etc.
This projects uses MUD2 framework with React. It used the ECS framework from MUD2 and is managed by a single RoomSystem with Room entity containing State, Game, RoomLimit and players components. The in-app game is currently achieved by using an iframe directing to the client URL of the MUD2 game. The iframe URL contains the room entity ID as a param and allows the game to bootstrap the game session with the provided room ID. And example integrated game can be found in https://github.com/y77cao/minecollector.
Note that the current design of GameRoom posts some requirements for how the integrated games should be implemented. It requires the game to create and manage game sessions around room IDs, which means that the games that are suitable to be integrated are the ones that are multi-player and session based, like chess, mafia, or other strategic games, etc.