I'm working on a game in which the season is particularly important to the player, along with sunlight. It progresses from early spring to late fall. I have a very basic day/night cycle system working, but dawn and dusk are consistently at the same times; whereas, in the real world, days get longer into the summer and shorter into the winter.
The whole thing basically involves rotating a directional light now; but aside from changing the rate of rotation of the light in a non-linear fashion, I'm not sure how to implement the day-length-per-day-of-year system. Before I do something like that, I can't help but feel like there must be a better way to do it.
In summary, if I haven't been clear, sunrise and sunset are 6AM and 6PM (mapped to a normalized angle) by default. I may need sunrise at 5AM and sunset as late as 9PM at some point in my game. Is there an efficient or built-in way of managing this?