在 Roblox Battle Royale 中,核心游戏循环通常由两个脚本处理,具体是服务器上的 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 种不同的角色:
- Lobby — 初始场所,在这里选择游戏模式等选项。
- Queue — 玩家聚集在一起等待特定游戏模式的地方,在等待配置的最小玩家人数时进行建造和战斗。一旦达到最小玩家人数,将开始倒计时,目前配置为 3:00 分钟,倒计时结束后将启动游戏玩法。
- Gameplay — 进行跳伞并进行游戏直到完成的场所。