Gedemon's Civilization, development thread

I'm implementing the database change for the equipment and will start to code it in the mod's scripts, while making small updates on gitHub.

So, for your information, that code coming in small update is not tested, I upload it for backup in case of a failure on my computer, which means that the current version is probably not working, and won't work until every part of the equipment code is linked together...
 
Greetings! I've been in the process of starting my own modding project, since I'm longing for a more complex Civilization experience. While browsing the forums, I've found this thread (which I've now read from start to finish). It is exciting to see that you guys are having similar ideas. I'm gonna give your mod a try later today and see what I think.

Regarding Research trees, science and eras: I've conducted some scholarly (google/wikipedia ;)) research to place relevant information regarding settlements, technologies, resources, food extraction, crafting, culture etc, from about 50,000 BC - 100 AD in a timeline.
I'll gladly contribute my knowledge and/or ugly excel-sheet to help you shape that part.

//By the way, I've studied biology and geoscience. So I've got a bunch of ideas on how to change vanilla Civ's simplistic and over-generalised terrain, landscapes and features.
 
ASAP I'll try to expand a bit on the units tree as posted by Leyrann and also using R.E.D Xtended, R.E.D. WWII and Combat & Stacking Overhaul for civ5 as references, and keeping in mind that with limited stacking (when fully coded), the "rock/paper/scissor" idea is to allow a weakness to any stack.

But now, trying to put on paper the concept of multiple equipment, we could have for the basic infantry line:

| Ancient | Classical | Medieval | Discovery | Industrial | Machine | Arms Race | Atomic | Information | Future
Heavy Infantry| wood club + leather armor|swords/axes + armors (bronze and Iron) + shield (wood, leather, bronze, iron)|swords/maces + armors (steel) and Arquebus + armors (steel)|Musket|Rifled musket (Line infantry) upgrading to Rifle (Riflemen)|Repeating rifle + Combat Helmet|Automatic rifle + Combat Helmet|Assault Rifle + Combat Helmet|Assault Rifle + Connected Combat Helmet
Medium Infantry (Anti-cavalry)|spear (wood) + armor (leather) |spear (bronze and iron) + armor (leather)|Pikes (steel) + armor (leather, iron, steel)|( merging with/upgrading to heavy infantry )

As I understand it, leather armour wasn't used in any real or at least broad sense, since it's impractical, restricts movement, and doesn't offer any real protection against cutting/piercing attacks. It doesn't provide much padding, i.e. absorbing force of blows.
Spoiler Explanation :
Remember they had polished, sharp stones even before bronze and iron. And said leather would have been put to much better use in all other kinds of crafting. For example, Leather was used to make shoes, belts and particularly straps - to attach metal armour parts to your body.

In Ancient era it's more accurate to let the simplest (peasant) soldiers have no armour in the beginning. They probably started protecting themselves with shields of wood, animal hide, woven reeds or wicker. An early complement to shields (and/or metal armour) could be "armour" of woven Linen. Preferably it would be padded, to absorb concussive blows and lessen projectile impact. Linen is made from Flax, which was domesticated at latest in 8000 BC and Egypt had already established an industry in 4000 BC.
For example, Hoplites in the hellenistic (greek and macedonian) armies used linen-cloth as a basic armour, or undergarment, about 800 BC:
Spoiler :

The soldiers were free male citizens, especially middle-class, and so they had to provide their own armour.
The average farmer-peasant hoplite typically wore no armour, carrying only a shield, a spear, and perhaps a helmet plus a secondary weapon.The linothorax was the most popular type armour worn by the hoplites, since it was cost-effective and provided decent protection. The richer upper-class hoplites typically had a bronze cuirass of either the bell or muscledvariety, a bronze helmet with cheekplates, as well as greaves and other armour.

My suggestion is therefore to add the resource Flax, to be extracted and woven (refined through Weavery-building), in order to provide basic clothing and some basic form of armour.

Once a Civ aquires Copper, Bronze and later Iron, better armour becomes available for the experienced military units and wealthier middle-class recruits.

Edit: Here I was overexaggurating a bit. Even levied peasants or lower class soldiers could be equipped with some sense of effective armour, shield and weapon. Especially if the ruler had planned ahead and stockpiled the equipment (like in Ancient Egypt). Though, it has been common in history for peasant recruits to bring their own equipment of varying (often sub-par) quality.​

I want to stress the importance of social class, and that you should include the Wealth or Relative power (size) of the Middle-class into the equation. Because in many societies, the Warrior-caste/professional soldiers have been Middle-class. You can't trust slaves with weapons, or expect lower class peasants to learn effective tactics.
Officers and Knights (Charioteers/Cavalry) were more likely Upper-class.

