Larger Worlds (Abandonded)

Larger Worlds (Abandonded) 2.31

Seven05

Warmonger
Joined
Dec 5, 2005
Messages
2,056
Location
USA
Larger Worlds - Larger World Sizes and adjusted starting positions

Larger Worlds 2.3 adds larger world sizes and a modified StartingPlots.lua file that scales major civ starting locations by map sizes

Larger Worlds has a few basic features:
  • New "Massive" Map size (116x74)
  • New "Enormous" Map Size (128x80)
  • Starting plot distance scaled by number of players
  • Starting plot landmass size restrictions
Starting location selection is now loosely based on map size instead of the original static value (9 tiles). This buffer is now determined by the default number of players for the map size so it will work with the default maps and other mods that add or change map sizes as long as they don't override AssignStartingPlots.lua. The base value is 1+ the default number of players, so a map with 8 players default (standard size) will have a major civ buffer of 9 while an enormous map with 16 players default will try to push everybody out to 17 tiles apart. This will also scale better when playing a map with fewer than the default number of players, previously having fewer players increased the buffer by 1 tile (yay?), now it adjusts to increase the buffer with fewer players or decrease it with more players.

Landmass size limits are 20+ tiles for players as a hard minimum except on water maps (island plates for example). The map is evaluated for total usable land (not water or mountains) and based on that count a minimum landmass size is determined for landmasses that can have multiple players on them.

Example: A massive map with 60% water may have approximately 3000 usable tiles. If there are 10 players in the game the smallest landmass that will allow multiple players is 150 tiles on land maps or 100 tiles on water maps. So a 50 tile island is big enough for a player start (20+) but too small for more than one player.

City States do not have landmass limits so they will fill in small landmasses and may spawn on landmasses that are too small for multiple players.

Any feedback is welcome. I'm trying to keep this mod simple so it won't conflict with others, I missed the big maps from Civ 5 so I used those sizes for the new large and huge maps. I also didn't like starting on top of my neighbors even on large maps with fewer than the default number of players. I don't play on small maps or crowded maps so if anybody does and could let me know if it works or horribly destroys the game that would help :)

Known Issues:
  • Maps with more than the default players may end up with less civs than expected
  • City States will not all spawn on crowded maps, this may also happen when using high sea level on island plates or similar maps with many scattered, small landmasses

With version 2.0 forward this mod only includes the larger map grid sizes and changes to the starting plot script to scale starting distanced by map size.
Note: The custom map scripts that were included in the 1.x versions are now in their own mod here.
 
Last edited:
Known Issues:
  • I can't seem to get my custom "Small Continents" map to show up in the game, the file is in the download if anybody can figure out what I'm doing wrong any help is greatly appreciated!

