El bucle de juego principal en Roblox Battle Royale es generalmente manejado por dos scripts, específicamente ServerScriptService/Server en el servidor y StarterPlayer/StarterPlayerScripts/Client en el cliente.
Configuración inicial
El script ReplicatedFirst/InitialSetup configura algunos sistemas a nivel de motor — UI incorporada, chat, etc. — y asegura que el cliente cargue los activos referenciados en ReplicatedFirst/Configurations/AssetPreloads antes de continuar.
Etapas del juego
La inicialización y actualización de sistemas específicos se realiza de manera diferente dependiendo de la etapa actual del juego. La mayoría de estos casos son manejados por ServerScriptService/Core/GameStageHandler en el servidor y ReplicatedStorage/Core/StageManager en el cliente. Cuando se solicita una etapa, se requiere un módulo del mismo nombre y se llaman varias funciones de configuración en él. Si ya hay un módulo manejando la etapa actual, se llaman funciones de apagado en él antes de que se inicialice el nuevo manejador de etapas.
Lugares/roles del servidor
Dentro de ReplicatedFirst/Configurations/MainConfiguration, diferentes modos de juego están organizados en listas de etapas a ejecutar.
local _roleStages = {
Lobby = {"Lobby"},
Queue = {"Queue"},
Gameplay = {"Waiting", "Gameplay", "EndGame"},
}Hay 3 roles diferentes que un lugar puede tener:
- Lobby — Lugar inicial donde se seleccionan opciones como el modo de juego.
- Queue — Donde un grupo de jugadores se reúne para un modo de juego particular, construyendo y luchando mientras esperan el número mínimo de jugadores configurado. Una vez que han llegado el número mínimo de jugadores, comenzará una cuenta regresiva, actualmente configurada para 3:00 minutos, al final de la cual se iniciará el juego.
- Gameplay — El lugar donde se realiza el paracaidismo y se juega hasta completar el juego.