Changing number of years per turn

Totally moddable... for example:

Code:
<GameSpeed_Turns>
		<Delete GameSpeedType="GAMESPEED_MARATHON"/>
		<Delete GameSpeedType="GAMESPEED_EPIC"/>
		<Delete GameSpeedType="GAMESPEED_STANDARD"/>
		<Delete GameSpeedType="GAMESPEED_QUICK"/>

		<Row>
			<GameSpeedType>GAMESPEED_MARATHON</GameSpeedType>
			<MonthIncrement>3</MonthIncrement>
			<TurnsPerIncrement>20</TurnsPerIncrement>
		</Row>
		<Row>
			<GameSpeedType>GAMESPEED_MARATHON</GameSpeedType>
			<MonthIncrement>6</MonthIncrement>
			<TurnsPerIncrement>40</TurnsPerIncrement>
		</Row>
		<Row>
			<GameSpeedType>GAMESPEED_MARATHON</GameSpeedType>
			<MonthIncrement>4</MonthIncrement>
			<TurnsPerIncrement>30</TurnsPerIncrement>
		</Row>
		<Row>
			<GameSpeedType>GAMESPEED_MARATHON</GameSpeedType>
			<MonthIncrement>3</MonthIncrement>
			<TurnsPerIncrement>160</TurnsPerIncrement>
		</Row>
		<Row>
			<GameSpeedType>GAMESPEED_MARATHON</GameSpeedType>
			<MonthIncrement>3</MonthIncrement>
			<TurnsPerIncrement>100</TurnsPerIncrement>
		</Row>
		<Row>
			<GameSpeedType>GAMESPEED_MARATHON</GameSpeedType>
			<MonthIncrement>12</MonthIncrement>
			<TurnsPerIncrement>50</TurnsPerIncrement>
		</Row>
		<Row>
			<GameSpeedType>GAMESPEED_MARATHON</GameSpeedType>
			<MonthIncrement>4</MonthIncrement>
			<TurnsPerIncrement>600</TurnsPerIncrement>
		</Row>
		<Row>
			<GameSpeedType>GAMESPEED_MARATHON</GameSpeedType>
			<MonthIncrement>6</MonthIncrement>
			<TurnsPerIncrement>600</TurnsPerIncrement>
		</Row>
		<Row>
			<GameSpeedType>GAMESPEED_EPIC</GameSpeedType>
			<MonthIncrement>6</MonthIncrement>
			<TurnsPerIncrement>200</TurnsPerIncrement>
		</Row>
		<Row>
			<GameSpeedType>GAMESPEED_EPIC</GameSpeedType>
			<MonthIncrement>12</MonthIncrement>
			<TurnsPerIncrement>550</TurnsPerIncrement>
		</Row>
		<Row>
			<GameSpeedType>GAMESPEED_STANDARD</GameSpeedType>
			<MonthIncrement>6</MonthIncrement>
			<TurnsPerIncrement>30</TurnsPerIncrement>
		</Row>
		<Row>
			<GameSpeedType>GAMESPEED_STANDARD</GameSpeedType>
			<MonthIncrement>12</MonthIncrement>
			<TurnsPerIncrement>85</TurnsPerIncrement>
		</Row>
		<Row>
			<GameSpeedType>GAMESPEED_STANDARD</GameSpeedType>
			<MonthIncrement>36</MonthIncrement>
			<TurnsPerIncrement>50</TurnsPerIncrement>
		</Row>
		<Row>
			<GameSpeedType>GAMESPEED_STANDARD</GameSpeedType>
			<MonthIncrement>12</MonthIncrement>
			<TurnsPerIncrement>100</TurnsPerIncrement>
		</Row>
		<Row>
			<GameSpeedType>GAMESPEED_STANDARD</GameSpeedType>
			<MonthIncrement>18</MonthIncrement>
			<TurnsPerIncrement>100</TurnsPerIncrement>
		</Row>
		<Row>
			<GameSpeedType>GAMESPEED_STANDARD</GameSpeedType>
			<MonthIncrement>12</MonthIncrement>
			<TurnsPerIncrement>135</TurnsPerIncrement>
		</Row>
		<Row>
			<GameSpeedType>GAMESPEED_QUICK</GameSpeedType>
			<MonthIncrement>12</MonthIncrement>
			<TurnsPerIncrement>50</TurnsPerIncrement>
		</Row>
		<Row>
			<GameSpeedType>GAMESPEED_QUICK</GameSpeedType>
			<MonthIncrement>36</MonthIncrement>
			<TurnsPerIncrement>200</TurnsPerIncrement>
		</Row>
	</GameSpeed_Turns>
 
