在 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 种不同的角色:
- Lobby — 初始地点,可以选择游戏模式等选项。
- Queue — 一群玩家为特定游戏模式聚集的地方,玩家在等待配置的最低人数时进行建造和战斗。一旦达到最低人数,将开始倒计时,目前配置为 3:00 分钟,倒计时结束后将启动游戏玩法。
- Gameplay — 进行跳伞并进行游戏直到完成的地点。