How long should a season last in a city builder/rts game?

Hello, I am developing a city builder and at the moment I’m thinking how to introduce and design the seasons.
What would be a fair duration in minutes for a season at 1x game speed?
I’m mostly concerned about specific activities which must start and finish within the season, like planting and harvesting, farmers must have time for those tasks. Of course I can make them as fast as I want, but their activity shouldn’t look frenetic to the player and the seasons shouldn’t look like they never finish or the season change to occur too frequently.
How would you balance this aspect?

I think this has to be determined by testing. You(either yourself or other testers) should play the game with different length of seasons and see what fits best to your game.

Its not really possible to give a general estimation

2 Likes

It very much depends on exactly what you want to simulate and how deeply and accurately. Very often farming is a full-time regimen during planting and harvesting, and almost completely relaxed during the rest of the time. And animal care requires constant even participation. You could let the players customize the speed of time and sometimes speed it up a lot.

I think I will play some of the city building games I have and get the lenghts they use as start point, then I’ll experience how those fit into my game and change as I need.

1 Like

Of course I will give to the players the ability to speed up the time, that’s why I asked an idea for the 1x game speed… and my farmers will never have spare time, during off-seasons they will help around! :smiling_face_with_horns:

1 Like

@Alhazred
I know this was a while ago, but what settings did you settle on finally for your seasons? I am interested as for my new project I am considering a day/night cycle and a seasonal cycle too.

I think it’s best to do a season of about 10-15 minutes at 1x speed to keep things looking natural and unhurried.

1 Like

I am thinking to a duration of about 20 minutes, I’ve not yet decided.
That would translate in something like
Season duration: 22.5 minutes, 1350 seconds
Month duration: 7.5 minutes, 450 seconds (30 days)
Day duration: 15 seconds

But if you add a day/night cycle, this wouldn’t work, that would mean day 7,5 seconds, night 7.5 seconds, that’s way too fast. You could still have a 20 minutes season, but not 30 days per month.

2 Likes

@masonrosley @Alhazred

Thanks, appreciate your thoughts on it.

Where I am at right now is that I think any timings are going to be strange. Either the seasons will be too long, or the day and night cycles too fast, or the number of days in a season too short etc etc. So I am now considering doing the cycles based on events, perhaps combined with a minimum time for days/nights.

For example, if you have been outside, eaten twice, or had a fight, or explored a new area, then dusk comes and the day turns to night. If it happens to take you ages to meet the tasks, then it is a long day. If you are speed running it, then yes, days and nights can pass quickly.

Seasons the same, for instance if you have eaten enough to grow, then summer is over and food gets scarce. Or completed a challenge or two, season over. Yes you might achieve the season challange/task in two day cycles, but it might take you twenty. That is up to the player.

However I am pretty sure that whatever mechanism you choose will depend highly on the nature of your game, but I am really liking the idea of event driven cycles at the moment. However when I actually get to build it, that might change with the reality in game play.

Thanks again for sharing your thoughts on it.

It looks like you could also think to an “Action points” system.
Just giving random numbers to explain myself: you could decide that in one day the player has 10 APs to spend: 6 APs during the day, 4 APs during the night, then each relevant thing the player does will cost a different amount of APs: exploring a new area 2 AP, complete a challenge 3 APs etc.
Once the player has no more APs to do anything else during the day, the game switches to night, once the APs for the night are spent, a new day begins.

Edit: with this system you will probably want to give the player the chance to manually skip to the next period, maybe bacause there’s only 1 AP remaining and no action that the player want to do which cost that amount of APs.

1 Like

@Alhazred

Oh, that is a really good idea!

A very nice generalisation for it. Very easy to implement as well, and to impose say a maximum length of the day or night you could spend action points as real time passes as well.

So you could have a GameClock that registers GameMoments. Ha ha, naming things is so hard sometimes! (Where a GameMoment is what you called Action Points). Or maybe they should be called GameTicks.

Whatever they are called, that is a great idea though! Definitely giving that some thought and almost certainly going to be trying it.

Thanks!

1 Like

Are the length of your seasons and months equal? Is the length of the day fixed and does not vary from season to season?

Yes, the length of each season will be exactly the same, I don’t feel like to have a real-world seasons’ proportions. I think that different seasons’ lenght wouldn’t have any impact on the game, so I’ll keep it easier.

1 Like