✓ Accepted answer
.Changed will fire every time the value of a property changes. In a TextLabel it will fire when the text is shows has changed etc.
To change a value you need to do something like this.
(Note that you don't need that while loop)
for i = 1,20 do
Val = game.Workspace:WaitForChild("GameTime")
Val.Value = Val.Value + 1
wait(1)
end
What you are currently doing will result in the value of Val ascending from 2. You could also do this
for i = 1,20 do
Val = game.Workspace:WaitForChild("GameTime")
Val.Value = i
wait(1)
end
In the first piece of code, I used the "for i=1,20" part to just say how many times the loop should run.
In the second piece of code I used that part to actually change the value of Val to that number (i)
It is up to you how you increment your value every second, as you can do it in either of the two ways.