Open kd7uiy opened 8 years ago
Just want to add that right now a lot of our code involve time. Most Update()
methods are called with deltaTime
.
For example Power.System
updates its state every second.
We should probably decide on a configurable real time per game day.
Like, for instance 10 real time minutes = 1 game day.
@Grenkin1988 That I'm not proposing touching. It's the determination of what 1 game second is that matters to me for this purposes.
Given this is a space game, I think 1 second= 1 day of real time might be a good rule of thumb. Yes, the workers actions would be done instantly, but it falls in well with similar games, like Civilization, where the movement time isn't realistic.
@kd7uiy it seems very fast to me. Rimworld is much slower
What about 1 second = 1 minute? At maximum warp (currently 8x) that's a day in 3 minutes real time.
It depends somewhat. Let's say we are in the Asteroid Belt. The orbital period of Ceres is 1680 days. If we have a trade system based on that somehow, then that would take a huge amount of time to orbit once. Of course, we could drop the realism with orbital periods, which would help some.
I have created time controller and cleaned up a little bit the keyboard controler and world controller. You can check it in my repo. As for the time and pace we should think about what will be the experience for the player if he or she plays for an hour. How many tradeships, monsters etc will be spawned. Realism should not be a priority. To get more flawor we can have custom month names like in df.
Realism shouldn't be a priority, I agree, but it does make some sense to have the time structure at least somewhat in line with real time. I think having a "day" pass by per second, which would mean a "year" in 6 minutes, would allow for some somewhat realistic and interesting trade opportunities, something will be really good for a minute, then not as good a few minutes later, then go back to being good again a few minutes late.
But characters running around building things will just be screen flicker at that time scale. Unless you think the characters are super slow.
The characters running around at that speed I will agree doesn't make sense. But the build time does make some sense at that scale. Building an airlock might take a few days, after all. Melting iron ore in to steel also would take a few days. Many games have two time scales in a sense, how fast the characters move, and how fast the background of the game progresses.
I've always found it jarring when I stop and realize that it just took a character a fortnight to travel from their bedroom to the kitchen or whatever.
While it's a very important topic, is this really vital for v0.1?
https://github.com/TeamPorcupine/ProjectPorcupine/wiki/Milestone-0.1
I think I agree that this one can be dropped from the 0.1 milestone.
Great, I'm not saying it is a bad topic, it is not - it's really important. I'm just arguing for v0.1 being more a proof of concept.
[IGNORE]Maybe a second is 1/4 of a day.[/INGNORE] So, a day would be 24 minutes... a 60th of a day, If you played 24/7, you would get 60 years a day. Is that reasonable? I'll talk about that later
For the movement, any spot in the ship should take (GAMETIME, not REALTIME) say, an hour, while any spot in space takes a day.
[ WARNING - CALCULATOR MATH AND GOOGLE AHEAD ]
Anyway, the 60yr/day, the ISS was launched 18 Years ago, it got in space 16 years ago. Why the ISS? Well This IS a space station base building game, right? That's unfortanate. let's go back to sec/min... okay that's a day in 3min. a day is 1,440 / 3 is 480... and 1,440 / 480 = 3. 3yr/day... If you were the ISS you would be in space so far for.. 5.333... days? Let's say the average person is awake for 18 hours. That means that it would be 6.665 WAKE days if the ISS was played, but the (AVERAGE) person does not play a game 18/7, do they? Say, half of that, every day. we get 20 days. WIN!
CORRECTION - in day/sec, it would be 240, and in my 6hr timeframe that would be 6 years... so it would be 20 days, if you played literally all day; bravo.
Maybe a second is 1/4 of a day.
I'm probably really stupid now, but wouldn't that mean that a day in game is 4 seconds in real life?
I think we shouldn't even try to keep a single reference frame for time. Each activity should be modeled after what makes sense from a gameplay and fun perspective. I think it's alright if it's faster to build a power generator or smelter from plates than it takes to sleep, even though that makes no sense.
A user will want to track time somehow, but I think it should be modeled after how often characters sleep.
That does make some sense, I think I agree for now.
@vogonistic yeah... fine. I did a bunch of (Calculator) math for nothing
There are a few things that we are discussing that involve time. These include:
I'm sure we could come up with something more. The main question is, how do we want time to be represented? 1 second= 1 day, 1 second, or something else entirely? Do we want the time to be visible anywhere? Any other timely concerns?