Whither time?

Started by sandbags, April 19, 2015, 04:16:08 AM

sandbags

I wanted to get a better sense of how trade works in the game so I decided to create a spreadsheet of different goods at various stations to see how quantity and price changed over time. It was then that I realised that the game does not seem to have any notion of in-game time. No "star dates" here.

Is this deliberate? Or an omission due to it not having been necessary in game terms?

A couple of the quests do say "come back later" with only a fairly fuzzy definition of what later means but this does suggest that there is an internal representation of time of some kind.

Can anyone give any more detail?

m/

MenschMaschine

After going through scripts that seemed relevant, i think there is no real system of time,
changes seem to be controlled by events, however, regarding quests,
this line in generic_quest_anyjob in DATA/TOPICS/GENERIC_QUESTS
suggests to me that "come back later" actually means "leave me alone for at least 10 minutes"

GQL.AddOfferedQuest(PLAYER_SHIP, npc_id, quest_id, time + 60 * 10);
No Berries!

jeeplaw

Interesting..and this is where I have an issue with modding versus understanding what' s on the roadmap because if I start putting time elements into the system variables and the dev team at AT is working on their own real-time (near time) trade system, i would have wasted a ton of effort

sandbags

Quote from: MenschMaschine on April 19, 2015, 06:16:20 AM
After going through scripts that seemed relevant, i think there is no real system of time,
changes seem to be controlled by events, however, regarding quests,
this line in generic_quest_anyjob in DATA/TOPICS/GENERIC_QUESTS
suggests to me that "come back later" actually means "leave me alone for at least 10 minutes"

GQL.AddOfferedQuest(PLAYER_SHIP, npc_id, quest_id, time + 60 * 10);

Hrmm... so either there is no notion of time and this is a stop-gap, or the game is intended to be real-time. So the question is whether the "time" is in-game or wall-clock time.

ai_enabled

The function timer.GetGameTime() returns game time in seconds (it starts from zero for the new galaxy), which is increases only while the game server is running (or when you're playing in the singleplayer). It doesn't increase if the game is paused in the singleplayer mode.

sandbags

Quote from: ai_enabled on April 19, 2015, 10:29:37 PM
The function timer.GetGameTime() returns game time in seconds (it starts from zero for the new galaxy), which is increases only while the game server is running (or when you're playing in the singleplayer). It doesn't increase if the game is paused in the singleplayer mode.

Thanks ai_e.

Given the cataclysmic nature of being cut off it's natural that a new calendar would be instituted to measure time since the expanse was cut off from the rest of humanity. Which neatly dovetails with the clock starting from zero at galaxy creation.

I think it would be nice to have the game clock visible somewhere and to record, for example, when each quest was given and how long it has been outstanding. It would give, I think, more of a sense of being in a continuous world.

I could see some missions then being given a time, like you need to deliver X by date D. This would then lend some more interest in that you'd maybe have to decide whether to plot a longer route around trouble or risk going through heavily pirate infested space. Etc..

m/