1. We have added a Gift Upgrades feature that allows you to gift an account upgrade to another member, just in time for the holiday season. You can see the gift option when going to the Account Upgrades screen, or on any user profile screen.
    Dismiss Notice

Gedemon's Civilization, development thread

Discussion in 'Gedemon's Civilization, a total overhaul project' started by Gedemon, May 7, 2017.

  1. Gedemon

    Gedemon Modder Moderator

    Joined:
    Oct 4, 2004
    Messages:
    9,460
    Location:
    France
    Important update on gitHub (complete unbalance is expected, need feedback)
    Code:
    - add very crude migration mechanism (from city to city plots only, based on employment values)
    - tweak employment values for buildings
    - update PlotTooltip UI to show employment, population values and effect on collected resources for each plots
     
  2. Gedemon

    Gedemon Modder Moderator

    Joined:
    Oct 4, 2004
    Messages:
    9,460
    Location:
    France
    Small update
    Code:
    - balance: use part of rural population values for city growth (no growth on plot planned yet for performance)
    - bug fix: show correct population value for next city size in city banner
     
  3. Gedemon

    Gedemon Modder Moderator

    Joined:
    Oct 4, 2004
    Messages:
    9,460
    Location:
    France
    New update
    Code:
    - add initial map population on plots
    - tweak building production values
    - tweak max percentage of migrant per turn
    - add Wooden Hull to FontIcons
    - remove promotion from experience (temporary, looking for replacement)
    
     
    Knasp likes this.
  4. Gedemon

    Gedemon Modder Moderator

    Joined:
    Oct 4, 2004
    Messages:
    9,460
    Location:
    France
    New update
    Code:
    - implement migration from plot to plot based on food, employment, population, movement cost
    - add new manufactured resource "Wood Plank" created from Wood by the Carpenter building, used for Wooden Hulls and early Siege Units (Catapult, Trebuchet)
    - tweak down Central Square resource production rate
    - tweak down equipment stock
    - tweak improvement placement rules, add some unique improvement to the global list
    We now have migration from cities to their own plots, based on employment values of the plot (depending of the number of exploitable resource, that may grow with improvement) and plot to plot migration (owned or not) based on available food, employment and population support ATM. Threats (and protection) still need to be added. Migration is not linked yet to the Culture Groups values of the plots, that's in the to do.

    Food is relative to the city consumption for owned plots (the city requisitions food on all plots then redistribute it) and population support (food yield, exploitable food resources, appeal) for free plots.

    Still need to code city to city migration (following known routes), plots to owning city migration and movement away from moving armies.

    The migration code is taking 2-3 seconds per turn on an Enormous map, not tested on Giant yet, but it's already a bit too much (even if it shouldn't scale with later era as the number of calculations should not change, well, until culture groups influence is added), so I've not implemented birth/death calculation on each plots, it's done only during each city turn, but resulting numbers of birth/death are calculated using total (rural+urban) population.

    For reference no crash during a 250 turns play test on a dual map, and two (edit : turn 178) on a play test on an enormous Terra map (could continue from last autosave from the mod), no units desynchs on first test, 2-3 already on the second test.

    The early game dynamic has changed a lot, with early city growing more slowly, but new cities growing faster in later eras as the plots have gained population migrating away from the previous cities.

    The production factor is ATM only based on the relation between employment and population. While employment values change with eras (the formula provide more employment per resource exploitable on a plot and less employment per buildings in cities at the beginning of the game, and the inverse at the end of the game), I still need to add a varying factor for the produced/extracted resource, lower in early era, bigger in later era, with the bigger change (both for employment formula and production factor) happening at the industrial revolution time.

    For a simple example, not based on actual values, a plot with 2 resource of Iron should provide employment for 5000 miners in the early game who will extract (2 Iron * small production factor = 2 Irons * plot size) when there is enough population to fill the job on the plot, and the same plot should provide employment for 500 miners in the late game who will extract (2 iron * large production factor = 8 irons * plot size)

    "Plot size" is a representation of the total population on the plot, based on the same formula to calculate city size from it's population:
    population = math.pow(size, 2.8) * 1000)

    We're still not there yet, but the balancing factor to prevent a runaway civ to fly away directly to the Moon/Mars when reaching the industrial revolution may have to be linked somehow to social instability from population boom. Feel free to start discussing it (or point me to such discussion if you remember some in the suggestions forum) already.
     
    Last edited: Sep 23, 2018
    Knasp likes this.
  5. Gedemon

    Gedemon Modder Moderator

    Joined:
    Oct 4, 2004
    Messages:
    9,460
    Location:
    France
    Ho, funny thing, so when you settle a new city on a size 6 plot, you get immediately a size 6 city on that plot, as the plot population is merged with the city population.

    Of course as the city has no infrastructure, a lot of people will migrate out of it in the following turns, but they're not lost (well except the poor souls that will starve in the process) as they will fill the surrounding area, raise the production factor there, and are still part of the total population for the city birth values.
     
    Knasp likes this.
  6. Gedemon

    Gedemon Modder Moderator

    Joined:
    Oct 4, 2004
    Messages:
    9,460
    Location:
    France
    Small balance pass
    Code:
    - balance : tweak small stable Horse conversion
    - balance : use City's OutputPerYield value for sea resources collection
    - balance : City population loss (when deathRate > birthRate) is shared between all City's plots, while population growth (when deathRate < birthRate) is applied only on the City itself (to compensate the lack of migration into cities yet)
    - balance : don't remove too much population at once (make sure a City can only lose one size from migration)
    - balance : raise early employment Pow value for Cities
     
    Last edited: Sep 23, 2018
    Knasp likes this.
  7. Knasp

    Knasp Warlord

    Joined:
    Sep 10, 2011
    Messages:
    266
    I'd suggest changing the name from "Wood plank" to "Timber", since the word timber encompasses planks and beams (for construction) and excludes wood that is used for fuel. If you want to add the use for fuel you could call that resource "Wood fuel" or "Firewood".
     
    1SDAN and Gedemon like this.
  8. Knasp

    Knasp Warlord

    Joined:
    Sep 10, 2011
    Messages:
    266
    When settling a new city in an already populated area you should face the problems of dealing with a hostile/resistant population or at the very least unwilling subjects.

    I don't recall which approach to tile ownership you preferred, but if you're going by "cultural majority", then you need 51% of your own Civs' culture to control the plot. Then settling a new area should only give you control of the city plot.
    Alternatively or additionally, the settling population could/should force an equivalent number of natives to emigrate. I mean, the settlers are basically stealing the natives land to build their city.

    To hinder run-away Civs, who would be easily settling and conquering the world. Settling or conquering plots with people of other cultures/on other continents/climates/ethnicity/tech level/cvics and so on should increase corruption and local dissent.

    The likelyhood of rebellions and other resistance should skyrocket the more different your Civ is to the people that are being subjugated And the farther away those plots are to your capital. Even if the peoples don't take up arms, the player should see a decrease in taxation and resource extraction efficiency.

    Fielding a huge army that is spread out more and more and further way from the capital should be costly. And if your colonies aren't giving you enough tax and resources, then logistics and upkeep should become a real burden. The farther away a colony is from your capital, there should be a greater pressure for independence (in general).

    To sum up, it should be really difficult (if not impossible) to conquer and dominate the world in the pre-industrial era. Before effective handguns (19th century) the colonial powers needed a lot of soldiers in order to occupy and pacify populations. Sure, the Mongols conquered a lot, but they mostly let the people in power stay in power. They generally didn't force people to change religion or language. Maybe you should be able to suzerain entire Civs? Or at least those Civs should be able to reappear once the Mongol empire breaks apart.

    Another way to see it is that the more deadly and effective the handheld weapons become, the easier it becomes to subjugate people. On the other hand, if the rebels aquire modern weapon of their own, then you can't count on keeping them suppressed.
     
    Last edited: Sep 24, 2018
  9. Gedemon

    Gedemon Modder Moderator

    Joined:
    Oct 4, 2004
    Messages:
    9,460
    Location:
    France
    Yes, hopefully the culture groups mechanism will prevent snowballing from conquest, even after the Industrial Revolution, but I was more thinking about "peaceful" snowballing after it.

    With the massive boom for all yields that will benefit the first Civilization that triggers the Industrial Revolution, how to prevent that civ to run away from the others immediatly (and definitly) ?

    Maybe the tech that triggers the industrial revolution should be a choke point in the tech tree, and all later techs (and equipment for units allowed by that tech) should cost much higher, proportionnaly to the bonus in yields without being (for the first ones) massively OP compared to the previous techs units for example. Same for before/after buildings.

    And the previous units equipment production line should not benefit from the industrial revolution (so that you can't output dozen of them each turn), so I'd have to implement a mechanism to prevent that (currently a city size affect the production output of each resources/equipment)

    That way we could simulate the massive expansion of cities during the industrial revolution, but at the same time it would be a requirement to afford the techs/units/buildings that follows it.

    Another possibility is that the Industrial Revolution is not triggered by a tech, but by a global situation that is triggered for all civs at the same time (or a tech that is very quickly spread between civilizations in contact)

    Or as my initial thought, a kind of social instability from population growth that the first Civilizations reaching the Industrial Revolution will have to face (with an effect that fade when more civilizations triggers it)
     
    Knasp likes this.
  10. Gedemon

    Gedemon Modder Moderator

    Joined:
    Oct 4, 2004
    Messages:
    9,460
    Location:
    France
    Update on gitHub
    Code:
    - balance : reduce city population food consumption
    - balance : add "PlotOutputFactor" raising with Era (jumping at Industrial Era)
    - bug fix : do not count players without cities when calculating the game's "average" Era
    
     
    Knasp likes this.
  11. Knasp

    Knasp Warlord

    Joined:
    Sep 10, 2011
    Messages:
    266
    I think this can be solved nicely thanks to your mod design. I mean, the industrial era as it's represented in vanilla civ6 is very generic and abstract.

    To start with you have the causes of industrialisation, like the population boom (surplus food production), insatiable demand for textiles (at home and abroad).
    And then if you look at the specific inventions and innovations, some of them increased extraction speed (raw material yields). Other inventions increased processing speed. Others allowed using new fuel and power sources. Other inventions increased fuel use efficiency. Don't have time to go into the specifics right now, but you could definitely use mechanics in the mod to balance the industrialising Civ's advantages.

    Going back to the military side. Another thing to consider is the conservatism and incompetence in military leadership which has hindered the effective use of new technology, especially until post-ww2.
     
    Last edited: Sep 26, 2018
    Gedemon likes this.
  12. Gedemon

    Gedemon Modder Moderator

    Joined:
    Oct 4, 2004
    Messages:
    9,460
    Location:
    France
    Apart from the textile industry, which are the big supply chains that should be represented in the mod (and including the textile industry, anyone would like to work on supply "trees", ie raw material -> intermediate -> final)

    I'd prefer to not add too many resources to the vanilla list on the map, and I will not use DLC/Expansion resources, but a few from the available mods are not excluded, if they are important enough for the supply chain of an industry (thinking of rubber for example and bringing again the need for a resource implantation mechanism from one location to another)

    Outside the map (ie not raw material) there is no limit.
     
  13. myclan

    myclan Prince

    Joined:
    Feb 26, 2008
    Messages:
    584
    Sorry I'm new here. I have played the WWII mod in CiV and found the concept of personnel/material really interesting.
    In Civ6 many mechanism like district prebuild/Magnus chop/Chopping overflow really destroyed the game so I abandoned the game for almost 1 year.
    But now I found this great mod and it make me want to enjoy Civ6 again. Thank Gedemon for this great mod!

    Unluckily I seemed to get stuck in the early game. I tried to grow my city but the size was still 1 though the population of the city had already reach about 40000. So how to grow my city?
    I had built a stonemason to try to get more material. But in my size 1 city it only provide about 5 stone per turn, and it is far from enough to get enough material, and I just got stuck in building anything, is it normal?
    It seems that unit can get food from the tile it is on to supply itself. So supply line from the city mainly have a influence on the speed of healing?
    Thanks for any answering
     
    Last edited: Sep 26, 2018
  14. Gedemon

    Gedemon Modder Moderator

    Joined:
    Oct 4, 2004
    Messages:
    9,460
    Location:
    France
    thanks !

    City growth is very slow at the beginning (that's new with the implementation of rural population and migration), if you've settled on a low population area your new citizen will fill the land around the city first, then when there will be enough total population (rural+urban), the growth rate in the city will be higher than the migration (out of the city) rate.

    The plot tooltip shows the population (and the output factor from that population and the available employment on the plot), you may want to settle near high population tiles (but not on them), as they will provide a high growth rate to your city (if you have enough housing and food, that is shown on the city banner tooltip, over the city size)

    For materiel production in the early game, this thread may help:
    https://forums.civfanatics.com/threads/tips-for-the-early-game.636431/

    yes, but late game units (more personnel) can't find enough food on the land.
     
  15. Knasp

    Knasp Warlord

    Joined:
    Sep 10, 2011
    Messages:
    266
    There are so many resources to consider, but I've made an attempt to sumarise some important resources (and innovations) for each Era below. Note that this is only a prelimenary list but it should point out some general trends. I've attempted to add some ">" to point out possible resource "stages"/refinement. One suggestion would be to rename the "Wheat" resource to "Cereals" or "Grains", since then it could include species like Barley, Rye, Oats, Sorghum, Millet etc. I've only listed plant resources that are important staple foods today or which had other important uses, like making clothes and sail canvases.

    Ancient Era:
    Sheep > Wool (yarn) > Woollen textiles (Eurasia)
    Sheep > Sheepskin > Leather (Eurasia)
    Sheep > Food (Eurasia)
    Cattle > Hides > Leather (Eurasia)
    Cattle > Food (Eurasia)
    Wheat > Flour (Requires grinding) > Bread (this conversion goes for other Cereals/grains as well)
    Bananas (Plantains or cooking bananas) - (South East Asia)
    Salt > Food conservation
    Stone (Tools, buildings, monuments etc)
    Forests (feature) > Wooden logs > Timber (construction), Firewood (fuel), Tools
    Forests (feature) > Wooden logs > Charcoal (About 50% yield from input, important metallurgical fuel)
    Copper ore > Copper (Requires fuel for smelting) > Bronze (Requires 12% Tin and Charcoal)
    Cotton > Cotton yarn > Cotton textiles (Clothing, Sailcloth) - (Peru & Indus Valley Civ)
    Sugarcane juice (SE Asia)
    Coal > Fuel (household use)

    Not in Civ6
    Maize (America)
    Potatoes (America)
    Soybeans (Asia)
    Sweet potatoes (America)
    Yam (W. Africa and SE Asia)
    Sorghum (NE Africa)
    Millet (Worldwide importance, cereals, fodder, alcohol)
    Flax > Linen > Linen textiles (Clothing, sailcloth)
    Hemp > Hemp fibers > Rope, Hemp textiles (Sailcloth, clothing)
    Tin ore > Tin (Requires fuel) > Bronze (Requires 7.3 x Copper input and Charcoal)
    Pottery > Glazed pottery, Stoneware etc (Requires Lead/Tin/Salt/Ash/etc)
    • Classical Era:
    Cotton (Middle East, China)
    Horses - horse archery, cavalry (Eurasia)
    Elephants - draft animals and war elephants (India)
    Iron ore > Sponge iron (Requires Bloomery furnace and Charcoal) > Wrought iron (Requires a lot of hammering)
    Iron ore > Cast iron (Requires Blast furnace and Charcoal) - (China & India & Sri Lanka)
    Cast iron > Crucible Steel (Requires Wrought iron and Charcoal) - (India & Sri Lanka)
    Rice (New varieties start to make rice more important in China)
    Sugarcane > Crystallized sugar (India)
    Grains (Like Wheat) > Flour (More efficient grinding by using waterwheels)
    Iron ore > Iron nuggets (Waterpowered trip-hammers, more efficient way to crush mineral ores and extract pieces for further processing).
    • Medieval Era:
    Horizontal windmills (Used to grind grain or draw up water, Persia)
    Niter > Gunpowder (Requires Sulfur and Charcoal, China)
    Cotton textiles (Imported to Europe)
    Wool industry (Europe)
    Crucible steel (Technique spreads first to Middle East and then to Europe)
    Vertical windmills (Grinding grain, Europe)
    Horses > Draft animals (Important for agriculture, replaced Oxen, Europe)
    Bronze cannons (Iron too brittle) - (First China, then spread across Eurasia)

    Not in Civ6
    Cassava (America)
    • Renaissance Era:
    Old-world species brought to Americas (Cattle, Sheep, Horses, Wheat, Bananas, Sugarcane, Coffee etc)
    American species brought to Old-world (Cocoa etc).
    Coal > Fuel (Deforestation increased demand)
    Cast iron > Iron cannons (slow but increasing use of iron for cannons)
    Large-scale Charcoal production could reach 90% efficiency (10% loss of input wood).

    Not in Civ 6:
    American species brought to Old-world: Maize, Potatoes, Sweet potatoes, Cassava
    • 1700-1800:
    Raw cotton > Cotton (yarn) > Cotton textiles (British inventions increased efficiency of production despite importing the raw materials)
    Coal > Coke (Alternative to Charcoal, needed due to deforestation)
    Iron ore > Cast iron (Coke-fired blast furnace, England)
    Crude Oil > Lamp oil (Increasing demand).
    First steam engines (Firewood, Coal) used for pumping water out of mines.
    Blister steel (Not cast iron) > Crucible Steel (Huntsman's technique improves efficiency of high-quality steel production, but not enough for artillery).
    • 1800-1850:
    Whales > Whale oil (Lamp oil)
    Coal > Lamp oil (Kerosene, Paraffin, alternative to Whale oil)
    Crude Oil > Lubricating oil, Lamp oil (Carbon oil)
    Steam power > First Steam locomotives (Transport & Trade)
    Coke more efficient fuel than Charcoal (IIRC)

    Not in Civ6
    Tin (and Lead) > Tin can > Canned food (Food preservation, important for army logistics)
    Sand > Glass jar (Requires fuel for melting) > Canned food (see above)
    • 1850-1900:
    Cast iron > Steel (Bessemer process: Steel finally becomes cheap to massproduce, which leads among other things to casting entire cannons of steel, "ironclad" ships, steel railways & bridges, etc)
    Steel cannons were now possible to cast in one piece which allowed effective rifling (Longer range, accuracy).
    Cavalry increasingly vulnerable to modern weaponry (Military leadership is conservative though)
    Steam turbines > Hydroelectricity (Electricity generation along rivers)
    Internal combustion engines invented, which allowed the use of oil to power machinery. More powerful than steam engine.

    Not in Civ 6:
    Rubber > Vulcanized Rubber (Requires Sulfur, used for bicycle tires etc)
    • 1900-1950:
    Crude Oil > Motor oil (Exceeded Kerosene as predominant commercial end-use for Petroleum)
    Aluminum increasingly demanded for airplane construction
    Coke and Petroleum reduced/supplanted the need for Wood fuels (Like Charcoal).

    Not in Civ 6:
    Vulcanized Rubber > Vehicle tires (Increased demand for automobile industry)
    • 1950-2000:
    Oil quickly overtakes Coal as world's foremost fuel
    Uranium ore > Yellowcake > Nuclear fuel, Enriched Uranium
     
    Last edited: Sep 27, 2018
    Gedemon and 1SDAN like this.
  16. mbaratta83

    mbaratta83 Chieftain

    Joined:
    May 15, 2012
    Messages:
    39
    Some thoughts on a couple games I've played so far.
    First, about food consumption and population growth. I started a game using the update posted on August 23, and enjoyed a game where I had to conscientiously balance the housing I built with the food rationing that resulted from population growth that was too fast. With the balance tweaks that "reduce city population food consumption" from the update that came out yesterday, however, my cities soon never have a problem of running low on food and having population die from rationing. The only functional limit to growth essentially becomes housing. In sum, there is quite a contrast between the two versions, and I think a tweak to raise city population food consumption a little might hit the sweet spot and restore that enjoyable meta game of finding balance.
    Next, about money management, especially in regards to unit reinforcement costs. I've found the best way to keep my debt under control (or even stay in the black some games) until large exportation taxes start rolling in is to not build blacksmiths/armories for a very long time, even past the point where spearmen are obsolete and I can't build any melee units (because I'm not producing swords and pikes with which to equip them). When I finally build the blacksmiths, costs increase sharply as all the spearmen upgrade to swordsmen and pikemen; it gets even worse once muskets are available, especially while in the middle of the previous upgrades . I think in order to have a little more control over when the army upgrades I would remove the ability to produce muskets from the blacksmith, allowing the essential move up to swordsmen/pikemen, while waiting for when I feel is the right time (by delaying the building of foundries) to make the next move to gunpowder units.
     
    Knasp and Gedemon like this.
  17. Gedemon

    Gedemon Modder Moderator

    Joined:
    Oct 4, 2004
    Messages:
    9,460
    Location:
    France
    Agreed, update
    Code:
    - balance : move Musket to Metal Casting, produced by Foundry only.
    - balance : reduce effect of (larger) city size on food consumption, added "FOOD_CONSUMPTION_SIZE_EFFECT_REDUCTION" in GlobalParameters.sql to tweak it further (was 2, now 4)
    - bug fix : Shipyard (in Harbor district) doesn't require Lighthouse anymore (as Lighthouse are limited to coastal cities only, while Harbors can be build in the 3 tiles radius)
    The food consumption function may still change a lot during development, I may integrate it in a larger framework related to population needs and consumption (and resulting effects), using something less linear.

    And yes balance is going to shift a lot, that's why I'm going to need more and more testers, even if we're still in pre-alpha phase.
     
    Last edited: Sep 27, 2018
    Knasp and mbaratta83 like this.
  18. Knasp

    Knasp Warlord

    Joined:
    Sep 10, 2011
    Messages:
    266
    I completely forgot to write about writing:

    Ancient Era:
    Papyrus (Flood plains) > Paper (N Africa, Mesopotamia)
    Sheepskin, Hides > Parchment

    Classical Era:
    Lack of Papyrus increases demand for Parchment (Greece, Near East)
    Rainforest (feature) > Amate paper (bark, America)
    Rags, Cotton, Linen, Hemp, etc > Pulped Rags > Paper (China)

    Medieval Era:
    Printing press (China)

    Renaissance Era:
    Printing press increases demand for paper (Europe)

    Industrial Era:
    Demand for paper not met by limited supply of Rags.

    1800-1850:
    Forests, Rainforests > Wood pulp > Paper (Invention of making paper from wood pulp, replaces Pulped rags)

    //Maybe I should have posted in the Resource thread instead.
     
    Last edited: Sep 27, 2018
    1SDAN and Gedemon like this.
  19. Gedemon

    Gedemon Modder Moderator

    Joined:
    Oct 4, 2004
    Messages:
    9,460
    Location:
    France
    I'll copy/move later, don't worry
     
  20. myclan

    myclan Prince

    Joined:
    Feb 26, 2008
    Messages:
    584
    Sorry for silly question
    Spoiler :

    In this picture we may see a Size 3 tile, the population of the tile is 29138/89254×3, producing 0.97 production factor, but what does activity percent 58.33 mean?
    Spoiler :

    In this picture we may see a Size 2 tile, with 12114 population, but how the production ×1.21 comes? Does it indicates the max worker is about 20023?
     
    Last edited: Sep 27, 2018

Share This Page