You need to change you modinfo file:-
Code:
<?xml version="1.0" encoding="utf-8"?>
<Mod id="f0092e45-6a2d-4ae8-815d-b9de171a9cad">
   <Properties>
       <Name>LOC_LARGER_WORLDS_NAME</Name>
       <Stability>Alpha</Stability>
       <Teaser>LOC_LARGER_WORLDS_TEASER</Teaser>
       <Description>LOC_LARGER_WORLDS_DESCRIPTION</Description>
       <Authors>LOC_LARGER_WORLDS_AUTHORS</Authors>
       <SpecialThanks>LOC_LARGER_WORLDS_SPECIAL_THANKS</SpecialThanks>
   </Properties>
   <Files>
       <File>Maps.xml</File>
       <File>MapScripts.xml</File>
       <File>Maps/Continents.lua</File>
       <File>Maps/SmallContinents.lua</File>
       <File>Maps/Utility/AssignStartingPlots.lua</File>
       <File>Maps/Utility/MountainsCliffs.lua</File>
   </Files>
 
   <Settings>
       <Custom id="LargerWorldsSetting">
           <Properties>
               <Name>LOC_LARGER_WORLDS_COMPONENT_NAME</Name>
           </Properties>
           <Items>
               <File>MapScripts.xml</File>
               <File>Maps.xml</File>
           </Items>
       </Custom>
   </Settings>
 
   <Components>
       <ImportFiles id="LargerWorldsImport">
           <Items>
               <File>Maps/Continents.lua</File>
               <File>Maps/SmallContinents.lua</File>
               <File>Maps/Utility/AssignStartingPlots.lua</File>
               <File>Maps/Utility/MountainsCliffs.lua</File>
           </Items>
       </ImportFiles>
   </Components>
 
   <LocalizedText>
       <Text id="LOC_LARGER_WORLDS_COMPONENT_NAME">
           <en_US>Larger Worlds</en_US>
       </Text>
       <Text id="LOC_LARGER_WORLDS_AUTHORS">
           <en_US>Evil Victor (Seven05)</en_US>
       </Text>
       <Text id="LOC_LARGER_WORLDS_SPECIAL_THANKS">
           <en_US>Mom</en_US>
       </Text>
       <Text id="LOC_LARGER_WORLDS_DESCRIPTION">
           <en_US>Modified world sizes in line with Civ 5 values. Small, standard, large and huge sizes have all be increased. Starting locations are now seperated based on the world size, not a fixed value and games with fewer than the default number of players scale with world size as well. Continental maps have slightly more water to keep the ratio of usable land per player closer to the default value, other map types have not been altered.</en_US>
       </Text>
       <Text id="LOC_LARGER_WORLDS_TEASER">
           <en_US>Modified world sizes.</en_US>
       </Text>
       <Text id="LOC_LARGER_WORLDS_NAME">
           <en_US>Larger Worlds</en_US>
       </Text>
   </LocalizedText>
</Mod>

Screenie:-
 
For future reference, from what i understand of the databases:

<Settings> - updates DebugConfiguration, which is where map settings are stored.
<Components> - updates DebugGameplay, where VFS/Gameplay changes are stored.
 
Prefect! Thank you! Now it makes more sense too, I sort of skipped Civ 5 modding and I miss the easy modding from Civ 4 :)

I'll upload the fixed version shortly.
 
Observation on inital play, your Small Continents does not allow changing resource amount(Sparce, Abundant ect) or civ starting (Balanced, Legendary ect)

Initial map seemed nice though, 4 small continents on a large map and a sparse Island chain, which I started on, so I am restarting. I did notice that all 4 continents were faily close together, 3 down the right side of the map and one on the bottom left with the islands occupying the rest of the area on the left.

Edit:

Cant not change Climate either.
 
Yeah, none of the settings are adjustable... it's so different from previous versions with the way it handles new mapscripts so I have some more sorting to do.

The map layout itself will be pretty random since it's just using the stock fractal generator. I'll adjust it some more so it won't place you on sparse island chains though, it looks like it's using the old method of treating coastal tiles as land when determining areas so it's giving those higher yields when evaluating starting positions. That should be an easy fix.
 
Observation on inital play, your Small Continents does not allow changing resource amount(Sparce, Abundant ect) or civ starting (Balanced, Legendary ect) Cant not change Climate either.
So apparently there are a bunch of files I never even looked at :)

\steamapps\common\Sid Meier's Civilization VI\Base\Assets\Configuration\Data

So adding a custom map script requires the following DB updates:

Identifying the map script for the game:
Code:
    <Maps>
        <Row File="SmallContinents.lua" Name="Small Continents" Description="Small Continents" SortIndex="5"/>
    </Maps>

