Balance Factors

You didn't answer one question:
Must iMonthIncrement (iDayIncrement) * iTurnsPerIncrement be divisable by 12 (360)?
I've been told that but I think it's mostly a really should be kinda thing for the player's benefit. It'd be super annoying if it's not.
 
I revisited my era length calculations
@Toffer90 @Thunderbrd are you fine with longest era being 2x longer than shortest era?
It is mainly because some eras have little under 100 techs, some having just little over 50 techs, and that some eras are easy to beeline trough.

I got such numbers by normalizing absolute (all techs) and mandatory (techs needed to advance to next era) tech counts and averaging them.

Spoiler :
firefox 2018-08-29 13-22-56-75.jpg


Numbers with decimals are effectively era length in turns.

By the way dates for beginning of each era are set to:
-200 000 (194000) Prehistoric
-6000 (4000) Ancient
-2000 (2600) Classical
600 (700) Medieval
1300 (400) Renaissance
1700 (200) Industrial
1900 (90) Modern
1990 (60) Information
2050 (100) Nanotech
2150 (150) Transhuman
2300 (700) Galactic
3000 (1000) Cosmic
4000 (1000) Transcedent
5000 ----- Future
Year Length

Those are points where calendar will change length of step.

Someone can research all skippable techs, but also can buy or get free techs, other may skip skippable techs and be unlucky with free techs and so on.

Those are under assumption, that average tech research speed is fairly constant trough whole game.
This means for Prehistoric globals would have to be adjusted, and for subsequent eras erainfos would have to be adjusted.
 

Attachments

Last edited:
@Toffer90 @Thunderbrd are you fine with longest era being 2x longer than shortest era?
Yes...
Each era must be as many turns as they are long no matter how "many turns"/long the other era's are.
Why would we even try to make all eras last an equal amount of turns, what would we gain from that?
It would make the game feel less natural (square instead of round, artificial instead of organic), and limit our ability to differentiate eras by fleshing them out the way we want.
 
Yes...
Each era must be as many turns as they are long no matter how "many turns"/long the other era's are.
Why would we even try to make all eras last an equal amount of turns, what would we gain from that?
It would make the game feel less natural (square instead of round, artificial instead of organic), and limit our ability to differentiate eras by fleshing them out the way we want.
Ah so you are fine with this.
I was thinking about dampening differences between era lengths towards average length.
In middle ground method of effective era length (extremes are researching all techs in era or beelining trough it as fast as possible) Modern era is bit longer than Prehistoric era.
You don't have to research all techs in Prehistoric era, and in Modern era you will come to earlier techs, that you skipped.

Since I'm trying to keep turn count per era as close as calculated, dates where step changes length may be off by few years on faster game speeds.