To summarise:
When recruiting a Spearman or Hoplite:
The quality of armour should depend on the availability of Copper/Bronze/Iron, and development of Metallurgy (Furnaces/Forges/Blacksmiths) as well as the production of Linen (Breast plates like the hellenic Linothorax could be an Application the civ has to develop once they've learned Linen-working).
Of course, leather is required or useful, at least in lesser amounts, to craft shoes, belts and straps for metal armours.

So a basic Hoplite will have some kind of spear and wooden shield as minimum equipment. The wealthier the Middle-class is, in your city (or in your case their share of the population size), the better armour they will bring with them upon recruitment. As units become more experienced, they will get better armour, since they will be able to buy better armour with their spoils of war, or if the wealth/industry of the Civ has increased.
 
Last edited:
Thanks!

As the latest version may not start at all with the current changes to the equipment system that are partially implemented, I've created a v0.1-preview release on github based on a commit that was "stable", I'd suggest to download this one for testing the mod : https://github.com/Gedemon/Civ6-GCO/releases

I want to start designing a more detailed tech tree for the first era(s) so I can begin to code the proposed design, I'll try to make a post about that ASAP (maybe a separate thread for science as this will be a huge task ?)

For linen, I was planning to make it available as a resource "producted/exctracted" by buildings from the current generic "plants" resource, and part of the "clothes" resources tree.

Could also be part of the "armor" tree, now that the concept is kind of approved, I'd be happy to have suggestions.

The mod will set "equipment classes" that units will refers too when asking for resources.

For example an unit is linked to the equipment class "light_armor", another to the equipment class "armors" and another "heavy_armor"

There should be only one armor class per unit, but different armor classes could share some type of armor.

For the personnel recruitment, policies could affect the % drafted from each population class, the base values will change.
 
I'll try to put some more thoughts on the difference between a self equipped army and one with standardized equipment, suggestions on implementation are welcome.

Could be also linked to the difference between "building" an unit (multiple turns) and "buying" one directly with gold.
 
Last edited:
I want to start designing a more detailed tech tree for the first era(s) so I can begin to code the proposed design, I'll try to make a post about that ASAP (maybe a separate thread for science as this will be a huge task ?)

A separate thread or several sounds good. I'd love to help out.

I'll try to put some more thoughts on the difference between a self equipped army and one with standardized equipment, suggestions on implementation are welcome.

Edit:
Standardized equipment is a relatively modern phenomenom, as I understand it.
Here I was guilty of overstatement. There was definitely a weapons industry which stockpiled weapons and armour, in Ancient Egypt, although the most effective armies seem to have been the Hellenistic and Roman armies, where soldiers had to provide their own equipment. Gonna have to research this further, but I'm guessing that the soldiers could buy their equipment from arsenals, or from a state-sponsored industry).​

Implementation wise I'm not sure. Keeping a standing army is expensive, and you would lose growth by keeping away farmers from their homes. I guess my suggestion is the "Shortage" route. But I'm not sure if the factors below should influence the cost of the unit, or simply the unit's quality of equipment, once recruitment is finished.
The earlier would sound: "Give them the best we've got, as long as we can afford it". The latter would be: "We need more soldiers, even if we can barely equip them".
  • The current stock of the resource
  • Resource production rate - Number of citizens assigned, improvements, trading the raw/refined resource
  • Resource refinement rate - Buildings (i.e: making Bronze from Copper and Tin, etc)
  • Current army size (or the army's share of total population)
  • Amount of units recruited of the same type
While metalurgy is undeveloped and access to metals are limited, there is a limit to how many well-equipped soldiers you can equip. If you try and recruit more soldiers than your stock of Bronze/Iron is good for, then you recieve recruits with lesser quality-/without armour or quality weapons. Maybe these shortages of equipment could be mended in time, but time is of the essence when it comes to war. A mustered army costs a lot to maintain, and generally you want to end wars quickly. Not only for morale's sake...

Spoiler More thoughts on Professional army vs Strength in numbers :

As a ruler, you need a lot of absolute power/wealth, and a well functioning bureaucracy, to be able to control the details of your civilization. Which includes equipping everyone with the weapons you desire, or training everyone sufficiently, or going to war whenever you want. Industrial societies have greater capacities to achieve standardization.

In the Ancient Era to the Medieval Era at least, you could perhaps contrast a small, professional and well equipped army, with a large force of mustered peasants.

In short: Quantity (lower-class) vs Quality (middle-class)

The professional soldiers/warriors/mercenaries all have incentives to become effective at fighting, stay alive and maintain their position. They also have greater wealth to spend, due to their social status and position. Famers and labourers have less to gain by war (maybe nothing), and less wealth to purchase equipment.

And even if the ruler has wealth and resources to equip poorer soldiers directly, then he risks upsetting the Upper- and Middle-classes, by spending those resources on anyone but them (reducing their loyalty and their willingness to coup).

Note: Whilst equipping everyone was expensive, it might not have been a societal problem. Still, undisciplined levied peasants was not as effective as trained middle class (professional) soldiers.

In consequence: the Ruler may order the mustering of certain units and demand his subordinates to recruit armies of certain compositions (i.e. "I require X cavalry, Y archers, Z spearmen, also siege engines, ships for transport and logistics to sustain them).
But the quality of troops, that the Commanders then recieve, could very well be disastrous.

Could be also linked to the difference between "building" an unit (multiple turns) and "buying" one directly with gold.
Buying with gold could actually net you a better unit, if it is a mercenary. Professional soldiers would surely demand higher wages than peasants, and therefore require higher upkeep costs?

Spoiler Sidenote :
I actually tried making a mod where all military units needed to be purchased, becuse I wanted to try to separate building/construction/city projects from the military aspect of CivVI (and thereby allowing the player(s) and AI to field units and develop their cities simultaneously). However the cost(s) of recruitment needed to be reduced and upkeep needed to be raised. Whenever someone attacked, you could recruit an army quickly, but you were limited to buying 1 unit per turn, per city. I even experimented with having military units costing population when recruited, becuase I reasoned that there would be less people working in the city and farms. The biggest downside was that I didn't know how to add the ability to disband the unit, and return the population. Also the A.I. would have low population in their cities due to constantly spamming out units, to counter Barbarians.
 
Last edited:
@Knasp -- nice write-up.

As I've posted prior, agree on the need for Copper (abundant) /Tin (rare), and their combination to make bronze, to better reflect antiquity.

Like your thoughts on flax. I'd always taken cotton (much as with stone, etc.) as the generic for weave-able materials. However, if others (such as flax) do not grow in the proper regions, this would cause problems. Points out that weaving should also be required for sailing, too.

Love your thoughts on units being only purchasable and buildings/districts/wonders being only buildable, perhaps with a gold-based accelerator. I do think the pre-Ancient units, before 5K BC, should not require resources, but will require a maintenance cost to allow their "recovery" to the population at large.

Given that early armies were not in any large measure professional, it makes sense to have food and production slowed by army. I don't think this is a 1:1 trade-off as armies were typically seasonal, allowing citizen soldiers to return home to sow/reap crops and, in high latitudes, to take the winter off.
 
There is already a link in the mod between your population number/food production and the army you can maintain, city below size 4-5 will suffer (not growing or even declining) if they supply more than 1-2 units with food (and reinforcements if they are fighting)

The supply chain mechanism (supply lines, trade route, resources production, ...) coded in the mod can already lead to situations where a small army can be more effective than a larger one that can't be reinforced because of attrition.

The equipment mechanism will be another layer adding to that.

I also do plan to set a hard limit between your army on the field and the total number of trained personnel in your civilization (or a percentage of your total population), and reduce building time on the other hand.

But I'm still pondering on how to really represent the small (when existing) standing armies of nation at peace and the temporary bigger armies of war time.

The issue is not really on designing a mechanism (I can handle the conscription or the disbanding and return of the conscripted population to civil life in the mod's code, I could track professional/trained units and the ones drafted directly from the population, ...), but adapting it for the AI is (as always) the real challenge.

For example, I'm pretty sure the actual AI will never plan an invasion or declare war if it doesn't already have a (large enough) standing army.

About resources, at the map scale, I don't think we could add too many resources which would lead to some resources unavailable in an area (one of the goal is to have them more accessible but also more important), but I could develop what's already in the mod: stacking multiple resources on tiles, and having the current civ6 resources representing large deposits.

What I'm also pondering (to prevent having dozen of different resources showed on the UI for a tile) is also to show just a generic resource value (for example "metal ores") being collected on the tiles, the resulting resources (type, quantity) being linked to the tech level of the civilization and/or the building (but still keeping the "large deposit" concept above)
 
@Knasp -- nice write-up.
Thank you!
The supply chain mechanism (supply lines, trade route, resources production, ...) coded in the mod can already lead to situations where a small army can be more effective than a larger one that can't be reinforced because of attrition.
I hope you can excuse my generalized answers so far. I believe I've got to spend more time in your mod to grasp how the current system works, before I comment too much and make a fool of myself.
But I'm still pondering on how to really represent the small (when existing) standing armies of nation at peace and the temporary bigger armies of war time.
I don't know what to suggest in terms of the A.I. because I'm not sure how they work. Do they simply build as many units they can support until they go bankrupt?
If that is the case, then I guess one way to repress the number of units in peacetime, could be to increase upkeep costs or local unrest caused by soldiers. Once war is declared, upkeep costs/local unrest are decreased. This allows fast recruitment of levied units. An explanation for the rebate could be that it's easier in war-time, for soldiers to descend upon the local populace/peasants and to get away with semi-looting and living off the land. The resistance of the remaining local peasants (Lower-class) is weak, since many of their able-bodied men are off to fight in the war.
About resources, at the map scale, I don't think we could add too many resources which would lead to some resources unavailable in an area (one of the goal is to have them more accessible but also more important), but I could develop what's already in the mod: stacking multiple resources on tiles, and having the current civ6 resources representing large deposits.

I actually would suggest maybe getting rid of food "resources" altogether, but hear me out. Or see "My food ideas" below for concrete suggestions, if you're impatient.

Especially in prehistoric times and in the beginning of the agricultural revolution, a variety of plants were domesticated and cultivated in different parts of the world, at different times. But once a plant was successfully domesticated, it's use seems to have spread to neighboring settlements and cultures, and then further off into lands "unknown". An important limitation for this diffusion/spreading was of course the plant's required climate and soil, to which the wild plant initially evolved. But through cultivation and stubborn breeding, even such limitations could sometimes be overcome. Two examples of this diffusion are Soybeans and Bananas. Soy was first cultivated in China, around 7000 BCE. Between 100-1600 CE, Soy was introduced to India and SE Asia. Eventually Soy was introduced through trade in N America by 1765, and to the rest of the world in the late 1800's.
Spoiler Fun fact :
The Hitler Youth supposedly called them "Nazi beans" :lol:.
Today soybeans are an excellent source of protein and a vital staple food for populations (and livestock) all over the world. The Banana is another interesting example. It was originally cultivated in SE Asia 8000-5000 BCE and was brought to Madagascar by sailors in 4th century CE. Later Bananas were introduced to Africa and Spain, by the Islamic world in the 6th - 10th centuries. And finally bananas were brought to S America in the 15th-16th centuries by the Portuguese. The domestication of animals have followed a similar pattern.

The point I'm making is that it makes little sense to have food and animal resources evenly distributed across the world. I would rather see that plants and animals were native to certain climates/environments (or continents in a simplistic Civ VI context), and that these could be bred, traded and brought to new places. If a Civilization establishes trade over oceans, or establishes new colonies there, perhaps they can find new, fertile ground for planting and cultivating non-native crops, and add the possibility to introduce new species or breeds of livestock to new continents.

Spoiler My food ideas :

Resource placement, gathering and domestication
  • Plant placement (Staple foods) following semi-realistic environmental and terrain requirements
  • Wild animals could be represented as units, at least in a Prehistoric Era (before Ancient Era). Civilian, barbarian, animal units, that wanders around, and that you can capture and then domesticate. The actual domestication could be as easy as bringing the Sheep or Horses to a tile within your cultural borders and then use that unit's ability to construct a Pasture.
  • Plants could be spawned randomly (within their respective climate/terrain types) and then they could be discovered by your Gatherer- or Scout units. After discovery, they could be brought home in a similar fashion, to be planted like farm improvements. Basically you would have a subtype of Farms. I.e. Farms (wheat), Farms (soybean), Farms (flax), and so on.
Cultivation of domesticated plants and animal husbandry
  • Once a plant or animal has been domesticated, you can construct new farms or pastures with the specific species subtype. The Builder would gain access to the newly aquired Farm or Pasture subtype.
  • Different plants and animals, can offer different bonuses. So if you want to grow lots of food, then you can plant Wheat and Beans. But if you want to weave Linen for clothes and sails, then you need to plant Flax. If you want to increase your Gold income through trading and/or provide luxuries for your population, then you can plant Cocoa, Coffee or Bananas.
  • Domesticated plant and animal species could then be acquired through direct trade, far reaching maritime trade (East India Company), or from neighbor to neighbor, slowly through diffusion.
  • Another possible way to gain access to new organic resources would be to send exploratory expiditions all over the world, carrying the desciples of Linneaus, or perhaps a young Charles Darwin ;-)
  • You could settle a colony in New Zealand, and fill that entire place with non-preexisting Sheep :goodjob:
  • Animals that have been domesticated, can then be bred for a specific purpose. Horses can be bred (Application) for size and strength, to carry heavy cavalry. Elephants can be herded/bred (Application) for the Ivory resource, or for combat purposes (War Elephants).
Additional/alternative ideas:
  • Unlike farms, in order to keep livestock you need to have actual units of flock-herders moving the animals between available grasslands and pastures. For example you could have an action by the Herder (Sheep) unit, to let the animals Graze, which could take a few turns, and this action would bring food to the population (or inrease the size of the herd). This idea would basically introduce micromanagement of animal husbandry, and having to optimize the placement of your animals. Because over-grazing a tile would reduce the ability of that tile to sustain the herd. You would need to leave the tile for some time, to allow it to recover. Overgrazing can add to desertification, as seen in Northern Sahara (16,000-0 BCE)
  • Wild animals, that can't be domesticated, will spawn and keep moving around and grazing. They could be hunted for food by Hunters or military units. If the hunting is excessive, there is a risk that all animals of that species are extinct. Like horses were in North America, prior to the European colonisation. Other wild herd-animals, that can't be domesticated, like Reindeer or Bison, could be harvested for food, whenever you move a hunter unit onto the same tile. So basically you have to follow the herd wherever it is migrating (Tundra or Plains in a simplistic Civ VI context
  • In War, when enemies come attacking or raiding, you could then move the herds of strategic horses, or valuable livestock, to safer grounds. And if you can't escape in time, then the enemies will capture your livestock, granting them food resources. Partly by affecting their supply needs (the soldiers can eat the livestock), or by allowing them to take the herds of livestock home to their own lands as valuable plunder. If you move the livestock to tiles that can't support them, they will also require food from supply lines, like military units, or the herd will diminsh in size.
  • The addition of these walking-food-resources, could essentially make for a lot of interesting situations. Perhaps you could take livestock units with you, when going to war, thus providing your troops with a nearby food supply. Or perhaps you could move the livestock when natural disasters flood an area, and so on.
Final thoughts regarding terrain and features:

I'd like to see new terrain types and terrain features introduced. A diversity of terrain types could limit the ability of specific plants and animals to appear, or be utilised all over the world, north and south. I would personally want to see Terrain have properties of Climate, Elevation, Roughness, Soil type. Apart from resource placement, and fertility for farming/grazing, it could also find uses regarding combat. New features could be different Wetlands, River deltas, Estuaries, Mangrove forests on coastal tiles and Archipelagos on water tiles in general. Savannah, Evergreen forests and so on...

The biggest problem with these food related ideas of mine, is that I'm doubtful whether the A.I. could handle it.

On an unrelated note, I'd really like to see early exploration limited, not only by attrition due to supply lines (which is wonderful). But I'd also like you to lose the map information of discovered territories after a certain time (if at all possible).
At least until cartography/navigation and mathematics are discovered, you shouldn't be able to remember all details of a far away land. I really dislike the fact that you can run around with your Scouts or sail with Galleys and explore the entire Old World in Ancient Era, on the earth maps.
 
Last edited:
Played about 95 turns (Standard speed), until the game froze. I restarted and loaded the autosave, and could continue playing without problems. I've been trying to look for error messages in the logs, but frankly I'm not sure where to look.

I did expect a steep learning curve, since I haven't played R.E.D. WW II, so I wasn't surprised that I got confused this first time around. But it surely was an exciting experience (even in this alpha stage) and I do like the added complexity. Though I also see that it would take more work to design the UI, to provide relevant, and easy-to-comprehend information to the player. Some initial thoughts from play, and some suggestions also:

Spoiler :

  • It was difficult to decipher which data/numbers that were relevant (so much data). Took me a while to get a feeling for how the pieces connect. For example: what does Food, Personnel, Materiel do in Cities compared to Units. I sat for a while in the City screen just looking at the Resource tab, trying to grasp where everything came from, and how it could change.
  • The conversion of Production and Food yields from Tiles, Resources etc into: Growth and Materiel, was somewhat unclear to me. For example: I asked myself, how much growth of Food/Population and Materiel would I gain by building an additional farm or mine? How much would be gained/lost when switching tiles worked by the city.
  • I didn't really understand what stocking was for (except as a abstract roof), since I usually found that the unit/building would cost more to build than my Stock currently held. Therefore I concluded (falsely?) that Supply rate was the most (or only) relevant factor, and focused on increasing the yield of Materiel and Personnel.
  • I like the Carpenter-building, because I never liked the act of "chopping forests", since the trees don't grow back.
  • Maybe the impact of Morale should be increased or replenishment of troops decreased, when outside cultural borders? Or maybe it was working in the background and I simply didn't notice it in play.
  • Why not allow the player to build an Encampment next to the City-centre? Maybe it could have a negative adjacency bonus?
  • Why not add back the Harbour district, and make it buildable only on tiles adjacent to Coast (not lake)? Just remove the "district" part of the name and call it Harbour, Harbour town/village or Port.
Housing
I'm not sure if I like the housing construction system, but I see the point of being able to influence the class composition. I do think that improvements in the countryside should provide housing, especially farms. Until the 20th century, most people in the world lived in Rural areas. One idea is to have the the Farm, Mine and Resource improvements provide for Lower class (LC) housing. A Castle/Chateu/Estate improvement could provide Upper class (UC) housing. And the Middle class (MC) only live in the City-centre and districts (requiring housing buildings).

Maybe instead of letting the City build all kinds of housing, the player has to choose which "class" that is to be favored:
Building Upper class housing (or district as it would be called IRL) would take up space, and block the construction of other Housings (from the same tier). Maybe the Housings can have different effects:
Upper class (UC) housing = More UC pop, less MC. Culture/GPP benefits
Middle class (MC) housing = More MC pop, less LC. Gold/Materiel benefits
Lower class (LC) housing = More LC pop, less (or no change) of MC and LC. Greater housing capacity, most room for overall population growth. Maybe small Gold/Culture benefits? If Personnel are supposed to represent unskilled labour, then you could see a boost from LC housing. If they are supposed to represent skilled labour (as in Barracks), then you could get a boost from MC housing.

UI Suggestion: Maybe it would be useful to show the current Stock value and the rate (+/-) for both the Materiel and Personnel resouces, on or near the City-banner. Especially since they're the most important resources (apart from maybe food?).


Please let me know if I'm posting too many unwanted suggestions, or if you'd rather have me post somewhere else :)
 
Last edited:
Thank you!
I hope you can excuse my generalized answers so far. I believe I've got to spend more time in your mod to grasp how the current system works, before I comment too much and make a fool of myself.

I don't know what to suggest in terms of the A.I. because I'm not sure how they work. Do they simply build as many units they can support until they go bankrupt?
If that is the case, then I guess one way to repress the number of units in peacetime, could be to increase upkeep costs or local unrest caused by soldiers. Once war is declared, upkeep costs/local unrest are decreased. This allows fast recruitment of levied units. An explanation for the rebate could be that it's easier in war-time, for soldiers to descend upon the local populace/peasants and to get away with semi-looting and living off the land. The resistance of the remaining local peasants (Lower-class) is weak, since many of their able-bodied men are off to fight in the war.


I actually would suggest maybe getting rid of food "resources" altogether, but hear me out. Or see "My food ideas" below for concrete suggestions, if you're impatient.

Especially in prehistoric times and in the beginning of the agricultural revolution, a variety of plants were domesticated and cultivated in different parts of the world, at different times. But once a plant was successfully domesticated, it's use seems to have spread to neighboring settlements and cultures, and then further off into lands "unknown". An important limitation for this diffusion/spreading was of course the plant's required climate and soil, to which the wild plant initially evolved. But through cultivation and stubborn breeding, even such limitations could sometimes be overcome. Two examples of this diffusion are Soybeans and Bananas. Soy was first cultivated in China, around 7000 BCE. Between 100-1600 CE, Soy was introduced to India and SE Asia. Eventually Soy was introduced through trade in N America by 1765, and to the rest of the world in the late 1800's.
Spoiler Fun fact :
The Hitler Youth supposedly called them "Nazi beans" :lol:.
Today soybeans are an excellent source of protein and a vital staple food for populations (and livestock) all over the world. The Banana is another interesting example. It was originally cultivated in SE Asia 8000-5000 BCE and was brought to Madagascar by sailors in 4th century CE. Later Bananas were introduced to Africa and Spain, by the Islamic world in the 6th - 10th centuries. And finally bananas were brought to S America in the 15th-16th centuries by the Portuguese. The domestication of animals have followed a similar pattern.

The point I'm making is that it makes little sense to have food and animal resources evenly distributed across the world. I would rather see that plants and animals were native to certain climates/environments (or continents in a simplistic Civ VI context), and that these could be bred, traded and brought to new places. If a Civilization establishes trade over oceans, or establishes new colonies there, perhaps they can find new, fertile ground for planting and cultivating non-native crops, and add the possibility to introduce new species or breeds of livestock to new continents.

Spoiler My food ideas :

Resource placement, gathering and domestication
  • Plant placement (Staple foods) following semi-realistic environmental and terrain requirements
  • Wild animals could be represented as units, at least in a Prehistoric Era (before Ancient Era). Civilian, barbarian, animal units, that wanders around, and that you can capture and then domesticate. The actual domestication could be as easy as bringing the Sheep or Horses to a tile within your cultural borders and then use that unit's ability to construct a Pasture.
  • Plants could be spawned randomly (within their respective climate/terrain types) and then they could be discovered by your Gatherer- or Scout units. After discovery, they could be brought home in a similar fashion, to be planted like farm improvements. Basically you would have a subtype of Farms. I.e. Farms (wheat), Farms (soybean), Farms (flax), and so on.
Cultivation of domesticated plants and animal husbandry
  • Once a plant or animal has been domesticated, you can construct new farms or pastures with the specific species subtype. The Builder would gain access to the newly aquired Farm or Pasture subtype.
  • Different plants and animals, can offer different bonuses. So if you want to grow lots of food, then you can plant Wheat and Beans. But if you want to weave Linen for clothes and sails, then you need to plant Flax. If you want to increase your Gold income through trading and/or provide luxuries for your population, then you can plant Cocoa, Coffee or Bananas.
  • Domesticated plant and animal species could then be acquired through direct trade, far reaching maritime trade (East India Company), or from neighbor to neighbor, slowly through diffusion.
  • Another possible way to gain access to new organic resources would be to send exploratory expiditions all over the world, carrying the desciples of Linneaus, or perhaps a young Charles Darwin ;-)
  • You could settle a colony in New Zealand, and fill that entire place with non-preexisting Sheep :goodjob:
  • Animals that have been domesticated, can then be bred for a specific purpose. Horses can be bred (Application) for size and strength, to carry heavy cavalry. Elephants can be herded/bred (Application) for the Ivory resource, or for combat purposes (War Elephants).
Additional/alternative ideas:
  • Unlike farms, in order to keep livestock you need to have actual units of flock-herders moving the animals between available grasslands and pastures. For example you could have an action by the Herder (Sheep) unit, to let the animals Graze, which could take a few turns, and this action would bring food to the population (or inrease the size of the herd). This idea would basically introduce micromanagement of animal husbandry, and having to optimize the placement of your animals. Because over-grazing a tile would reduce the ability of that tile to sustain the herd. You would need to leave the tile for some time, to allow it to recover. Overgrazing can add to desertification, as seen in Northern Sahara (16,000-0 BCE)
  • Wild animals, that can't be domesticated, will spawn and keep moving around and grazing. They could be hunted for food by Hunters or military units. If the hunting is excessive, there is a risk that all animals of that species are extinct. Like horses were in North America, prior to the European colonisation. Other wild herd-animals, that can't be domesticated, like Reindeer or Bison, could be harvested for food, whenever you move a hunter unit onto the same tile. So basically you have to follow the herd wherever it is migrating (Tundra or Plains in a simplistic Civ VI context
  • In War, when enemies come attacking or raiding, you could then move the herds of strategic horses, or valuable livestock, to safer grounds. And if you can't escape in time, then the enemies will capture your livestock, granting them food resources. Partly by affecting their supply needs (the soldiers can eat the livestock), or by allowing them to take the herds of livestock home to their own lands as valuable plunder. If you move the livestock to tiles that can't support them, they will also require food from supply lines, like military units, or the herd will diminsh in size.
  • The addition of these walking-food-resources, could essentially make for a lot of interesting situations. Perhaps you could take livestock units with you, when going to war, thus providing your troops with a nearby food supply. Or perhaps you could move the livestock when natural disasters flood an area, and so on.
Final thoughts regarding terrain and features:

I'd like to see new terrain types and terrain features introduced. A diversity of terrain types could limit the ability of specific plants and animals to appear, or be utilised all over the world, north and south. I would personally want to see Terrain have properties of Climate, Elevation, Roughness, Soil type. Apart from resource placement, and fertility for farming/grazing, it could also find uses regarding combat. New features could be different Wetlands, River deltas, Estuaries, Mangrove forests on coastal tiles and Archipelagos on water tiles in general. Savannah, Evergreen forests and so on...

The biggest problem with these food related ideas of mine, is that I'm doubtful whether the A.I. could handle it.

On an unrelated note, I'd really like to see early exploration limited, not only by attrition due to supply lines (which is wonderful). But I'd also like you to lose the map information of discovered territories after a certain time (if at all possible).
At least until cartography/navigation and mathematics are discovered, you shouldn't be able to remember all details of a far away land. I really dislike the fact that you can run around with your Scouts or sail with Galleys and explore the entire Old World in Ancient Era, on the earth maps.
Thanks, and you really shouldn't apologize for providing feedback and suggestions for the mod :)

I do know that all the current features should be clearly documented in one post, I can't expect anyone to remember the whole thread, read the 10,000 lines of code already in the mod or actually spend a few hours in a pre-alpha version looking semi-blindly for changes before posting (I do welcome comments on the information given by the UI for new users BTW)

But documentation usually comes last in a mod, when it comes at all...

I also do know that my answers are sometime a bit harsh, but it's me trying to keep them short (or being grumpy), don't take it the wrong way, in the end it's about focusing the discussion on what's possible / could be done / is already done, no one should hesitate to post something like your posts above.

Now about that last post, first, dynamic resources is something I'd love to implement, but (because of AI, implementation in MP and my own difficulties to code anything new related to the UI) I don't want it to be dependent of any new type of actions, we have to link it to existing actions. I'd also like to avoid too much micromanagement (not preventing it completely, but not making it mandatory either)

For example: new policies coded to encourage trade of (specific) resources and/or building/improvements/policies/project coded to allow resources diffusion on tiles or from a city having access to that resource.

Say a city have access to a resource from its trade network, that could unlock a project in that city to implement the resource on a nearby tile (with conditions/limitations of course), consuming part of the city's resource stock each turn until the resource is implemented on the tile.

If we go for dynamic resources, encoding overexploitation is a possibility, as well as (re)spawning/slow migration of wild animals.

A small note too on the "scale" of the mod's worlds as I'd like it to be (relatively, gameplay first !) consistent with the mechanisms, IMO a tile should represent an area of 10000km², that's a bit small compared to the real ratio (Giant Earth = 16920 tiles, Earth surface = 510072000 km2, that would be 30146km²/tile, Largest Earth has 26680 tiles which would be 19118 km²/tile), but that way we can simply assume an easy to remember distance of ~100km between tiles centers.

And that's why stacking (of units/resources/most districts) makes sense in relation to the mod's scale.

About terrains, I'm no artist and won't change the apparence of the tiles, that being said it should be already moddable and I will include more terrains/features if another modder make them.

What I can do (independently of the graphical representation of a tile) is to set different layers/properties for each tile. For example, the map generator use a height map to create the terrain type, the "height" property of a tile can be kept for later use.

Now don't ask me to code a new map generator from scratch, what I propose is to take the current terrain/feature generator, then add a new layer of information on top of that.

First we'd need to determine the sub-terrain types and the new features (and every other parameters we'd like to have), then how to place (or replace) them in relation with the current terrain/features generated by the map (and latitude)

Resources are placed last, and that can be completely influenced by our own data.

Finally, for exploration and terrains/features being hidden again when too far from your territory, I had lost some time trying to do something exactly like that in civ5, before realizing that the lua method to change visibility for a Civilization was bugged (and the minimap was not refreshed)

But for what I've seen so far this time there should be nothing preventing it for civ6.
 
It was difficult to decipher which data/numbers that were relevant (so much data). Took me a while to get a feeling for how the pieces connect. For example: what does Food, Personnel, Materiel do in Cities compared to Units. I sat for a while in the City screen just looking at the Resource tab, trying to grasp where everything came from, and how it could change.
Yes, there is a lot of data, I'm unsure on how to make it easily accessible without overloading the UI. I guess we'll really need some well written documentation or tutorials for new players.

The conversion of Production and Food yields from Tiles, Resources etc into: Growth and Materiel, was somewhat unclear to me. For example: I asked myself, how much growth of Food/Population and Materiel would I gain by building an additional farm or mine? How much would be gained/lost when switching tiles worked by the city.
I need to force the UI to refresh some data (when switching the tiles you works on for example), but for performance I'm afraid that some of those data must be taken from the previous turn.

The tooltip over tiles is lacking some info like what you gain actually vs what you'll gain with this or that improvement (ATM it's a factor applied to the resources that are compatible with the improvement)

I didn't really understand what stocking was for (except as a abstract roof), since I usually found that the unit/building would cost more to build than my Stock currently held. Therefore I concluded (falsely?) that Supply rate was the most (or only) relevant factor, and focused on increasing the yield of Materiel and Personnel.

It's a buffer for when you're cut from a resource in the middle of a production, allows you to start building something even if your supply rate is not high enough, and large stock will be mandatory when you'll be able to rush-buy something (you'll need everything required for the unit in your stock at that moment)