Enabling map settings:
Code:
    <Parameters>
        <Row Key1="Map" Key2="SmallContinents.lua" ParameterId="WorldAge" Name="LOC_MAP_WORLD_AGE_NAME" Description="LOC_MAP_WORLD_AGE_DESCRIPTION" Domain="WorldAge" DefaultValue="2" ConfigurationGroup="Map" ConfigurationId="world_age" GroupId="MapOptions" Hash="0" SortIndex="230"/>
        <Row Key1="Map" Key2="SmallContinents.lua" ParameterId="Temperature" Name="LOC_MAP_TEMPERATURE_NAME" Description="LOC_MAP_TEMPERATURE_DESCRIPTION" Domain="Temperature" DefaultValue="2" ConfigurationGroup="Map" ConfigurationId="temperature" GroupId="MapOptions" Hash="0" SortIndex="240"/>
        <Row Key1="Map" Key2="SmallContinents.lua" ParameterId="Rainfall" Name="LOC_MAP_RAINFALL_NAME" Description="LOC_MAP_RAINFALL_DESCRIPTION" Domain="Rainfall" DefaultValue="2" ConfigurationGroup="Map" ConfigurationId="rainfall" GroupId="MapOptions" Hash="0" SortIndex="250"/>
        <Row Key1="Map" Key2="SmallContinents.lua" ParameterId="SeaLevel" Name="LOC_MAP_SEA_LEVEL_NAME" Description="LOC_MAP_SEA_LEVEL_LOW_DESCRIPTION" Domain="SeaLevel" DefaultValue="2" ConfigurationGroup="Map" ConfigurationId="sea_level" GroupId="MapOptions" Hash="0" SortIndex="260"/>
        <Row Key1="Map" Key2="SmallContinents.lua" ParameterId="Resources" Name="LOC_MAP_RESOURCES_NAME" Description="LOC_MAP_RESOURCES_DESCRIPTION" Domain="Resources" DefaultValue="2" ConfigurationGroup="Map" ConfigurationId="resources" GroupId="MapOptions" Hash="0" SortIndex="270"/>
        <Row Key1="Map" Key2="SmallContinents.lua" ParameterId="StartPosition" Name="LOC_MAP_START_POSITION_NAME" Description="LOC_MAP_START_POSITION_DESCRIPTION" Domain="StartPosition" DefaultValue="2" ConfigurationGroup="Map" ConfigurationId="start" GroupId="MapOptions" Hash="0" SortIndex="280"/>
    </Parameters>

It's not as easy as it was in Civ 4-5 or BE where you could just define the map options within the map script itself which is a shame since overriding those on a per map basis was much easier the old way. You still control what effect those settings have on the map within the map script but it's much harder to do things like add unique climate options for your map script.
 
I noticed there are some Database errors related to Map.xml and MapScript.xml in the database.log. I was looking for errors regarding a gamespeed mod I am/was trying to get working and came across them.
 
Sorry guys, I had to do "quality family time" with the in-laws :)

That punishment is over so let me take a look and see what's going on.
 
I noticed there are some Database errors related to Map.xml and MapScript.xml in the database.log. I was looking for errors regarding a gamespeed mod I am/was trying to get working and came across them.
Which errors do you see? I just fired up a game using both Continents and Small Continents and I don't see any errors.

Make sure you delete the mod's folder and re-install the latest version, just in case something old is lingering in there.
 
what about for those of us who cannot see the small continents option?
 
[1016462.816] [Configuration] ERROR: no such column: GridWidth
[1016462.816] [Configuration]: In Query - UPDATE Maps SET "GridWidth" = ? WHERE "MapSizeType" = ?;
[1016462.816] [Configuration] ERROR: Database::XMLSerializer (Maps.xml): There was an error executing the update statement! See Database.log for details.
[1016462.816] [Configuration]: In XMLSerializer while updating table Maps from file Maps.xml.
[1016462.816] [Configuration] ERROR: Database::XMLSerializer (MapScripts.xml): 'Row' or 'Delete' expected, got 'Maps'.
[1016462.816] [Configuration]: In XMLSerializer while updating table Maps from file MapScripts.xml.

Them.
 
V2 Removed the log errors, but now I am in same boat as others, Script is not showing up.

EDIT:
AH! Your modinfo is still tryign to load it into Gameplay Database not Configuration Database :)

EDIT 2:

Needs to be like this:-
Code:
   <Settings>
       <Custom id="LargerWorldsSetting">
           <Properties>
               <Name>LOC_LARGER_WORLDS_COMPONENT_NAME</Name>
           </Properties>
           <Items>
               <File>Maps.xml</File>
               <File>MapScripts.xml</File>
               <Component>LargerWorldsImport</Component>
           </Items>
       </Custom>
   </Settings>
 
   <Components>
       <ImportFiles id="LargerWorldsImport">
           <Items>
               <File>Maps/Continents.lua</File>
               <File>Maps/SmallContinents.lua</File>
               <File>Maps/Utility/AssignStartingPlots.lua</File>
               <File>Maps/Utility/MountainsCliffs.lua</File>
           </Items>
       </ImportFiles>
   </Components>

Doing this though returns the errors. Atleast I can play it though :)
 
Last edited:
This is enough to drive you crazy :)

I was seeing no DB errors and loading the map fine using the latest file from here. You were loading it fine using your first posted modinfo change and then it stopped working until you added the "
<Component>LargerWorldsImport</Component>" line to the modinfo (which wasn't in there before). Other people can't get the small continents to show up at all.

I'm going to try to rebuild the mod and modinfo from scratch to get this all working right again. What a pain :)
 
I found the issue. Maps.xml does have to be an UpdateDatabase in Components.
MapScripts.xml has to be in Settings. There are 2 mistakes in this file, you have : <Maps/> and <GameInfo/> as closing tags, the / in in the wrong place, </Maps> and </GameInfo> is how it should be. (I did not see it untill I imported the files into Modbuddy(Civ 5 SDK)).
The modinfo should look like this:-
Code:
<?xml version="1.0" encoding="utf-8"?>
<Mod id="f0092e45-6a2d-4ae8-815d-b9de171a9cad">
   <Properties>
       <Name>LOC_LARGER_WORLDS_NAME</Name>
       <Stability>Alpha</Stability>
       <Teaser>LOC_LARGER_WORLDS_TEASER</Teaser>
       <Description>LOC_LARGER_WORLDS_DESCRIPTION</Description>
       <Authors>LOC_LARGER_WORLDS_AUTHORS</Authors>
       <SpecialThanks>LOC_LARGER_WORLDS_SPECIAL_THANKS</SpecialThanks>
   </Properties>
    <Dependencies />
    <References />
    <Blocks />
   <Settings>
       <Custom id="LW_Setting">
           <Items>
               <File>Configuration/MapScripts.xml</File>
           </Items>
       </Custom>
   </Settings>
 
   <Components>
       <ImportFiles id="LW_Import">
           <Items>
               <File>Maps/Continents.lua</File>
               <File>Maps/SmallContinents.lua</File>
               <File>Maps/Utility/AssignStartingPlots.lua</File>
               <File>Maps/Utility/MountainsCliffs.lua</File>
           </Items>
       </ImportFiles>
       <UpdateDatabase id="LW_Component">
           <Properties>
               <Name>LOC_LARGER_WORLDS_COMPONENT_NAME</Name>
           </Properties>
           <Items>
               <File>Gameplay/Maps.xml</File>
           </Items>
       </UpdateDatabase>
   </Components>
 
   <LocalizedText>
       <Text id="LOC_LARGER_WORLDS_COMPONENT_NAME">
           <en_US>Larger Worlds</en_US>
       </Text>
       <Text id="LOC_LARGER_WORLDS_AUTHORS">
           <en_US>Evil Victor (Seven05)</en_US>
       </Text>
       <Text id="LOC_LARGER_WORLDS_SPECIAL_THANKS">
           <en_US>Mom</en_US>
       </Text>
       <Text id="LOC_LARGER_WORLDS_DESCRIPTION">
           <en_US>Modified world sizes in line with Civ 5 values. Small, standard, large and huge sizes have all be increased. Starting locations are now seperated based on the world size, not a fixed value and games with fewer than the default number of players scale with world size as well. Continental maps have slightly more water to keep the ratio of usable land per player closer to the default value, other map types have not been altered.</en_US>
       </Text>
       <Text id="LOC_LARGER_WORLDS_TEASER">
           <en_US>Modified world sizes.</en_US>
       </Text>
       <Text id="LOC_LARGER_WORLDS_NAME">
           <en_US>Larger Worlds</en_US>
       </Text>
   </LocalizedText>
 
   <Files>
       <File>Gameplay/Maps.xml</File>
       <File>Configuration/MapScripts.xml</File>
       <File>Maps/Continents.lua</File>
       <File>Maps/SmallContinents.lua</File>
       <File>Maps/Utility/AssignStartingPlots.lua</File>
       <File>Maps/Utility/MountainsCliffs.lua</File>
   </Files>
