在 Roblox 大逃殺中,核心遊戲循環通常由兩個腳本處理,分別是伺服器上的 ServerScriptService/Server 和客戶端上的 StarterPlayer/StarterPlayerScripts/Client。
初始設置
ReplicatedFirst/InitialSetup 腳本配置一些引擎級系統——內建 UI、聊天等——並確保客戶端加載 ReplicatedFirst/Configurations/AssetPreloads 中引用的資產,然後再繼續進行。
遊戲階段
初始化和更新特定系統的方式根據體驗的當前階段而有所不同。這些情況大多由伺服器上的 ServerScriptService/Core/GameStageHandler 和客戶端上的 ReplicatedStorage/Core/StageManager 處理。當要求一個階段時,會需要一個同名的模組並對其調用各種設置函數。如果已經有一個模組正在處理當前階段,則會在初始化新的階段處理器之前對其調用關閉函數。
場地/伺服器角色
在 ReplicatedFirst/Configurations/MainConfiguration 中,不同的遊戲模式被組織成要執行的階段列表。
local _roleStages = {Lobby = {"Lobby"},Queue = {"Queue"},Gameplay = {"Waiting", "Gameplay", "EndGame"},}
一個場所可以有 3 種不同的角色:
- 大廳 — 初始場所,用於選擇遊戲模式等選項。
- 隊列 — 玩家聚集在一起以進行特定遊戲模式,進行建設和戰鬥,同時等待配置的最少玩家數量。一旦最少的玩家數到達,將開始倒計時,目前配置為 3:00 分鐘,結束時將啟動遊戲。
- 遊戲進行中 — 進行跳傘並直到完成遊戲的場所。