EDIT:
I made 24x24 (smallest possible) map with every game option being disabled.
Whole map is Orbit terrain with single Earth mountain and Brute on top of it (those units aren't as demanding as settler or worker).
If you disable autosaving its perfect map to check calendar integrity (Autosaves strongly slow down game in absolute 0 map) - there are 4 turns per second during AI autoplay (you can use autoclicker - either some program or mouse with rapid fire button, that does left click as you hold button) - Game is almost at absolute 0 on this map.

That is this minimum weight map allows for theoretical maximum speed of game, which is useful to check changes to calendar.

Years can end on quarters and halves when changing step size.

Code:
<GameTurnInfos>
                <GameTurnInfo>
                    <iMonthIncrement>23280</iMonthIncrement>
                    <iTurnsPerIncrement>100</iTurnsPerIncrement>
                </GameTurnInfo>
                <GameTurnInfo>
                    <iMonthIncrement>558</iMonthIncrement>
                    <iTurnsPerIncrement>86</iTurnsPerIncrement>
                </GameTurnInfo>
                <GameTurnInfo>
                    <iMonthIncrement>480</iMonthIncrement>
                    <iTurnsPerIncrement>65</iTurnsPerIncrement>
                </GameTurnInfo>
                <GameTurnInfo>
                    <iMonthIncrement>140</iMonthIncrement>
                    <iTurnsPerIncrement>60</iTurnsPerIncrement>
                </GameTurnInfo>
                <GameTurnInfo>
                    <iMonthIncrement>78</iMonthIncrement>
                    <iTurnsPerIncrement>62</iTurnsPerIncrement>
                </GameTurnInfo>
                <GameTurnInfo>
                    <iMonthIncrement>36</iMonthIncrement>
                    <iTurnsPerIncrement>66</iTurnsPerIncrement>
                </GameTurnInfo>
                <GameTurnInfo>
                    <iDayIncrement>288</iDayIncrement>
                    <iTurnsPerIncrement>110</iTurnsPerIncrement>
                </GameTurnInfo>
                <GameTurnInfo>
                    <iMonthIncrement>9</iMonthIncrement>
                    <iTurnsPerIncrement>82</iTurnsPerIncrement>
                </GameTurnInfo>
                <GameTurnInfo>
                    <iMonthIncrement>13</iMonthIncrement>
                    <iTurnsPerIncrement>93</iTurnsPerIncrement>
                </GameTurnInfo>
                <GameTurnInfo>
                    <iMonthIncrement>20</iMonthIncrement>
                    <iTurnsPerIncrement>90</iTurnsPerIncrement>
                </GameTurnInfo>
                <GameTurnInfo>
                    <iMonthIncrement>123</iMonthIncrement>
                    <iTurnsPerIncrement>67</iTurnsPerIncrement>
                </GameTurnInfo>
                <GameTurnInfo>
                    <iMonthIncrement>228</iMonthIncrement>
                    <iTurnsPerIncrement>53</iTurnsPerIncrement>
                </GameTurnInfo>
                <GameTurnInfo>
                    <iMonthIncrement>186</iMonthIncrement>
                    <iTurnsPerIncrement>65</iTurnsPerIncrement>
                </GameTurnInfo>
                <GameTurnInfo>
                    <iMonthIncrement>12</iMonthIncrement>
                    <iTurnsPerIncrement>1</iTurnsPerIncrement>
                </GameTurnInfo>            
            </GameTurnInfos>

It appears you don't need to set last step size at 1 year - it will continue at last step size after turn limit, and then calendar will be reset every time you load game past 1000th turn on Blitz, 2000th on Normal and so on.
 

Attachments

Last edited:
@raxo2222 Why do you sometimes (starting with Medieval) need more techs to advance than there are techs in the whole era?
Because I assume player skipped some techs from earlier eras, and now has to research them, if he wants to reach next era.

Eras would have different effective length if I just assumed all techs are researched before going to next era.
 
Because I assume player skipped some techs from earlier eras, and now has to research them, if he wants to reach next era.
Interesting factor - have you also factored in the amount of techs that may likely be skipped heading into the next era?
 
Interesting factor - have you also factored in the amount of techs that may likely be skipped heading into the next era?
Yes.
Players can research all techs in era before going to next one.
Or also can research techs, that are absolutely necessary to advance to next era.
In first case players would spend around 107 (blitz speed) turns in Prehistoric era, in other - 92 turns. Average is 99 turns.

In first case player would have researched 929 techs, and in second case player would research 886 techs by end of game.
After normalizing them by game length I did average of both approaches, each effective era length separately.
That should represent half of skippable techs being researched.

I'm not sure how robust it is, if someone decides to research all techs without buying or getting free techs.
Or if someone not only skips techs and rushes eras but also buys techs and gets free techs.

Being +-10% off target should be good enough - that is reaching Ancient era within 90 - 108 turns or Future Tech on 900 - 1100 turn (blitz speed)
 
Last edited:
Rediscovering the "wheel of time" again. Funny how good things come back around. :lol::):rolleyes:
 
Those are dates and turn points for calendar.

-200 000 (194000) Prehistoric
-6000 (4000) Ancient
-2000 (2600) Classical
600 (700) Medieval
1300 (400) Renaissance
1700 (200) Industrial
1900 (90) Modern
1990 (60) Information
2050 (100) Nanotech
2150 (150) Transhuman
2300 (700) Galactic
3000 (1000) Cosmic
4000 (1000) Transcedent
5000 ----- Future

Dates aren't going to be round.
If step is greater than 12 months, then day, month and seasons aren't displayed.
You don't need to end with integer year.

This is what I set up for Blitz - I slightly readjusted things.