Maybe the impact of Morale should be increased or replenishment of troops decreased, when outside cultural borders? Or maybe it was working in the background and I simply didn't notice it in play.
Supply line efficiency is lowered with distance, but do you mean the internal transfer from "reserve" to "front line" ?

Morale will need a lot of balance, it really a pure example of a proof of concept/placeholder.

  • Why not allow the player to build an Encampment next to the City-centre? Maybe it could have a negative adjacency bonus?
  • Why not add back the Harbour district, and make it buildable only on tiles adjacent to Coast (not lake)? Just remove the "district" part of the name and call it Harbour, Harbour town/village or Port.
Districts will be reintroduced for later eras.

Housing
I'm not sure if I like the housing construction system, but I see the point of being able to influence the class composition. I do think that improvements in the countryside should provide housing, especially farms. Until the 20th century, most people in the world lived in Rural areas. One idea is to have the the Farm, Mine and Resource improvements provide for Lower class (LC) housing. A Castle/Chateu/Estate improvement could provide Upper class (UC) housing. And the Middle class (MC) only live in the City-centre and districts (requiring housing buildings).
I do think that the whole social stratification and housing need to be reworked, maybe from scratch. And that's too is maybe worth of its own thread.
 
Ok, good to know! Short on time right now, so I don't have time to think about or respond to all your good points. Just one thing:
Now about that last post, first, dynamic resources is something I'd love to implement, but (because of AI, implementation in MP and my own difficulties to code anything new related to the UI) I don't want it to be dependent of any new type of actions, we have to link it to existing actions. I'd also like to avoid too much micromanagement (not preventing it completely, but not making it mandatory either)

