dymanoid / RealTime

A mod for the Cities: Skylines game. Adjusts the time flow and the citizens behavior to make them more real.
MIT License
98 stars 59 forks source link

Auto time dilation #31

Closed originalfoo closed 6 years ago

originalfoo commented 6 years ago

Regardless of what speed I set the game to, there are certain periods of time where I'd like it to slow down a bit more (time dilation). For example, I find rush hours to be interesting, but currently (as of 1.1 release) have to go in to game options to manually slow time down further (as I might not want that 'rate of time' outside of rush hour).

Interesting periods of time:

Would be nice if I could tick a box next to those categories and to make time dilate (slow down another 10% or 20%?) when those things occur.

dymanoid commented 6 years ago

There's a question I cannot answer myself yet. Let's assume we activate the 'time dilation' for a work shift start. But the citizens will be heading to work not on work shift start, but some time before of that. They want to be in their work buildings already, when the work shift starts. At least, the vast majority of the citizens. And this travel time depends on the distance between home and work. So actually, there is no such exact point 'rush hour start' - it will emerge gradual and for different cities in a different way.

The same for school and events.

What can we do here?

originalfoo commented 6 years ago

I suspect it would be necessary to be able to define a window for the time dilation period around work shift start/end. Only one window, which would apply to all work shift changes.

For example, I could set up to 2 or 3 hours (slider with 15 min increments?) of dilation prior to a work shift starting, and same sort of thing after workshift ends.

This way I have flexibility in how the dilation applies to 'going to work' vs. 'leaving work' periods in addition to being able to adapt to my city. The snooper mod will be working overtime before and after work shift changes!

I've noticed that education has a very different traffic dynamic to work due to proximity of education buildings to residential areas. So that would merit its own window confg.

As for events, I've not experienced any yet (still working on new city, so not many landmarks yet). I assume the dynamic there will again be distinct and thus merit its own window config.

dymanoid commented 6 years ago

Well, it's not so easy.

Let's assume we have our first shift from 8 a.m. until 5 p.m., the second shift then goes from 5 p.m. until midnight, and the night shift from midnight until 8 a.m. Let's also assume we configured the shifts to be 50/25/25 and thus expect lots of traffic. Then, the school - let's say from 7 a.m. until 2 p.m. And for today, an event is planned at 6 p.m. which lasts for 2 hours.

We configure each window to 2 hrs, because our city is large, there are lots of workers/students/tourists.

Now we have the dilation:

So effectively, we're not in dilation only 2 a.m. until 3:30 a.m., 10 a.m. until 2 p.m., and 7 p.m. until 8 p.m. - only for 6.5 hours of 24! Does that make any sense? I guess not.

We need to find a better concept I think.

originalfoo commented 6 years ago

Agreed.

What about a button to toggle time dilation? That way I can conveniently shift in to and out of dilation at any time easily without needing to Pause > Settings > Mod options.

Maybe also some indication of shift changes, school start/end on the time bar would also be useful? I could see that there's a shift change coming up shortly and dilate time then have a look round my city to see what the cims are up to.

originalfoo commented 6 years ago

Pondering:

region capture 17

dymanoid commented 6 years ago

Where is your Real Time time bar? 😜 I think, this is a much better idea than an automatic 'dilation'. On the time bar, additionally to the events, the work shifts can be displayed as thin lines (without any time windows).

I never liked three-state buttons, especially when I mostly need to switch between two states only. We need an additional button here. Or maybe right-click = slowmo/normal and left-click = pause/unpause.

The speed button is still relevant, because it allows to speed-up the simulation when it gets a little bit boring. It works exactly as in the vanilla game - multiplies the simulation & time speed with 2 (second level) or 4 (third level). I would keep this untouched, because this button affects not only the time speed, but also the simulation speed.

Do we really need the time sliders to be that quick accessible? Especially keeping in mind that significant time speed changes cause issues in other mods...

Sipke82 commented 6 years ago

I think this idea is nice but a bit too complicated. IMO the problem is that night time kicks in when the sun sets instead of a time, as given in #41 . Which quite often causes rush hours to be in night time...

IMO we mainly want slow time during day and the "regular" rush hours, thus around 8 AM and 5 PM. So that would be from 6 AM to around 7 PM. regardless if the sun is set or not. Therefore it seems more simple and more logic to set times when the "night-time" kicks in.