</Mod>

I only changed the ID Text incase that was the issue, before I checked your xmls, the way you had it should be fine. I restructured it, incase that was an issue too but again the way you had it should be fine. Process of elimination and all that :)

EDIT:

Adding the parameters back works fine too:-
Code:
<?xml version="1.0" encoding="utf-8"?>
<GameInfo>
   <Maps>
       <Row File="SmallContinents.lua" Name="Small Continents" Description="Small Continents" SortIndex="5"/>
   </Maps>
   <Parameters>
       <Row Key1="Map" Key2="SmallContinents.lua" ParameterId="WorldAge" Name="LOC_MAP_WORLD_AGE_NAME" Description="LOC_MAP_WORLD_AGE_DESCRIPTION" Domain="WorldAge" DefaultValue="2" ConfigurationGroup="Map" ConfigurationId="world_age" GroupId="MapOptions" Hash="0" SortIndex="230"/>
       <Row Key1="Map" Key2="SmallContinents.lua" ParameterId="Temperature" Name="LOC_MAP_TEMPERATURE_NAME" Description="LOC_MAP_TEMPERATURE_DESCRIPTION" Domain="Temperature" DefaultValue="2" ConfigurationGroup="Map" ConfigurationId="temperature" GroupId="MapOptions" Hash="0" SortIndex="240"/>
       <Row Key1="Map" Key2="SmallContinents.lua" ParameterId="Rainfall" Name="LOC_MAP_RAINFALL_NAME" Description="LOC_MAP_RAINFALL_DESCRIPTION" Domain="Rainfall" DefaultValue="2" ConfigurationGroup="Map" ConfigurationId="rainfall" GroupId="MapOptions" Hash="0" SortIndex="250"/>
       <Row Key1="Map" Key2="SmallContinents.lua" ParameterId="SeaLevel" Name="LOC_MAP_SEA_LEVEL_NAME" Description="LOC_MAP_SEA_LEVEL_LOW_DESCRIPTION" Domain="SeaLevel" DefaultValue="2" ConfigurationGroup="Map" ConfigurationId="sea_level" GroupId="MapOptions" Hash="0" SortIndex="260"/>
       <Row Key1="Map" Key2="SmallContinents.lua" ParameterId="Resources" Name="LOC_MAP_RESOURCES_NAME" Description="LOC_MAP_RESOURCES_DESCRIPTION" Domain="Resources" DefaultValue="2" ConfigurationGroup="Map" ConfigurationId="resources" GroupId="MapOptions" Hash="0" SortIndex="270"/>
       <Row Key1="Map" Key2="SmallContinents.lua" ParameterId="StartPosition" Name="LOC_MAP_START_POSITION_NAME" Description="LOC_MAP_START_POSITION_DESCRIPTION" Domain="StartPosition" DefaultValue="2" ConfigurationGroup="Map" ConfigurationId="start" GroupId="MapOptions" Hash="0" SortIndex="280"/>
   </Parameters>
</GameInfo>
 
Last edited:
Thanks for sorting that out for me. Hopefully the mod tools will make this part easier. The code should be the hard part, not the mod file :)

I have a few more hours of work yet, I'll get eveything straightened out and uploaded after I get home.
 
Top Bottom