Is it possible to trick the A.I., by changing the effect of standard actions? For example: If the A.I. is programmed to build Builders and send them out to build Farm improvements. Could you change the effect of the standard "Build Farm" action? In that case you should be able to change it so that instead it builds either (1) a Farm with a "randomized" subtype, or (2) from pick from a "Priority list", i.e. a subtype that the City is currently missing. Then you can add new actions, that allows human players to choose freely, which Subtype they want, if they want.

Also, will the A.I. try and capture Barbarian civilian units? In that case you might be able to make the A.I. go out and try to capture a "Wild Horse" unit. Once the unit is captured, it is transformed into a "Builder" unit with the Subtype "Horse herders". If the A.I. can be made to believe that it is a Builder unit, they will move it to their own (city) tiles and attempt to build a farm. If you can change the Standard action to prioritise the subtype of the unit in question (Horse-herder), then instead of a random farm, it builds a Horse Pasture.

And if a player dislikes micromanagement (choosing) of the farm type, that player can also use the Standard action. Personally I think that choosing the type of improvement to build is a fun form of micromanagement, especially since the effects of the action are visible on the map (Unlike promotions for units).
 
Last edited:
Yes, I could code a random choice or use a priority list for the AI (the later is, in fact, AI coding), but there is still the problem of hacking something (from the chat system for example) to propagate the new action between players in MP games, and the UI coding, which is (really) not my cup of tea.

