Olander's Genesis Time Control [Free and/or Donate]

No longer supported or provided.
Updated: 2024JAN07

Is a fully featured time keeping control system for universal space time or earth time. The choice is yours. There is also the handy feature of game time compression to make 15 minutes real time equal 1 hour game time (configurable factor). A detailed PDF is also included.

  • Time Control Manager/Editor => Window/Genesis/Time

  • System runs completely isolated

  • Time is persistent (with optional Genesis Database)

  • Calendar naming system

  • Variable Day and Night Lengths

  • 1 second is used as the base timing method. Minutes/Hours/Days/Months/Year are all variable

  • Real Time to Game Time conversion for game time compression. Example…15min Real Time = 60min Game Time (Factor of 4 setting)
    *Factors of 2 are important here and there is a maximum compression factor because of delta times.

  • Other systems can use this time keeping system to function (ie. Genesis Weather, an Event system)

Note:
Seconds are tracked to frame time (ms) for calculations. However, all other values are set to integer to keep odd things like time corrections in a calendar from happening. To keep the time system universal this had to be done. The slight difference in some planetary rotational fraction is perfectly acceptable in a game environment.

Note for Day/Night Cycles:
Seconds, Minutes, and Hours are combined and converted to 0.000 to 100.000%

2681580--189515--Genesis Time System Settings.png 2681580--189517--Genesis Time Current Variables.png

1 Like

Updated for my Unity Community Initiative.

Cheers and Enjoy
O

gTime.cs was updated with changes to day start and day end so that decimal values could be added.
package has been uploaded and ready to go.

Cheers
O

Hi Olander,

I’m hoping to use your packages, in your time package i get 3 errors.

Assets/Genesis_Time/Scripts/gGenesisTime.cs(152,30): error CS0103: The name `gString’ does not exist in the current context

On line 631 and 720 too.

the line is: string sString = gString.IntToString(nVal);

I can’t seem to fix it on my own. Could you possibly help me?

Thanks

Hello. This refers to the function in my framework for which Genesis Time is part of. I missed these when making it stand alone. To solve this on your end…simply change.

Lines 152, 631, and 720 => string sString = gString.IntToString(nVal);
to => string sString = nVal.ToString();

**Note the reason I have a function for a conversion like this is so that I can do other things/checks inside the function and not have to add lines of code elsewhere. Really important in a framework.

Cheers
O

All files are no longer available. I have been cleaning up my FTP and decided that it has been plenty long enough to host these. I have them on my NAS drive so if needed I can FTP specifically if needed. Send a PM request. Email notifications do not work well from Unity Forums but I log in a couple times a month.

Cheers
O