I only refreshed it so fast because I didn't want to wait 4 minutes for it to start to change, and another 3 1/2 minutes to fade to day.
You would put a Wait: 20 frames in your event to make it only update every second.
That is the formula for a line that goes from (0,360) to (12, -360), and it's mirror (24,360) to (12, -360), using the min & max to chop it off at 210 & 0.
(saw tooth wave)
I looked up the natural progression of light through a normal day, and it's so close to a linear transition at dusk & dawn, I figured linear would look very natural.
the curve is inverted, because we're subtracting the alpha. (0 alpha = noon daylight).
Green curve is the formula: y = (x - 720).abs - 270
Red curve is what gets returned because of the .min & .max being applied.
.abs is a object method to return the absolute value. (mirrors the curve by returning a positive y value)
you increase the $game_variables[MINUTE_VAR] yourself from an event. I did it in a parallel event on the map for testing.
I could have written it: alpha = [[[$game_variables[MINUTE_VAR] - 720].abs - 270, 0].max , 210].min