But spawning a specific unit with a unique and specific improvement action is a viable solution for all cases, one that I like.

So civilian barbarian horses converted to a "horse herders" unit that could only build a special improvement (spawning the horse resource on the tile) would work, even if many times during autoplays I've done a few facepalms seing some lone barbarian settlers running around for multiple turns in some civs territory...

Another usage for some cultivable luxury resources could be similar to the idea idea of project, but this time spawning a kind of great marchant (similar to the "horse herders" in its use) in the city exploiting the luxury, and you'll have to escort him back to the place you want to implement the resource (but bonus resources would keep a more streamlined mechanism, like the first idea with projects)

Now the problem is to create the units representations. It's possible (and it looks much more easier/faster than for civ5), but I don't have a lot of experience with the artdef files (and I'd prefer to use my modding time to code the mod's mechanisms, remember that we're already talking of years for the development)

I may try to recruit at some point when the design of the base mechanisms feel good enough.
 
About terrains, I'm no artist and won't change the apparence of the tiles, that being said it should be already moddable and I will include more terrains/features if another modder make them.

What I can do (independently of the graphical representation of a tile) is to set different layers/properties for each tile. For example, the map generator use a height map to create the terrain type, the "height" property of a tile can be kept for later use.

Now don't ask me to code a new map generator from scratch, what I propose is to take the current terrain/feature generator, then add a new layer of information on top of that.

First we'd need to determine the sub-terrain types and the new features (and every other parameters we'd like to have), then how to place (or replace) them in relation with the current terrain/features generated by the map (and latitude)