Code:
<GameTurnInfos>
                <GameTurnInfo>
                    <iMonthIncrement>23280</iMonthIncrement>
                    <iTurnsPerIncrement>100</iTurnsPerIncrement>
                </GameTurnInfo>
                <GameTurnInfo>
                    <iMonthIncrement>552</iMonthIncrement>
                    <iTurnsPerIncrement>87</iTurnsPerIncrement>
                </GameTurnInfo>
                <GameTurnInfo>
                    <iMonthIncrement>480</iMonthIncrement>
                    <iTurnsPerIncrement>65</iTurnsPerIncrement>
                </GameTurnInfo>
                <GameTurnInfo>
                    <iMonthIncrement>140</iMonthIncrement>
                    <iTurnsPerIncrement>60</iTurnsPerIncrement>
                </GameTurnInfo>
                <GameTurnInfo>
                    <iMonthIncrement>78</iMonthIncrement>
                    <iTurnsPerIncrement>62</iTurnsPerIncrement>
                </GameTurnInfo>
                <GameTurnInfo>
                    <iMonthIncrement>39</iMonthIncrement>
                    <iTurnsPerIncrement>61</iTurnsPerIncrement>
                </GameTurnInfo>
                <GameTurnInfo>
                    <iDayIncrement>279</iDayIncrement>
                    <iTurnsPerIncrement>112</iTurnsPerIncrement>
                </GameTurnInfo>
                <GameTurnInfo>
                    <iDayIncrement>261</iDayIncrement>
                    <iTurnsPerIncrement>82</iTurnsPerIncrement>
                </GameTurnInfo>
                <GameTurnInfo>
                    <iMonthIncrement>13</iMonthIncrement>
                    <iTurnsPerIncrement>96</iTurnsPerIncrement>
                </GameTurnInfo>
                <GameTurnInfo>
                    <iMonthIncrement>19</iMonthIncrement>
                    <iTurnsPerIncrement>90</iTurnsPerIncrement>
                </GameTurnInfo>
                <GameTurnInfo>
                    <iMonthIncrement>126</iMonthIncrement>
                    <iTurnsPerIncrement>67</iTurnsPerIncrement>
                </GameTurnInfo>
                <GameTurnInfo>
                    <iMonthIncrement>227</iMonthIncrement>
                    <iTurnsPerIncrement>53</iTurnsPerIncrement>
                </GameTurnInfo>
                <GameTurnInfo>
                    <iMonthIncrement>184</iMonthIncrement>
                    <iTurnsPerIncrement>65</iTurnsPerIncrement>
                </GameTurnInfo>

Those turns per increment are compromise between researching everything per era and beelining trough eras as quickly as possible.
 
Interesting, but what is the advantage of using months instead of years for the longer timespans?
It allows for more control without deviating from calculated turns per increment too much.

I wonder if dates would be rounder if I used substeps for each era....
For example:

-200 000 (194000) Prehistoric
-10 000

-6000 (4000) Ancient
-4000

-2000 (2600) Classical
0 AD

600 (700) Medieval
1000

1300 (400) Renaissance
1500

1700 (200) Industrial
1800

1900 (90) Modern
1945

1990 (60) Information
2020

2050 (100) Nanotech
2100

2150 (150) Transhuman
2222 :mischief::joke:
2225 :)

2300 (700) Galactic
2650

3000 (1000) Cosmic
3500

4000 (1000) Transcedent
4500

5000 ----- Future
 
Last edited:
Ah, that makes sense.

A bit off-topic now:

So according to your username you'd fit right in in the transhuman era. :lol:
Yes, when fusion powered spaceships are colonizing outer solar system :D

Elon Musk V will be playing Kerbal Space Program: Interstellar in real life (nuclear powered spaceships flying in straight lines around solar system) :p

Now less offtopic: One era on Eternity depending on its length will take around 1000 - 2000 turns - that is entire Blitz to Normal game.
On Eternity tech progresses much slower in relation to unit movement - that is wars on Eternity see less technological progress than on Blitz.
Colonization of things also would feel more natural.
To be honest even Normal is fairly nice before tech speeds up too much (tech rate is bit fast for now).

One tech would take 21 - 23 turns to research on Eternity on average - that is after adjusting global and erainfos and without tomfoolery like buying all techs from Nightmare AI, while TD and WFL is enabled and all cities are on research.

Lets say someone is moving one turn per minute.
Blitz/Eternity - 1000 / 20 000 minutes that is 16.6 / 333 hours.
If someone is playing 4 hours per day, then finishing blitz/eternity will take 5 / 84 days.
So blitz is 2 week long campaign and eternity would take over half of year to complete with more conservative assumptions.