The only exception i see are events which occur during "night time". For instance an event from 10 PM till 12PM, slow time between 9 PM - 1 AM would be nice.... However, i'm not sure if it's worth it, as for now the events are nowhere as major as the main rush hour..... (would be nice if some events were way way more major!)

dymanoid commented 6 years ago

There are no "regular" rush hours, because players may configure both the first work shift times and the work shift distribution. So the rush hour may vary very widely. Furthermore, if the dynamic daylight feature is enabled, then the sunrise may be observed e.g. in summer on a snow map at 3:30 a.m. and the sunset at 10 p.m. So we cannot just define static values when the "night time" begins. It has to depend on the sunset time. Otherwise, players won't understand why the night time speed is suddenly active when the sun shines.

Sipke82 commented 6 years ago

Indeed the traffic is more spread now... but still there are 2 major rush hours... and if the definition is the problem, why not just change the names? Im sure players will get that..

originalfoo commented 6 years ago

dymanoid: Where is your Real Time time bar?

Didn't have chance to load the game up at the time so just grabbed a pic of vanilla from the internets. :)

dymanoid: I never liked three-state buttons, especially when I mostly need to switch between two states only. We need an additional button here. Or maybe right-click = slowmo/normal and left-click = pause/unpause.

Yup that would work, although how to ensure people know about the right-click feature? It's a bit Mystery Meat.

dymanoid: Do we really need the time sliders to be that quick accessible? Especially keeping in mind that significant time speed changes cause issues in other mods...

Was just a random idea, probably not - thinking about it more, I will rarely change those settings, particularly if I have a mechanism to temporarily time dilate.

I still get confused by all the different 'forms of time' in the game tbh. And I've always found the entire speed bar in vanilla game to be clunky UX. I sometimes wonder if they'd have been better rendering a jog shuttle or something lol.

Spike82: IMO the problem is that night time kicks in when the sun sets instead of a time, as given in #41 . Which quite often causes rush hours to be in night time...

and...

dymanoid: ...So we cannot just define static values when the "night time" begins. It has to depend on the sunset time. Otherwise, players won't understand why the night time speed is suddenly active when the sun shines.

For me the issue is that we've got this all encompassing "night / day" which is defined by "sunrise / sunset". Which is fine for some purposes. However, humans don't schedule their lives around the sun any more - cities schedule around clock time, or what could be called "a business day" or "business hours".

In terms of city transport, budgets, etc., the business day does not necessarily start at sunrise or end at sunset. In the winter, for example, it's common to go to work before sunrise and come home after sunset. In this scenario the "business day" is longer than "daytime" and all the interesting stuff is actually happening at "night time".

I increasingly feel that RT would benefit from some way to define the period known as "business hours" - it could possibly just be the period defined by the day shift? This would, however, mean that many of the budgets would need altering to be based on "business hours" (day = during business hours, night = outside business hours); but that would certainly make a lot more sense than having those budgets based around sunset/sunrise. If sun sets at 4pm in winter, my cims are still at work/school/etc. - yet my whole city just went in to night mode because the sun set... good luck finding a bus to get home on! :/

dymanoid commented 6 years ago

I think I have to reopen #41, because we currently discuss not the "time dilation" feature anymore.

dymanoid commented 6 years ago

BTW, you can change your public transport budget for different hours using public transport mods.

Sipke82 commented 6 years ago

BTW, you can change your public transport budget for different hours using public transport mods.

Well AFAIK, TLM, the mod which should be able to do that, is kinda broken atm.

dymanoid commented 6 years ago

@aubergine10, having the wakeup/sleep time settings, does this feature still make any sense?

originalfoo commented 6 years ago

Those settings mostly obsolete the need for this feature.

However, I would still find it useful if a disaster is imminent while speed is > 4 (I have sleep time speed set to 6).

dymanoid commented 6 years ago

There are mods available that pause the game if a disaster is about to happen. Would that be enough?

originalfoo commented 6 years ago

Yes, a separate mod that pauses when a disaster is about to happen would suffice.

I had a quick search of the workshop and could not find an existing mod with that functionality.

dymanoid commented 6 years ago

Search for Ragnarok.

originalfoo commented 6 years ago

subbed, thanks!