SURF : How would I go about making a game like this?

surf is a game on roblox that is based off of CS:GO. I’m not to familiar with CS:GO, and I don’t know a lot about it, but I do enjoy playing surf and learning how to strafe and what not.

GAME LINK : SURF

I don’t have an idea on how I would script this except using scriptable physics (if that makes sense), and I don’t understand roblox physics and how to edit them and all that. I was thinking of making my own moving system but I don’t know what to use. This is the script I have so far

local RunService = game:GetService("RunService")
local UIS = game:GetService("UserInputService")
local player = game.Players.LocalPlayer
local char = player.Character or player.CharacterAdded:Wait()
local hrp = char:WaitForChild("HumanoidRootPart")
local hum = char:WaitForChild("Humanoid")

-- Config
local maxSpeed = 200
local airAcceleration = 150
local slopeSlide = 50
local friction = 0.85
local jumpVelocity = 35
local rayLength = 3
local gravity = -150

-- Input state
local moveLeft, moveRight, moveForward, moveBackward = false, false, false, false
local spaceHeld = false

-- Physics setup
hum.AutoRotate = false
hum:ChangeState(Enum.HumanoidStateType.Physics)

-- Input events
UIS.InputBegan:Connect(function(input, processed)
	if processed then return end
	if input.KeyCode == Enum.KeyCode.A then moveLeft = true end
	if input.KeyCode == Enum.KeyCode.D then moveRight = true end
	if input.KeyCode == Enum.KeyCode.W then moveForward = true end
	if input.KeyCode == Enum.KeyCode.S then moveBackward = true end
	if input.KeyCode == Enum.KeyCode.Space then spaceHeld = true end
end)

UIS.InputEnded:Connect(function(input)
	if input.KeyCode == Enum.KeyCode.A then moveLeft = false end
	if input.KeyCode == Enum.KeyCode.D then moveRight = false end
	if input.KeyCode == Enum.KeyCode.W then moveForward = false end
	if input.KeyCode == Enum.KeyCode.S then moveBackward = false end
	if input.KeyCode == Enum.KeyCode.Space then spaceHeld = false end
end)

If you can help me understand how I would go about this, I would greatly appreciate that, thank you for your time.

FYI : I’m not trying to steal this game in any way shape or form, but I would like to create my own maps and get used to my own physics