It appears game is fine with abuse like this:
Code:
<GameTurnInfo>
                    <iMonthIncrement>1170</iMonthIncrement>
                    <iTurnsPerIncrement>1990</iTurnsPerIncrement>
                </GameTurnInfo>
                <GameTurnInfo>
                    <iMonthIncrement>27</iMonthIncrement>
                    <iTurnsPerIncrement>1747</iTurnsPerIncrement>
                </GameTurnInfo>
                <GameTurnInfo>
                    <iMonthIncrement>25</iMonthIncrement>
                    <iTurnsPerIncrement>1289</iTurnsPerIncrement>
                </GameTurnInfo>
                <GameTurnInfo>
                    <iDayIncrement>197</iDayIncrement>
                    <iTurnsPerIncrement>1202</iTurnsPerIncrement>
                </GameTurnInfo>
                <GameTurnInfo>
                    <iDayIncrement>116</iDayIncrement>
                    <iTurnsPerIncrement>1245</iTurnsPerIncrement>
                </GameTurnInfo>
                <GameTurnInfo>
                    <iDayIncrement>58</iDayIncrement>
                    <iTurnsPerIncrement>1231</iTurnsPerIncrement>
                </GameTurnInfo>
                <GameTurnInfo>
                    <iDayIncrement>15</iDayIncrement>
                    <iTurnsPerIncrement>2230</iTurnsPerIncrement>
                </GameTurnInfo>
                <GameTurnInfo>
                    <iDayIncrement>13</iDayIncrement>
                    <iTurnsPerIncrement>1639</iTurnsPerIncrement>
                </GameTurnInfo>
                <GameTurnInfo>
                    <iDayIncrement>19</iDayIncrement>
                    <iTurnsPerIncrement>1932</iTurnsPerIncrement>
                </GameTurnInfo>
                <GameTurnInfo>
                    <iDayIncrement>30</iDayIncrement>
                    <iTurnsPerIncrement>1800</iTurnsPerIncrement>
                </GameTurnInfo>
                <GameTurnInfo>
                    <iDayIncrement>187</iDayIncrement>
                    <iTurnsPerIncrement>1344</iTurnsPerIncrement>
                </GameTurnInfo>
                <GameTurnInfo>
                    <iDayIncrement>344</iDayIncrement>
                    <iTurnsPerIncrement>1046</iTurnsPerIncrement>
                </GameTurnInfo>
                <GameTurnInfo>
                    <iDayIncrement>276</iDayIncrement>
                    <iTurnsPerIncrement>1305</iTurnsPerIncrement>
                </GameTurnInfo>
I ran trough whole Eternity without crash.
I made special void map so nothing happens.
 
Last edited:
I have been wondering if some things should be turned off in the faster game speeds. Is there any point to crime, disease and the huge number of animals at Blitz on Small maps for example. Do the players actually have to pay attention to them at that speed? Or are they just slowing the game down for no reason.

Unfortunately not all XML tables already have tags to support such a mechanism but it may be something to look at when balancing the game for different speeds.
 
I have been wondering if some things should be turned off in the faster game speeds. Is there any point to crime, disease and the huge number of animals at Blitz on Small maps for example. Do the players actually have to pay attention to them at that speed? Or are they just slowing the game down for no reason.

Unfortunately not all XML tables already have tags to support such a mechanism but it may be something to look at when balancing the game for different speeds.
Remember that blitz is almost purely for some testing purposes and not really intended for play unless you're a little odd. Obviously, testing whether properties have much of an influence on such a speed would be quickly done. But do we benefit any by setting up a way to disable them on this game speed condition?

As far as animals go, we've determined that the scaling factors on them are directly in xml (not generic scaling) and that the intensity of spawn scaling between speeds should be reduced dramatically. So it's a task to do.
 
Remember that blitz is almost purely for some testing purposes and not really intended for play unless you're a little odd. Obviously, testing whether properties have much of an influence on such a speed would be quickly done. But do we benefit any by setting up a way to disable them on this game speed condition?

As far as animals go, we've determined that the scaling factors on them are directly in xml (not generic scaling) and that the intensity of spawn scaling between speeds should be reduced dramatically. So it's a task to do.

Wow what a slap at Blitz players! :crazyeye::nono::rolleyes:
 
Blitz should be more bearable after I remake calendar and rescale globals, so Prehistoric era would end on 100th turn of Blitz. (Being +-10% off is fine, just that average would be 100th turn on Blitz)

Since calendar uses effective era lengths for its iTurnsPerIncrement (average of two extreme approaches of researching)- don't except round numbers.
Researching everything before next era
Going trough eras as fast as possible that is with skipping techs, that aren't needed to advance to next era.

Step size change points are as close to those dates as possible.
Spoiler :

-200 000 (194000) Prehistoric
-6000 (4000) Ancient
-2000 (2600) Classical
600 (700) Medieval
1300 (400) Renaissance
1700 (200) Industrial
1900 (90) Modern
1990 (60) Information
2050 (100) Nanotech
2150 (150) Transhuman
2300 (700) Galactic
3000 (1000) Cosmic
4000 (1000) Transcedent
5000 ----- Future


This means calendar will be recalculated when @pepper2000 or someone else adds techs.

Calendar is fine with Day increment larger than 360 days.
Also there is no need for integer years at all.

I set end date at 6000 AD, so Transcendent time step should be longer than Cosmic era time step.
Also it mirrors beginning of history at 6000 BC (before that its PREhistory :p)
 
Last edited:
Back
Top Bottom