Anyone know how to recreate this?

So I’m trying to make a loading screen for a sci-fi futuristic game I’m working on, and I saw this video (see above) and I really liked its style. How would I go about making this? I am by no means experienced in scripting but this would make an awesome addition to my game if someone could help me figure out how to make this!

Looks pretty simple if you go frame-by-frame, it’s just a textlabel with it’s size being increased or lines being added at a set interval, then the logo appears there’s a couple blank frames that appear for short durations, with the logo disappearing mid-way, and then the logo reappears at a larger scale.

-- LocalScript

for i = 1,2,1 do
	script.Parent.Text = "_"
	wait(1)
	script.Parent.Text = ""
	wait(1)
end

wait(.5)

script.Parent.TextYAlignment = Enum.TextYAlignment.Bottom

script.Parent.Text = "Booting up..."

local player = game:GetService("Players").LocalPlayer
local textLabel = script.Parent
local randomCode = {"Booting up...", "Loading kernel...", "Initializing drivers...", "Checking disk...", "Establishing network connection...", "System ready!", "Launching system...", "Checking system integrity...", "Initializing memory...", "Running diagnostics...", "Loading shell..."}
local randomMess = {"Initializing file: system32.dll", "Starting process: init.exe", "Loading file: bootmgr", "Establishing connection with: localhost", "Reading file: bios.cfg", "Configuring setting: display_resolution", "Processing file: kernel.sys", "Accessing directory: /dev/sda1", "Initializing file: user32.dll", "Starting process: svchost.exe", "Loading file: wininit.exe", "Establishing connection with: 192.168.1.1", "Reading file: autoexec.bat", "Configuring setting: network_type", "Processing file: hal.dll", "Accessing directory: /dev/sda2"}
local waitTime = 0.01 / (#randomCode + #randomMess)

textLabel.Text = "" -- Clear the text label

for i = 1,1,1 do

	-- Combine both tables into one
	local allCodes = {}

	for _, code in ipairs(randomCode) do
		table.insert(allCodes, code)
	end

	for _, mess in ipairs(randomMess) do
		table.insert(allCodes, mess)
	end

	-- Shuffle the allCodes table to randomize the order
	math.randomseed(os.time())
	for i = #allCodes, 2, -1 do
		local j = math.random(i)
		allCodes[i], allCodes[j] = allCodes[j], allCodes[i]
	end

	-- Display each code/mess with a delay
	for _, code in ipairs(allCodes) do
		textLabel.Text = textLabel.Text .. code .. "\n"
		wait(0.1) -- Wait for a fraction of the total time (3 seconds)
	end
	
	break
	
end	

wait(2)
	
for i = 1,10,1 do
	
	-- Combine both tables into one
	local allCodes = {}

	for _, code in ipairs(randomCode) do
		table.insert(allCodes, code)
	end

	for _, mess in ipairs(randomMess) do
		table.insert(allCodes, mess)
	end

	-- Shuffle the allCodes table to randomize the order
	math.randomseed(os.time())
	for i = #allCodes, 2, -1 do
		local j = math.random(i)
		allCodes[i], allCodes[j] = allCodes[j], allCodes[i]
	end

	-- Display each code/mess with a delay
	for _, code in ipairs(allCodes) do
		textLabel.Text = textLabel.Text .. code .. "\n"
		wait(waitTime) -- Wait for a fraction of the total time (3 seconds)
	end
		
end	
		


  1. this runs text which is added down as a list like seen in the video
  2. same white frame getting a math.random pos or then it’s pre-determined and simply toggled between .Visible = true/false
  3. logo shows, and a black frame which has higher Zindex overlaps it via for i function