[REQ] A mod to synchronize real time with game time.

Post » Fri Jun 15, 2012 2:07 am

There's a mod to do this for Oblivion (http://oblivion.nexusmods.com/mods/36943) that I've found adds a peculiar level of challenge to the game, given that shops and such close at 8 or so, the Arena closes at 9, it's dark as all hell (via mods); So far though I can't find anything to do this or something close enough for Skyrim as of yet.

Any intrepid modders wanna take a crack at it?
User avatar
Emma Copeland
 
Posts: 3383
Joined: Sat Jul 01, 2006 12:37 am

Post » Thu Jun 14, 2012 9:33 pm

This is a cool idea. Unfortunately to do that you would have to break a couple of critical pieces of functionality: waiting and sleeping. Sometimes, events in game don't happen until the next day or next week. I guess this is fine if you want to play that way, and since sleeping isn't required to level up any more, I suppose it would work.

SKSE does not currently have a function to query the system clock, which is what would be needed for this to happen. You may want to suggest it in the SKSE thread. If they provided a way to get the system time into the game, making the rest of this mod would be trivial. Set timescale to 1 (if this can be done without issues, I heard reports of strangeness at very low timescale values), apply a damage health magic effect to the player with a magnitude of 0.001 to disable sleeping and waiting, set gamehour on load, boom done. Detecting game load might be tricky. It can be done but the current method involves calls to a function that adds items to a leveled list, and using this function during a play session will crash the game when attempting to load another game.
User avatar
Richard
 
Posts: 3371
Joined: Sat Oct 13, 2007 2:50 pm

Post » Thu Jun 14, 2012 9:14 pm

This is a cool idea. Unfortunately to do that you would have to break a couple of critical pieces of functionality: waiting and sleeping. Sometimes, events in game don't happen until the next day or next week. I guess this is fine if you want to play that way, and since sleeping isn't required to level up any more, I suppose it would work.

SKSE does not currently have a function to query the system clock, which is what would be needed for this to happen. You may want to suggest it in the SKSE thread. If they provided a way to get the system time into the game, making the rest of this mod would be trivial. Set timescale to 1 (if this can be done without issues, I heard reports of strangeness at very low timescale values), apply a damage health magic effect to the player with a magnitude of 0.001 to disable sleeping and waiting, set gamehour on load, boom done. Detecting game load might be tricky. It can be done but the current method involves calls to a function that adds items to a leveled list, and using this function during a play session will crash the game when attempting to load another game.

While waiting is disabled in the Oblivion mod I linked Sleeping actually still functions to a degree as explained in the readme:
In-game fast travel and waiting is no longer possible (would be pointless and unrealistic). Sleeping however, to trigger level ups, etc. is still possible, but it's now expected that the player character sleeps when not in-game (much like logging off in games like WoW). To do this, select any bed and select the sleep option. Doing so will create a sleeping savegame which can be loaded at a later date to finish sleeping. A sleeping savegame is called "Sleeping - Level xx", where xx is the player character's level. When the player character has been "off-line" for more than 1 real world hour his/her stats (health, magicka and fatigue) are refreshed, much like in game waiting. This also avoids the player character from dying of starvation after "logging in" when Basic Primary Needs is installed.

Now the sleeping for leveling can be safely ignored like you said, but refreshing stats like this mod does and what it does to avoid starvation via eating/drinking are fairly important. I'm not sure how that would be done though, as it looks like the eating/drinking in particular only works with another mod by the same creator and not just any mod; So any primary needs mod would have to be made detectable and compatible somehow.

As far as things not happening till the next day or week, are those tracked by the number of times you sleep or the in game clock?
User avatar
Minako
 
Posts: 3379
Joined: Sun Mar 18, 2007 9:50 pm

Post » Fri Jun 15, 2012 2:37 am

wouldn't the console command "Set Timescale to 1" accomplish the same thing without a mod?

from USEPWiki:
sets the speed of how fast time advances in-game Default value is 20. Setting the value to 1 will make time advance at the same rate as the real world. Values down to 0 are possible, where less than 1 represents game time at a fraction of real time and 0 freezing the time of day completely.
Note: NPCs are unable to cross cell boundaries when timescale is less than 1. Fast traveling while timescale = 0 may also prevent your game from loading properly.
User avatar
Wanda Maximoff
 
Posts: 3493
Joined: Mon Jun 12, 2006 7:05 am

Post » Thu Jun 14, 2012 9:04 pm

wouldn't the console command "Set Timescale to 1" accomplish the same thing without a mod?

from USEPWiki:
sets the speed of how fast time advances in-game Default value is 20. Setting the value to 1 will make time advance at the same rate as the real world. Values down to 0 are possible, where less than 1 represents game time at a fraction of real time and 0 freezing the time of day completely.
Note: NPCs are unable to cross cell boundaries when timescale is less than 1. Fast traveling while timescale = 0 may also prevent your game from loading properly.

Yes and no, while this would have time pass in Skyrim at the right speed, it would be missing the more key component of the Oblivion mod mentioned in that real time would be disjointed from the ingame time. One would have to try and wait or sleep to get the time reasonably close to the current time in reality before playing.
User avatar
Brandon Wilson
 
Posts: 3487
Joined: Sat Oct 13, 2007 1:31 am

Post » Thu Jun 14, 2012 4:08 pm

Ah, now I see what you're getting at - you want to syncronize the actual time of day in-game to your actual time of day.
That would be an interesting way to play...
User avatar
electro_fantics
 
Posts: 3448
Joined: Fri Mar 30, 2007 11:50 pm

Post » Thu Jun 14, 2012 3:15 pm

