By "scenario generator" I mean some code that will automatically place cities and infrastructures (improvments, roads, districts, ...) on any map using rules and some global settings (set on the setup screen) or civ-specific settings (set in XML/SQL files)
I'm currently developing a test version, my goal is to have the ability to quickly create a game (or a base for a hand-made scenario using the WB) with a pre-set world, either with small settlements and still space to expand (thinking Anno Domini for @Rob (R8XFT) or @SeelingCat maybe ?) or a full modern "what if" world (using the "Relive World Wars" by @Allein, the "Modern Basic Civilizations", or other modern world mods), or, why not, fantasy mods on related maps (GoT,...)
It should be able to work on fully random maps (expanding from Starting Positions), on YnAMP's Terra Map (from random positions or using relative "TSL"), on any classic TSL map (expanding from the TSL, or using a city map when it exists by cross-referencing the City Names list for a Civilization), or any fixed map (with TSL or not) using one of the previous methods with an additional "import" method (from a placement table with coordinates)
Here are some of the variables that I plan to use (either globally from the setup screen or civ-specific from a XML or SQL file) and are mostly coded in:
- City placement type: "generated" (ie based on plots "fertility", weighted with distance from capital), "city map" (for maps that support real position naming), "import" (for maps that have a placement table with coordinates) or "mixed" ("import" first if available, then use "city map" then use "generated" until there is no positions available or the max number of cities is reached)
- Max number of cities ("max" because you may get less depending on the available space on the map), including City-States (a "City-state" may control multiple cities this way, but you'll have to give it a city name list...)
- Capital size
- Other Cities size (with an option to decrement it so that first placed cities are bigger than the last placed)
- Borders type: "none" (only first ring around cities is owned), "expand" (looping on all cities, from city center, one ring further per loop, until a max distance is reached or when there is no free territory left on the last tested ring)
I do plan to add similar options for infrastructures (improvments, roads, railroads, buildings, disctricts per cities, ...) either using fixed values or calculated values in relation to a city size.
The way I'd like to code it, I should be able to create a single scenario mod with just a config row and and a city list for each Civilizations (without coordinates) that the scenario generator could use on multiple YnAMP maps (Terra, Giant Earth, Largest Earth Custom or cropped regions of the last two)
I plan to allow multiple rows for Civilization settings (num cities, etc...), one for each Era, so that such a scenario data would generate more or less developped Civilizations depending on the era you start in (think of a Historical Spawn Date mod without the need to wait 350 turns before playing as the USA)
So while I'm still on the design/early coding, I'd like to know if there is an interest in such a tool (or if I'll be the only one using it), and what you'd like to see in it.
I'm currently developing a test version, my goal is to have the ability to quickly create a game (or a base for a hand-made scenario using the WB) with a pre-set world, either with small settlements and still space to expand (thinking Anno Domini for @Rob (R8XFT) or @SeelingCat maybe ?) or a full modern "what if" world (using the "Relive World Wars" by @Allein, the "Modern Basic Civilizations", or other modern world mods), or, why not, fantasy mods on related maps (GoT,...)
It should be able to work on fully random maps (expanding from Starting Positions), on YnAMP's Terra Map (from random positions or using relative "TSL"), on any classic TSL map (expanding from the TSL, or using a city map when it exists by cross-referencing the City Names list for a Civilization), or any fixed map (with TSL or not) using one of the previous methods with an additional "import" method (from a placement table with coordinates)
Here are some of the variables that I plan to use (either globally from the setup screen or civ-specific from a XML or SQL file) and are mostly coded in:
- City placement type: "generated" (ie based on plots "fertility", weighted with distance from capital), "city map" (for maps that support real position naming), "import" (for maps that have a placement table with coordinates) or "mixed" ("import" first if available, then use "city map" then use "generated" until there is no positions available or the max number of cities is reached)
- Max number of cities ("max" because you may get less depending on the available space on the map), including City-States (a "City-state" may control multiple cities this way, but you'll have to give it a city name list...)
- Capital size
- Other Cities size (with an option to decrement it so that first placed cities are bigger than the last placed)
- Borders type: "none" (only first ring around cities is owned), "expand" (looping on all cities, from city center, one ring further per loop, until a max distance is reached or when there is no free territory left on the last tested ring)
I do plan to add similar options for infrastructures (improvments, roads, railroads, buildings, disctricts per cities, ...) either using fixed values or calculated values in relation to a city size.
The way I'd like to code it, I should be able to create a single scenario mod with just a config row and and a city list for each Civilizations (without coordinates) that the scenario generator could use on multiple YnAMP maps (Terra, Giant Earth, Largest Earth Custom or cropped regions of the last two)
I plan to allow multiple rows for Civilization settings (num cities, etc...), one for each Era, so that such a scenario data would generate more or less developped Civilizations depending on the era you start in (think of a Historical Spawn Date mod without the need to wait 350 turns before playing as the USA)
So while I'm still on the design/early coding, I'd like to know if there is an interest in such a tool (or if I'll be the only one using it), and what you'd like to see in it.