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가지 다른 역할이 있습니다:
- 로비 — 게임 모드와 같은 옵션을 선택하는 초기 장소입니다.
- 대기열 — 특정 게임 모드를 위한 플레이어들이 모여서 최소 플레이어 수가 구성될 때까지 빌딩하고 싸우는 장소입니다. 최소 플레이어 수가 도달하면 현재 3:00 분으로 설정된 카운트다운이 시작되며, 카운트다운이 끝나면 게임 플레이가 시작됩니다.
- 게임 플레이 — 스카이다이빙이 이루어지고 게임이 완료될 때까지 진행되는 장소입니다.