了解大廳與配對之間的關係
大廳和配對可順暢地搭配運作,為您的遊戲打造一致的多人遊戲配對體驗。- 配對會將一組想要參與遊戲工作階段的玩家聚集在一起。
- 配對識別出一組玩家後,大廳會為他們提供一個溝通媒介,以協調一起加入遊戲工作階段。
- 大廳的常見情境包括共用遊戲伺服器連線資訊、共用對等遊戲的用戶端 IP,以及共用玩家設定。
安排的大廳
遊戲可以使用「安排的大廳」,輕鬆地為透過配對分組在一起的玩家建立大廳。 配對票證成功配對一組玩家後,配對票證會包含 lobbyArrangementString。每位玩家接著可以將安排字串傳遞給 PFMultiplayerJoinArrangedLobby 以加入同一個大廳。範例情境
一位玩家想要和其他人一起玩。該玩家啟動多人遊戲、邀請朋友,並等候其他人加入。設計規格
- 遊戲開放給所有人加入。
- 最初的玩家組是透過配對填入的。
- 大廳擁有者能夠邀請朋友加入。
- 達到所需的玩家數目時,大廳中的所有玩家都會收到一則訊息,詢問他們是否準備好開始遊戲。他們有一分鐘的時間回應。所有玩家確認已準備好開始遊戲後,遊戲隨即開始。
- 如果大廳中的玩家沒有確認其準備遊玩狀態,大廳擁有者可以將他們視為非作用中玩家移除,並使用配對尋找新玩家來快速取代他們。
- 當任何玩家在遊戲期間意外中斷連線時,遊戲應透過使用伺服器回填的配對,為中斷的玩家找到新的替補。
- 遊戲結束時,所有玩家都會返回大廳。玩家會平均獲得團隊成就。他們可以留下來一起開始另一場遊戲,或離開大廳。
實作
本節說明如何使用配對和大廳實作設計規格。建立配對產生的大廳
為一組配對產生的玩家建立公開大廳。- 每位玩家使用其指定的配對屬性建立配對票證。
- 若要深入了解,請參閱指定票證屬性。
- 所有建立的票證都會新增至配對佇列,以便彼此配對。
- 票證會根據規則進行配對。
- 規則可以在配對佇列設定中定義。
- 若要深入了解,請參閱設定配對佇列。
- 配對後,每位玩家透過配對票證的 lobbyArrangementString 加入配對產生的大廳。
- 加入安排的大廳時,請將大廳的 accessPolicy 指定為 Public,讓大廳保持開放。
- 如需詳細資訊,請參閱安排的大廳。
- 第一位加入安排的大廳的玩家會成為大廳的擁有者。
- 大廳屬性可用於指定遊戲工作階段打算使用哪張遊戲地圖。
- 如需詳細資訊,請參閱大廳屬性。
- 使用搜尋屬性讓玩家能夠在遊戲所有作用中大廳中找到此大廳和遊戲工作階段。
- 如需詳細資訊,請參閱搜尋屬性。
傳送邀請給朋友
允許大廳擁有者選取朋友並傳送邀請。- 取得大廳擁有者的朋友清單
- 顯示遊戲 UI,讓大廳擁有者選取要邀請的朋友
- 傳送遊戲內邀請給選取的朋友。
- 如需詳細資訊,請參閱大廳邀請。
允許其他人尋找並加入遊戲
設定大廳的搜尋屬性,讓其他玩家能夠找到它- 在遊戲 UI 中顯示所有大廳。您的遊戲也應提供接受玩家搜尋字詞的方式。
- 使用玩家的搜尋參數呼叫 PFMultiplayerFindLobbies,以傳回符合準則的大廳清單。
- 玩家選擇加入遊戲後,使用 PFMultiplayerJoinLobby 將玩家加入遊戲。
取得玩家確認以開始遊戲
通知大廳中的所有玩家遊戲已準備好開始- 當大廳中有所需數目的玩家時,顯示遊戲 UI 讓玩家確認他們已準備好開始遊玩。
- 允許大廳擁有者檢視這些確認回應。
移除並取代非作用中玩家
大廳擁有者能夠移除非作用中或已中斷連線的玩家,並啟動配對以填補剩餘的空位- 如果玩家中斷連線或未在指定的期間 (一分鐘) 內回應,請使用 PFLobbyForceRemoveMember 移除該玩家。
- 大廳擁有者使用 CreateServerBackfillTicket 建立配對票證。使用此 API 建立的票證在搜尋期間會獲得優先順序。此方法可將遊戲中斷降至最低。若要深入了解,請參閱使用伺服器回填票證。
- 加入回填大廳後,遊戲的大廳擁有者可以與新的回填玩家共用原始大廳的連接字串,讓他們可以加入原始大廳。
- 在適當時延長遊戲開始時間。
處理已結束的遊戲
遊戲結束後,所有玩家都會返回大廳畫面以完成遊戲工作階段。- 大廳是暫時性的,因此此時每位玩家必須保留大廳中任何應保存的資料。
- 例如,某些遊戲情境可能會因處理儲存在成員屬性中的資料,並將該資料轉換為玩家成就而受益。
- 想要繼續與同一群組遊玩的玩家留在大廳中。
- 想要停止與同一群組遊玩的玩家使用 PFLobbyLeave 離開大廳,並以新的配對群組重新開始此程序。