I don't quite understand the GameSpeeds table. I'd like to mod the standard game speed.
For example, MonthIncrement = 12 and TurnsPerIncrement = 85 means what ? That 85 turns = 12 months ??
And why are there multiple rows for each game speed ?
 
I expected something like:
Code:
<GameSpeedType>GAMESPEED_STANDARD</GameSpeedType>
<MonthsPerTurn>120</MonthsPerTurn>
I still can't understand the underlying logic to this table...
Some help ?
 
MonthIncrement is how many months for each turn. So MonthIncrement of 12 means one year per turn.
TurnsPerIncrement is how many times it should run this specific MonthIncrement before moving on to the next one in the list.
 
Here are the values from the unmodded game (as in BNW) in an SQL script with comments added showing the years/turn and their period in the game calendar. Add an SQL file to your mod and copy+paste the code below and change values to whatever are suitable to your mod. Changing the values will, of course, change the calendar years of the increment periods. MonthIncrement/12 * TurnsPerIncrement gives the number of years in a single period.

Though, the designers should definitely change the GameSpeed_Turns table so that the rows would each have a unique key inside a GameSpeedType, like IncrementNbr or something. Without this the order of the rows matters and you can't robustly adjust the values with just an UPDATE statement in a Mod because there's no guarantee what the original values are if you want to mix&match mods. Better to build the entire table anew and thus the delete+inserts below.

Code:
DELETE FROM GameSpeed_Turns;

INSERT INTO GameSpeed_Turns(GameSpeedType,MonthIncrement,TurnsPerIncrement)
VALUES ('GAMESPEED_MARATHON',180,100); -- 15 years/turn, 4000BC-2500BC
INSERT INTO GameSpeed_Turns(GameSpeedType,MonthIncrement,TurnsPerIncrement)
VALUES ('GAMESPEED_MARATHON',120,300); -- 10 years/turn, 2500BC-500AD
INSERT INTO GameSpeed_Turns(GameSpeedType,MonthIncrement,TurnsPerIncrement)
VALUES ('GAMESPEED_MARATHON',60,170); -- 5 years/turn, 500AD-1350AD
INSERT INTO GameSpeed_Turns(GameSpeedType,MonthIncrement,TurnsPerIncrement)
VALUES ('GAMESPEED_MARATHON',24,201); -- 2 years/turn, 1350AD-1752AD
INSERT INTO GameSpeed_Turns(GameSpeedType,MonthIncrement,TurnsPerIncrement)
VALUES ('GAMESPEED_MARATHON',12,129); -- 1 year/turn, 1752AD-1881AD
INSERT INTO GameSpeed_Turns(GameSpeedType,MonthIncrement,TurnsPerIncrement)
VALUES ('GAMESPEED_MARATHON',6,180); -- 6 months/turn, 1881AD-1971AD
INSERT INTO GameSpeed_Turns(GameSpeedType,MonthIncrement,TurnsPerIncrement)
VALUES ('GAMESPEED_MARATHON',3,264); -- 3 months/turn, 1971AD-2037AD
INSERT INTO GameSpeed_Turns(GameSpeedType,MonthIncrement,TurnsPerIncrement)
VALUES ('GAMESPEED_MARATHON',1,156); -- 1 month/turn, 2037AD-2050AD

INSERT INTO GameSpeed_Turns(GameSpeedType,MonthIncrement,TurnsPerIncrement)
VALUES ('GAMESPEED_EPIC',300,140); -- 25 years/turn, 4000BC-500BC
INSERT INTO GameSpeed_Turns(GameSpeedType,MonthIncrement,TurnsPerIncrement)
VALUES ('GAMESPEED_EPIC',180,90); -- 15 years/turn, 500BC-850AD
INSERT INTO GameSpeed_Turns(GameSpeedType,MonthIncrement,TurnsPerIncrement)
VALUES ('GAMESPEED_EPIC',120,40); -- 10 years/turn, 850AD-1250AD
INSERT INTO GameSpeed_Turns(GameSpeedType,MonthIncrement,TurnsPerIncrement)
VALUES ('GAMESPEED_EPIC',60,90); -- 5 years/turn, 1250AD-1700AD
INSERT INTO GameSpeed_Turns(GameSpeedType,MonthIncrement,TurnsPerIncrement)
VALUES ('GAMESPEED_EPIC',24,70); -- 2 years/turn, 1700AD-1840AD
INSERT INTO GameSpeed_Turns(GameSpeedType,MonthIncrement,TurnsPerIncrement)
VALUES ('GAMESPEED_EPIC',12,100); -- 1 year/turn, 1840AD-1940AD
INSERT INTO GameSpeed_Turns(GameSpeedType,MonthIncrement,TurnsPerIncrement)
VALUES ('GAMESPEED_EPIC',6,220); -- 6 months/turn, 1940AD-2050AD

