So I was looking at some of the example code Roblox provides for head bobbing.

## The code that's just kinda plastered in the page for humanoids for some reason.

```
local RunService = game:GetService("RunService")
local playerModel = script.Parent
local humanoid = playerModel:WaitForChild("Humanoid")
local function updateBobbleEffect()
local now = tick()
if humanoid.MoveDirection.Magnitude > 0 then -- Is the character walking?
local velocity = humanoid.RootPart.Velocity
local bobble_X = math.cos(now * 9) / 5
local bobble_Y = math.abs(math.sin(now * 12)) / 5
local bobble = Vector3.new(bobble_X, bobble_Y, 0) * math.min(1, velocity.Magnitude / humanoid.WalkSpeed)
humanoid.CameraOffset = humanoid.CameraOffset:lerp(bobble, 0.25)
else
-- Scale down the CameraOffset so that it shifts back to its regular position.
humanoid.CameraOffset = humanoid.CameraOffset * 0.75
end
end
RunService.RenderStepped:Connect(updateBobbleEffect)
```

And Iâ€™m very confused over one segment.

So tick is set at `local now = tick`

and then used at `local bobble_X = math.cos(now * 9) / 5`

and `local bobble_Y = math.abs(math.sin(now * 12)) / 5`

This confuses me because tick is a continually increasing number, and last I checked, you needed to subtract the elapsed time from it, but this script just straight up doesnâ€™t at any point, yet somehow this doesnâ€™t completely mess with it and I canâ€™t grasp why.