TeamPorcupine / ProjectPorcupine

Project Porcupine: A Base-Building Game...in Space!
GNU General Public License v3.0
484 stars 279 forks source link

Time and In game Calendar #1762

Closed koosemose closed 7 years ago

koosemose commented 7 years ago

I've started a branch to display time in game, it uses the time scale casually discussed in Discord a while back, of a day equalling 16 real time minutes (90x real world time) which produces a reasonably long work day, and that general time scale seems common among games that track a day cycle (admittedly only based off of actual data from Rimworld's 16 minute day, and Minecraft's 20 minute day, but also based on casual memory of other games played with day cycles).

That part works well, and seems reasonable, however the issue comes in when you look at the broader calendar, Rimworld uses the seasons, which feels discordant with the space setting (as planetary seasons are mostly meaningless in space). But going to the next obvious route, of actually tracking months leads to a very long year, even with 15 day months, that leads to a year being 48 hours of play time (for comparison, a year is 16 hours of playtime in Rimworld). Perhaps it might be considered ok to have it such that many players won't play for more than a year, maybe 2 in standard game play, but it feels excessive to me. Shortening that to 10 days a month brings it down to 32 hour real world time years, which is somewhat more reasonable, though a 10 day month almost feels too short, and bringing the month length down any further just feels drastically too short.

Another option would be to track the year in Quarters, since, as opposed to something like Rimworld or Dwarf Fortress, we're running some form of business, rather than trying to survive/build a town, so 15 day Quarters could work (or 30 day Quarters if a longer play time is preferred).

What are people's preferences/opinions on this, and does anyone have any suggestions on other ways to handle the tracking of days through the year that might lead to desirable results.

It should also be noted that it could feasibly be an option as to how long things last, for example with months you could choose fast/normal/slow for 5/10/15 day months, or something similar with quarters, and probably pretty much anything else.

BraedonWooding commented 7 years ago

Now personally I do like the idea of a quarter, I said this in discord and I'll just repeat it here for idk, I think calling them financial years could be beneficial rather than just years or fiscal years since it has a feeling of trade and economy to it that a normal user with no knowledge of a business year can understand. It also kind of puts your space station as a business and makes you think about the idea of stuff like stakes or shareholders (in reality for our game that translates to taking greater risks and selling more of themselves to quillcorp). Now this is purely aesthetic really but it does lead to more exciting gameplay decisions (that are essentially 'encouraged' by us), and while it does perhaps make a difference between a financial and a 'normal' year if we are referring the game as Q1, Q2 and so on then already we are making a difference. I'm all for calling it quarters but we do need a good reason (and while seasons has been mentioned, seasons mean something different for every person and like in games like Rimworld each season is a unique challenge), and while I do believe financial/fiscal is a good reason I'm all for another equally good reason.

bjubes commented 7 years ago

One possibility is allowing the user to determine how many days are in a month/quarter, so the player can choose to have 10 days in a month/quarter, making for a short year in terms of gameplay, or a 30day quarter/year for a more intense player that will put in more hours or wants a slower season change.

This all assumes there is some effects that differs during the month/quarters, if theres no difference in what happens in month a vs b then the way we keep time doesn't really matter at all except for exposition purposes.

koosemose commented 7 years ago

I did mention having a range of options for variable length of quarters/months. I think the main purpose of broader time passage than hours in a day is primarily for a sense of scale of gameplay and believability of progression. For example, with full months of 30/31 days, it might lead to going from a starter base to a fully functional base in maybe 2 months, which might feel weird, and if we end up with things like farming with hydroponics, either plants grow very fast relative to in game time, or really slow in comparison to play time, and just generally anything that happens over a span of time.

As far as fiscal/financial years, while that is the base concept behind using Quarters, I feel referring to years as such will create an expectation that there is a difference between them and normal years, which I doubt we will actually have, which will leave players trying to figure out what the difference is when there is no information on the difference, because there isn't a difference.

dusho commented 7 years ago

as you mentioned that days/months/years doesn't really matter in space I would just throw it in as in-game mechanic, so you can setup your ship/base systems how long you want your day light power on and how long you will have power in night mode. This can bring also nice mechanic about saving power to run things. Then time needed for plants to grow can depend on plant type and research done on plant. Also time needed for characters to sleep would also be dependent on each individual. For global time purpose there would be just generic date in some kind of star-date format.. e.g. station cycle 121.13.1

koosemose commented 7 years ago

Days matter a lot, even though there isn't a daylight cycle (at least so long as we're solely in space), it sets a baseline to guide things like approximately how long a character can stay awake, and needs to sleep, and gives the player something to build a schedule around. And again, for time to grow plants we need a baseline.

Generally having some recognizable format of the passage of time helps the player set expectations and gauge their progress.

dusho commented 7 years ago

Yes, I agree, some common global time makes sense (for events and time span things) but I wouldn't use months or years - just some stardate (don't think any space traveling nation will keep Earth based dates for long). It could be date in format aaa.b.c.d , where d (0-9) will tick every minute in normal speed (so having 10 minute cycle) and in ship systems you define that 7 ticks is 'day' (work) and 3 ticks is for 'night' (sleep). Then c (0-9) can represent day and b (0-9) can represent 'month', aaa (000-999) can represent 'year'

koosemose commented 7 years ago

I see several problems with that, first that it defines a day as 10 minutes, which I feel is entirely too short. it means you would have very short spurts of work being done by crew before they have to go to sleep.

And while I do think there is merit to the idea that Earth based dates may not continue to be used, that's not an absolute certainty, if Earth is "in charge" then earth times will be commonly in use. Further, it will be unfamiliar to players, the sense of time passing will have to pass through parsing the numbers, even with your explanation right there, it took me a little bit of time going back and forth to parse how to interpret the "stardate", and even after adaptation to it, it doesn't feel like it would ever become naturally understandable, since the base unit of time isn't anything I'm familiar with, whereas basing it off an hour I can naturally understand how much time is passing. It is a common Science-Fiction conceit to use earth based times or years, though less often months, for just this reason, to allow the reader to naturally understand the passage of time without needing exposition to explain, though it isn't uncommon to have a new era, so still counting years in some form, but rather than AD or CE or somesuch it will be counting since the founding of some empire, or diaspora, or colonization of a major planet, with actual length of the year either varying depending on ruling planet (though not uncommon for it to just so happen to match earth years), or being unmentioned (either unimportant to the story or can be assumed for simplicity's sake to be equal to earth). Hours to a day, similarly, tend to stick to being 24 hours, with the common exception being planetary colonization based stories where the difference from a human's typical cycle being a story point.

In general I think sticking to a 24 hour day is best for player connection to the passage of time, and something recognizable as a year (of course doesn't have to be CE/AD, but if we make it something else, at some point we should perhaps decide on what event the new Era is based on, (and at some point make it clear to the player), with of course After Diaspora being the almost cheaty route (as it shortens into AD). I would prefer to have months as well, but as mentioned in the original post, a full 12 months will lead to a very long year in play time, with Quarters being my suggested replacement, with the conceit that it is business quarters as theoretically the player is running a business with their space station (may not always be accurate, but seasons is practically nonsensical for a space base, and I can't think of any other alternatives that don't lead to either a very long year or require shortening days past what I feel is acceptable.