INSERT INTO GameSpeed_Turns(GameSpeedType,MonthIncrement,TurnsPerIncrement)
VALUES ('GAMESPEED_STANDARD',480,75); -- 40 years/turn, 4000BC-1000BC
INSERT INTO GameSpeed_Turns(GameSpeedType,MonthIncrement,TurnsPerIncrement)
VALUES ('GAMESPEED_STANDARD',300,60); -- 25 years/turn, 1000BC-500AD
INSERT INTO GameSpeed_Turns(GameSpeedType,MonthIncrement,TurnsPerIncrement)
VALUES ('GAMESPEED_STANDARD',240,25); -- 20 years/turn, 500AD-1000AD
INSERT INTO GameSpeed_Turns(GameSpeedType,MonthIncrement,TurnsPerIncrement)
VALUES ('GAMESPEED_STANDARD',120,50); -- 10 years/turn, 1000AD-1500AD
INSERT INTO GameSpeed_Turns(GameSpeedType,MonthIncrement,TurnsPerIncrement)
VALUES ('GAMESPEED_STANDARD',60,60); -- 5 years/turn, 1500AD-1800AD
INSERT INTO GameSpeed_Turns(GameSpeedType,MonthIncrement,TurnsPerIncrement)
VALUES ('GAMESPEED_STANDARD',24,50); -- 2 years/turn, 1800AD-1900AD
INSERT INTO GameSpeed_Turns(GameSpeedType,MonthIncrement,TurnsPerIncrement)
VALUES ('GAMESPEED_STANDARD',12,120); -- 1 year/turn, 1900AD-2020AD
INSERT INTO GameSpeed_Turns(GameSpeedType,MonthIncrement,TurnsPerIncrement)
VALUES ('GAMESPEED_STANDARD',6,60); -- 6 months/turn, 2020AD-2050AD

INSERT INTO GameSpeed_Turns(GameSpeedType,MonthIncrement,TurnsPerIncrement)
VALUES ('GAMESPEED_QUICK',720,50); -- 60 years/turn, 4000BC-1000BC
INSERT INTO GameSpeed_Turns(GameSpeedType,MonthIncrement,TurnsPerIncrement)
VALUES ('GAMESPEED_QUICK',480,30); -- 40 years/turn, 1000BC-200AD
INSERT INTO GameSpeed_Turns(GameSpeedType,MonthIncrement,TurnsPerIncrement)
VALUES ('GAMESPEED_QUICK',360,20); -- 30 years/turn, 200AD-800AD
INSERT INTO GameSpeed_Turns(GameSpeedType,MonthIncrement,TurnsPerIncrement)
VALUES ('GAMESPEED_QUICK',240,30); -- 20 years/turn, 800AD-1400AD
INSERT INTO GameSpeed_Turns(GameSpeedType,MonthIncrement,TurnsPerIncrement)
VALUES ('GAMESPEED_QUICK',120,25); -- 10 years/turn, 1400AD-1650AD
INSERT INTO GameSpeed_Turns(GameSpeedType,MonthIncrement,TurnsPerIncrement)
VALUES ('GAMESPEED_QUICK',60,40); -- 5 years/turn, 1650AD-1850AD
INSERT INTO GameSpeed_Turns(GameSpeedType,MonthIncrement,TurnsPerIncrement)
VALUES ('GAMESPEED_QUICK',24,65); -- 2 years/turn, 1850AD-1980AD
INSERT INTO GameSpeed_Turns(GameSpeedType,MonthIncrement,TurnsPerIncrement)
VALUES ('GAMESPEED_QUICK',12,70); -- 1 year/turn, 1980AD-2050AD
 
Back
Top Bottom