O ciclo de jogo principal no Roblox Battle Royale é normalmente tratado 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 integrada, chat, etc.— e garante que o cliente carregue os recursos referenciados em ReplicatedFirst/Configurations/AssetPreloads antes de proceder.
Estágios de jogo
A inicialização e atualização de sistemas específicos é feita de forma diferente dependendo da fase atual do jogo.A maioria desses casos são tratados por ServerScriptService/Core/GameStageHandler no servidor e ReplicatedStorage/Core/StageManager no cliente.Quando um estágio é solicitado, é necessário um módulo de mesmo nome e várias funções de configuração são chamadas nele.Se já existe um módulo que lida com a fase atual, funções de desligamento são chamadas nele antes de o novo gerenciador de fases ser inicializado.
Locais/funções de servidor
Dentro de ReplicatedFirst/Configurations/MainConfiguration, diferentes modos de jogo são organizados em listas de estágios para 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 o modo de jogo são selecionadas.
- Fila — Onde uma coorte de jogadores se reúne para um modo de jogo específico, construindo e lutando enquanto aguarda o número mínimo configurado de jogadores.Assim que os números mínimos de jogadores chegarem, uma contagem regressiva iniciar, atualmente configurada para 3:00 minutos, no final do qual o jogo será iniciado.
- Jogabilidade — O local onde o mergulho acontece e o jogo é jogado até a conclusão.