This is a huge technical challenge, look up the development video for The Sims 2 Seasons, and you'll see exactly why.