Resources are placed last, and that can be completely influenced by our own data.

Interesting! I don't know much about the the map generator, but now I want to learn more. Anyway, I understand your position about the graphics. I've used the ModBuddy, and actually managed to add a new feature, by combining visual components (artdefs) from two different features. But for some reason the new feature doesn't show in the minimap/strategical view, and I'm not sure how to find what's missing. So, my biggest problem is my lack of familiarity with SQL and XML coding and particularly Civilization VI's file structure. All I've done so far is to copy existing code and tried manipulating things. Your mod has opened my eyes to what could be possible, if only I could learn. I think I'll make some more attempts ahead, and I would be glad to contribute anything at all really. But for now I think that I'm more likely to actually accomplish something, helping out with historical research or spit-balling concepts.

If we go for dynamic resources, encoding overexploitation is a possibility, as well as (re)spawning/slow migration of wild animals.
I'd really love to see dynamic resources, because it's annoying to see food resources be completely static. Starting out, I wondered whether you could add a function to move the Food resource to a different tile. But that would require a new action, as you point out.

stacking (of units/resources/most districts) makes sense in relation to the mod's scale.
My second point about getting rid of food resources was simply to reduce the cluttering of resources on the map, even if allowing stacking would stop them them from blocking other resources. If new food resources appear when building improvements, then you still face cluttering problems.

