在我的在线多人问答游戏中,如何让玩家一次加入并竞争?

In my Online multiplayer quiz game how can i make players to join and compete at a time?

我正在使用 Java 在 Android Studio 中创建多人在线问答游戏。我让玩家在我的应用程序中使用 Firebase 注册。好吧,最主要的是,我有不同的测验锦标赛,比如 10 人锦标赛、20 人锦标赛、30、40 等,所有锦标赛都是 运行 一次一个....例如考虑一场 20 人锦标赛即将开始,所以 20 名不同的玩家同时参加比赛,然后生成这 20 名玩家的排名以计算这些玩家的获胜(排名是根据谁最快点击答案按钮的事实生成的)。

我只想知道如何在我的应用程序中实现多人游戏的概要。 最重要的是,我想知道如何让 20 名玩家同时参加特定锦标赛

您首先需要考虑的事情之一是如何管理每个游戏实例的状态。什么是锦标赛?玩家是否玩单人游戏,记录他们的成绩,得分最高的人赢得“锦标赛”? 20 名选手都在同一时间参加同一场比赛吗?

在特定实例中同步游戏状态的最常见方法是通过套接字连接。你需要做的是有一个“配对”服务器和一个“游戏服务器”。

游戏服务器托管游戏并允许用户连接到该服务器以参与游戏。匹配服务器是玩家首先连接的服务器。它负责将玩家聚集在一个“大厅”中开始新游戏(例如,玩家连接到匹配服务器,匹配服务器查看尚未启动且未满的游戏服务器列表并将玩家引导至该游戏服务器)。

如果您要采用这种方法,则必须学习如何使用套接字。

您可以做的另一个选择是利用 Firebase 实时数据库。您基本上会存储相同的信息。您在数据库中查询可用房间,然后设置玩家的数据库信息以反映他们所在的房间。