Changing number of years per turn

Discussion in 'Civ5 - Creation & Customization' started by jackgames, Aug 29, 2013.

  1. jackgames

    jackgames Warlord

    Joined:
    Aug 10, 2013
    Messages:
    115
    Hi,
    1 turn equals to 10 years: how about changing this ? Is it hardcoded in dlls ?
     
  2. Craig_Sutter

    Craig_Sutter Deity

    Joined:
    Aug 13, 2002
    Messages:
    2,753
    Gender:
    Male
    Location:
    Calgary, Canada
    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>
    
    
     
  3. jackgames

    jackgames Warlord

    Joined:
    Aug 10, 2013
    Messages:
    115
    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 ?
     
  4. jackgames

    jackgames Warlord

    Joined:
    Aug 10, 2013
    Messages:
    115
    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 ?
     
  5. snarko

    snarko DLLer

    Joined:
    Dec 9, 2003
    Messages:
    1,512
    Location:
    Sweden
    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.
     
  6. Pembroke

    Pembroke Tribune

    Joined:
    Jul 1, 2002
    Messages:
    622
    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
    
     

Share This Page