When it comes to my ideas about domesticating food resources above, these are mostly relevant if a new game should start earlier than 4000-3000 BCE. Otherwise you could just as well randomly assign the "knowledge" of plant species and the kinds of domesticated animals at the start of the game. Just give some to each Civ, based on their starting environment and continent. I'd still think it would be cool if you only could build specific farms or pastures based on the current knowledge of your Civ. Anyway, I think it's rather dull that improvements are permanent, and that you don't need to maintain or improve your existing improvements (unless they were pillaged or something).

Another (more abstract) suggestion is to abandon the idea about Farm subtypes. Instead you could have some different way of producing several plant resources on the cities farms. One way is to have the farms automatically switch to produce the specific plant resource that is needed at the moment. For example: If the city prioritizes food/is starving, then the farms will switch to growing Grains. But if the city is building ships/particular housing or conducting a trade project, then the farms would switch to produce Flax/Cotton. I mean, grains and textiles were often important in early trading.
Though it would be more fun if the player can influence what is produced, and thereby let Civs specialize cities. Perhaps a few sliders similar to Civ 4's, together adding up to 100%:

0-----50-----100 :c5food: Grains/Food crops (Growth & Stocking)
0-----50-----100 :c5gold: Fruits & Spices (Luxuries)
0-----50-----100 :c5production: Fibers (Textiles/Rope/Paper)
I guess you could have a slider for every different plant resource, but that could become annoying (especially if more plants became available). The benefit of this second suggestion is that it would fit your Stocking/Supply concept. The downside however is that you wouldn't see individual plant resources represented on the actual map. Unless you could continually alter the appearance of the Farm improvements, to reflect the cities current choice of plants.
 
