O loop principal do jogo em Roblox Battle Royale é geralmente gerenciado por dois scripts, especificamente ServerScriptService/Server no servidor e StarterPlayer/StarterPlayerScripts/Client no cliente.
Configuração inicial
O script ReplicatedFirst/InitialSetup configura alguns sistemas de nível de motor — UI embutida, chat, etc. — e garante que o cliente carregue os ativos referenciados em ReplicatedFirst/Configurations/AssetPreloads antes de prosseguir.
Estágios do jogo
A inicialização e atualização de sistemas específicos é feita de maneira diferente dependendo do estágio atual do jogo. A maioria desses casos é tratada por ServerScriptService/Core/GameStageHandler no servidor e ReplicatedStorage/Core/StageManager no cliente. Quando um estágio é solicitado, um módulo com o mesmo nome é requerido e várias funções de configuração são chamadas nele. Se já houver um módulo lidando com o estágio atual, funções de desligamento são chamadas nele antes que o novo manipulador de estágio seja inicializado.
Locais/papéis do servidor
Dentro de ReplicatedFirst/Configurations/MainConfiguration, diferentes modos de jogabilidade são organizados em listas de estágios a serem executados.
local _roleStages = {
Lobby = {"Lobby"},
Queue = {"Queue"},
Gameplay = {"Waiting", "Gameplay", "EndGame"},
}Existem 3 papéis diferentes que um local pode ter:
- Lobby — Local inicial onde opções como modo de jogo são selecionadas.
- Queue — Onde um grupo de jogadores se reúne para um modo de jogo específico, construindo e lutando enquanto espera pelo número mínimo de jogadores configurado. Assim que o número mínimo de jogadores chegar, uma contagem regressiva começará, atualmente configurada para 3:00 minutos, ao final da qual a jogabilidade será iniciada.
- Gameplay — O local onde o paraquedismo ocorre e o jogo é jogado até a conclusão.