Download

Question about a special Day/Night system

Hi, I had a question about a specific type of Day/Night system. My question isn’t necessarily a how-to, because at the moment I’m still only writing my game. The game I’m designing is semi-open world (like Dead Island; large areas that are zoned off – not like Skyrim or GTA that are completely open world) I wanted there to be a D/N system, but I also wanted it so that when you start a story mission, the time of day changes to match what I have set for that mission. I know there’s a game like this, I just can’t remember which one. I want to say GTA V but I haven’t played the story in almost two years and can’t remember.

It was a normal day/night system, but when you walk into the mission starter, and that mission was set to take place at a particular time of day, the camera would rotate towards the sky, and the horizon would change to the time of day the mission was set in, then come back down to the player and start the mission. After the mission was over, the time of day would then continue on behaving normally starting with whatever time the mission was set to. That type system is what I am trying to write into my game. I’m sure its probably very complicated, but since I’m still writing, I don’t have to get too technical. I mainly just wanted to know if it would be possible so I could know whether or not to just have the time of day static to the area you’re loaded into.

Changing the time of day is easy, simply change the variable that keeps track of the time. You can even make it a multi-called event, calling your time of day routines while setting the clock itself. That way you can make it “shift” the day around to whatever time you want. When the mission is over, you can set the time again to whatever time you want to set it to, even back to what it was before the mission started, just need to store the time when the mission started and reset the time back when you are finished.

So basically, if you are storing your time of day in a TimeKept struct variable, simply advance/rewind the minutes very quickly, your Day/Night system should be able to keep up. If not, make that event call to change the visual display of the time. Loop and repeat until you reach the desired time.

Ok well I’m glad to hear that it can be done. Now I can start back writing because that was kinda halting what I was trying to achieve, thanks!