Page MenuHomeFeedback Tracker

Functions for independently controlling (MP) time and weather/cloud simulation speed
Closed, ResolvedPublic

Description

In some modes/mission-types it can be desirable to have the in-game time
run at a different speed than the real-world time, typically with the
in-game time being faster, giving shorter day/night cycles.

This can to a certain extent be achieved now with the skipTime and
setDate functions, by regularly calling either of them (on each
client) to change the in-game time. Time will run at real-world speed
between each adjustment and then jump forwards when it is adjusted,
giving a rate of change in time that on average should match the desired
rate.

The need to constantly do the time adjustment is inconvenient, but
more problematic are the visible effects caused by the time
changes. For low increases in in-game speed this might not be
noticeable, but for higher increases in in-game speed, this will be
very visible, especially due to the increased speed of weather
changes. Depending on the frequency of the time changes, clouds will
either move faster or suddenly change position. This appears to be the
case for both skipTime and setDate. There are possibly also other
effects that are similarly affected.

Having an engine-supported way of adjusting the speed of the day/night
cycle, without increasing the speed of weather/cloud changes would allow the
speed of the in-game time to be increased without breaking immersion
in a very visible way.

For this reason I request that a set of functions for controlling the
day cycle speed be added. The requested functionality would be
somewhat similar to the existing accTime/setAccTime functions, with
the important difference that the speed of e.g., player movement
would not be affected.

Possible semantics:

setDaytimeSpeed factor

-factor is a number that specifies the speed at which the in-game
 time should change relative to the real-world time.

daytimeSpeed

  -returns the current daytime speed factor

A "factor" value of 1 in setDaytimeSpeed means speed unchanged
relative to real-world time, while a value of 4 would indicate that
the in-game time should pass four times faster than the real-world
time, meaning that a full in-game 24-hour period would pass in 6 hours
of real-world time.

Changes in speed should in other words affect the current time and
movement of the sun, etc., while weather/clouds, character movement
speeds and other similar elements continue at normal (real-world)
speeds, giving the illusion of time passing normally.

Ideally the functions would also have multiplayer support, for example
by either having a global daytimeSpeed value that is automatically
synchronized on all clients, or by having clients synchronize to the server time if they have the same daytimeSpeed value set.

Details

Legacy ID
3481852060
Severity
None
Resolution
Open
Reproducibility
Always
Category
Feature Request
Steps To Reproduce

Change time using skipTime or setDate. Moving the time e.g., one hour will cause clouds to jump to another location. Changing the time in smaller intervals e.g., once a second or more will cause clouds to move more smoothly, but at visibly increased speeds.

Event Timeline

andero2 edited Steps To Reproduce. (Show Details)Aug 14 2013, 12:05 PM
andero2 edited Additional Information. (Show Details)
andero2 set Category to Feature Request.
andero2 set Reproducibility to Always.
andero2 set Severity to None.
andero2 set Resolution to Open.
andero2 set Legacy ID to 3481852060.May 7 2016, 4:01 PM
MadDogX added a subscriber: MadDogX.May 7 2016, 4:01 PM

Mass closing ancient tickets with no activity for > 12 months; assume fixed or too trivial.

If this issue is still relevant in current dev build, please re-post.