O loop principal do jogo no 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 a 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 são feitas de maneira diferente dependendo do estágio atual da experiência. 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 do 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 antes que o novo manipulador de estágio seja inicializado.
Lugares/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 lugar pode ter:
- Lobby — Lugar 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 configurado de jogadores. Assim que o número mínimo de jogadores chegar, uma contagem regressiva começará, atualmente configurada para 3:00 minutos, após a qual a jogabilidade será iniciada.
- Gameplay — O lugar onde ocorre o paraquedismo e o jogo é jogado até a conclusão.