Last edited:
How about giving each improvement several :c5citizen: Citizen slots?

For example a Farm may have 2 slots.
If you assign a :c5citizen: Citizen to the :c5food: Food slot, the farm will produce food-related crops, while if you assign a citizen to the :c5production: Production slot, it will produce production-related crops.

As for the AI, a helper could be made to trick the AI into thinking that assigning a citizen will produce that yield directly. So working the :c5food: Food slot would produce a virtual +1 :c5food: Food that doesn't actually do anything.
 
I'd like to be able to set multiple citizen on improved tiles, it would also help to determine a more detailed city social stratification, but I don't think it's possible for improvements, adding citizen to a district for example seems to be hardcoded to buildings, it's not a modifier AFAIK.

I really need to come back on some of the post about designing the research, the unit tree and social stratification BTW, but I'm still coding the background for integrating multiple equipment types/classes for units.

While doing that, I had a possible idea, related to equipment and standing armies (or lack of) for early game.

What about temporary units ?

You could have an (initially) very small standing army limit at the beginning (say 2-3 units)

But you'll have some stocks of equipment and (of course) some population in your cities.

Barbarian (or neutral) units approaching your territory could unlock a one-turn project in a city for conscription.

Next turn, some units (number and type based on equipment and population) spawn around the city for your civilization, with a counter before disbanding.

When the counter is down, the remaining personnel and equipment is sent back to the city.

We could have (longer) projects to plan for an invasion or cleaning that barbarian camp you've scouted, with a bigger counter for units, depending of the project.

thoughts ?
 
What about temporary units ?

You could have an (initially) very small standing army limit at the beginning (say 2-3 units)

But you'll have some stocks of equipment and (of course) some population in your cities.

Barbarian (or neutral) units approaching your territory could unlock a one-turn project in a city for conscription.

Next turn, some units (number and type based on equipment and population) spawn around the city for your civilization, with a counter before disbanding.

When the counter is down, the remaining personnel and equipment is sent back to the city.

We could have (longer) projects to plan for an invasion or cleaning that barbarian camp you've scouted, with a bigger counter for units, depending of the project.

thoughts ?

Sounds really interesting, especially if it required good planning for the Civ to develop and stockpile the necessary equipment to make an effective temporary army. I take it you mean that the population/productivity of the City would be reduced whilst conscription is in effect? But would the A.I.be able to use such a system?
Another cool project could be to prepare for a siege, where the city would stockpile food resources and construct defenses, whilst sacrificing other aspects. Especially if a cities access to all it's tiles could potentially be cut off, and not only by direct blocking/plundering of tiles.
 
Helping the AI to choose what to built in cities may be possible, and necessary if I want to implement the idea of a kind of governor building to automate production in human players cities.

There may be already enough event and methods exposed to Lua to force the AI to use conscription when planning a war (even if the diplomacy actions seems to be still limited, each new scenarios/DLC brings more methods, and I bet we'll get the source code before this mod enters alpha/beta anyway)

The difference with previous example is that it would involve (relatively) less coding to force the AI to build this or that in cities depending on context than to make it use completely new actions.

We use real number for population in cities and in units, so drafting population will have an effect on city size.

I'm also pondering to re-scale the city size, I mean the formula to relate city size (how much citizen you can place on slots or tiles around the city) to real population and re-balance the yields to have more citizen available in early game with less population, which would make the cost of drafting more visible (losing citizen slots even for size 6-12 cities)

I will have to think about it more, but I do like the idea of limiting early warfare to neighbors civilizations until you get new tech/policies to field real standing armies or get longer mobilization time.
 
I will have to think about it more, but I do like the idea of limiting early warfare to neighbors civilizations until you get new tech/policies to field real standing armies or get longer mobilization time.
Maybe there could be different "Military campaigns" that you could embark on? If you go for a "Short campaign", then your army will cost less to maintain but will disband/lose morale more quickly (or the timer runs out). If you instead develop and go for a "Long campaign" then your army will require more plundering and capturing of enemy resource stocks.
Considering warfare, except for city projects to develop your military applications, it would also be cool if you could adopt technology/tactics from your enemy. Being at war should at least gain you some technology/application points.
 
Top Bottom