Ah, now I see what you're getting at - you want to syncronize the actual time of day in-game to your actual time of day.
That would be an interesting way to play...

Yeah it's proved very interesting so far in Oblivion and I'd like to continue that way into Skyrim if at all possible.
User avatar
jasminε
 
Posts: 3511
Joined: Mon Jan 29, 2007 4:12 am

Post » Thu Jun 14, 2012 6:43 pm

I just looked up the Papyrus time functions.
It seems that the vanilla time functions only track real time in terms of how long you play.

I saw that you posted in the SKSE thread. I think you're right, you'll need an SKSE function to the the "real" time of day from your computer.
User avatar
Neko Jenny
 
Posts: 3409
Joined: Thu Jun 22, 2006 4:29 am

Post » Fri Jun 15, 2012 2:04 am

If I may ask, how does the Kenmod "show time on loading screen" work, and could that be worked through to the game? If the time was updated on every loading screen, and with a timescale of 1, it'd rarely be out of sync.
Of course, then you could sleep/wait/fast travel, but as soon as a loading screen hit it'd reset back. So those would need disabling.
User avatar
Adam Baumgartner
 
Posts: 3344
Joined: Wed May 30, 2007 12:12 pm

Post » Thu Jun 14, 2012 3:25 pm

If I may ask, how does the Kenmod "show time on loading screen" work, and could that be worked through to the game? If the time was updated on every loading screen, and with a timescale of 1, it'd rarely be out of sync.
Of course, then you could sleep/wait/fast travel, but as soon as a loading screen hit it'd reset back. So those would need disabling.

I had completely forgot about that mod, I wonder how he's pulling the system time to the loading screens...
User avatar
Sarah Bishop
 
Posts: 3387
Joined: Wed Oct 04, 2006 9:59 pm

Post » Thu Jun 14, 2012 12:31 pm

If I may ask, how does the Kenmod "show time on loading screen" work, and could that be worked through to the game? If the time was updated on every loading screen, and with a timescale of 1, it'd rarely be out of sync.
Of course, then you could sleep/wait/fast travel, but as soon as a loading screen hit it'd reset back. So those would need disabling.
Just dl'd to take a look.
This is an scaleform UI mod. However it gets the current time from the computer is not accesible to papyrus as yet afaik,
User avatar
michael danso
 
Posts: 3492
Joined: Wed Jun 13, 2007 9:21 am

Post » Thu Jun 14, 2012 2:55 pm

Just dl'd to take a look.
This is an scaleform UI mod. However it gets the current time from the computer is not accesible to papyrus as yet afaik,
You sure? Ah well, worth a try.
I wasn't planning to make the clocks sync up perfectly, but if, whenever the time is shown, it could update a record somewhere which is readable in Papyrus with the time as of last loading screen, that would work (to within a minute or so)
Basic idea:
1. Kenmod shows time, copies time to some file/record. (whatever is possible)
2. After the loading screen (which presumably can be detected, as the game autosaves [if all else fails, update time on autosave]) the game clock is set to the time given by the record.
3. Repeat.
As the timescale is 1:1, this would give a pretty accurate time. Of course, if you wait in the pause menu for ages, without going through a loading screen, you'd be out by that long (but I'm hoping that people don't mind that, compared with "it is night at night, day in day, morning in morning, etc.". Vanilla game doesn't have any clocks, right?)

...Now explain to me precisely why I am wrong and this will not work :P
this is my favourite kind of speculation: entirely uneducated.

If it might work, I might make this in a couple of weeks. I was meaning to learn the language, anyhow. If it won't work... I get to learn even more.
User avatar
City Swagga
 
Posts: 3498
Joined: Sat May 12, 2007 1:04 am

Post » Fri Jun 15, 2012 12:01 am

Ok so in the SKSE thread http://www.gamesas.com/topic/1382093-wipz-skyrim-script-extender-skse/page__st__30__p__20967682#entry20967682 He asked how the information should be presented, so my question to any modders is how would the information be best given for something like this?
User avatar
Tracey Duncan
 
Posts: 3299
Joined: Wed Apr 18, 2007 9:32 am

Post » Fri Jun 15, 2012 12:04 am

Sounds good, opinions? I don't recall how the Tamriel calendar works, but we'll need to set it up similarly to that. I'd suggest asking for the full month/day/hour/minute thing (seconds not so important, you can't see them in game, right?), and then we need to work out how to translate it to the real calendar.
I don't know enough papyrus to know how I'd want it formatted. (and I should say I'm not working on this for a bit, just trying to give ideas)
User avatar
Pumpkin
 
Posts: 3440
Joined: Sun Jun 25, 2006 10:23 am

Post » Thu Jun 14, 2012 11:04 pm

You sure? Ah well, worth a try.
....
Now explain to me precisely why I am wrong and this will not work :tongue:
this is my favourite kind of speculation: entirely uneducated.

Can't. I have no clue myself about scaleform. Just that from reading, it doesn't appear that you can pass info to papyrus.
As I said.
As to the speculation, i'm right there with you... :confused:


Ok so in the SKSE thread http://www.gamesas.com/topic/1382093-wipz-skyrim-script-extender-skse/page__st__30__p__20967682#entry20967682 He asked how the information should be presented, so my question to any modders is how would the information be best given for something like this?

I put two cents in there...
Hour / minutes of day and day of week would be the most common use, I think.
User avatar
Pawel Platek
 
Posts: 3489
Joined: Sat May 26, 2007 2:08 pm

Post » Thu Jun 14, 2012 3:52 pm

I appreciate the input here and in the SKSE thread folks.
User avatar
Bloomer
 
Posts: 3435
Joined: Sun May 27, 2007 9:23 pm


Return to V - Skyrim