• Civilization 7 has been announced. For more info please check the forum here .

Gedemon's Civilization, development thread

Cool, I loved TFC back when I played Minecraft. Such a unique experience. It's always strange to find someone you saw on a different site on a completely unrelated one. If only I could find shoejuggler from the Fusion Fall forums. Only dude who's name I remember, pure white avatar. Only one on the site.
Yeah, that's me. Wasn't expecting to get recognized though :) glad you liked the work I did!

But yeah, since TFC was a mod that focused very heavily on prehistory, metallurgy, primitive technologies etc. I learned a lot that's now applicable to a mod like this one through the research I did. I guess it's not surprising that people that liked my mod would also like this one since I like this one so much :)



Back on topic though, I also feel like armies start too large. I talked to Gedemon about that before, but it seems pretty apparent now. 2000 soldiers at the beginning of the game is way out of the question. 300 perhaps, but not 2000 (with 1500 in reserve?).

I also feel like the barbarians reinforce waaay too much. In my opinion, barbarians should be very weak compared to Civ units. They should be poorly equipped, rationed and without reinforcements- they don't have the wealth of a nation backing them, they're barbarians.
 
Last edited:
We need more units type, the warrior and spearman are used on a long period in which armies have seen there size multiplied by a factor 100, and I can't do variable max health for a unit.

I can change the numbers for reserve to be unit specific, that would automatically fix the barbarian "issue" (they never get external "reinforcement", but they use reserve)
 
I don't think you have to do variable health. Just spawn units with low health ie spawn the first unit at 5/100 health or something. You can make it so that units will only heal above a certain amount with big cities so for example a size 1 city won't heal units past 5 health, but a size 2 city might heal them up to 10 health. As I understand it, that's how healing works, right? You resupply units from the nearest city.
 
Supplies are send to the units reserve then reserve is used to reinforce the frontline, "health" being a representation of combat readiness, ie frontline.

I could cap the max HP to 10 or 50 for some unit, I can also edit the UI to use those capped values when representing the health bar, but I can't change the damage dealt/received by those capped units.

I'm fine if an iron age army anihilates a pre-bronze age army in less than 3 turns, but I'd like 2 pre-bronze army to fight a few turn before being "killed".

But if both are at less than 10hp, combats would always end in one turn. (and if I lower damage even more, unit at 50-100hp will never die)

"Realist" at the time scale of the game, but not my intended gameplay. We could have faster battle in early game but not so much.

Now we can add more early age units with less personnel and less combat strenght, say "Warrior I" , "Warrior II" and "Warrior III" before "Swordsmen"
 
Last edited:
Would it be possible to scale unit damage relative to unit health? Or is it fixed?

You could try to use Corps and Armies to simulate things like "Warrior I", "Warrior II", "Warrior III" and so on.
 
Damage scales with health, but not enough to avoid the problem of one shot to kill.

I don't know if corps and army will be compatible with the current mechanism by the way (ATM the mod does not handle the scale change for personnel, materiel, equipment in a corps/army)
 
Neither I am, but I'm sure you're right.

But for my code I need an intermediate state between "personnel in a city" or "wounded being treated" and "personnel in the middle of the combat"
 
How does damage calculation work in the mod? In vanilla Civ 6 it's very simple (and boring once you figure out how it works) where they just look at relative combat strength and deterministically calculate flat damage.

The other problem with combat in Civ is that killing enemies isn't very realistic. People generally don't like being killed. In more recent times (with highly accurate guns) many people don't have a choice. In ancient warfare however, I believe running away was very common especially when it's clear you won't win. There was certainly death in ancient warfare, but the idea of fighting to the last man standing is not accurate at all. I just don't know how you could represent that very well. In Europa Universalis 4, units have both a health (number of men) and a morale value. If the morale value drops to 0, the army surrenders and flees to the nearest friendly tile it can. In that game, it cannot do any action until it gets there and you're not allowed to attack it (you might be able to, but it would be like a war crime or something idk).

I wonder if a similar mechanic would be possible in Civ?
 
How does damage calculation work in the mod? In vanilla Civ 6 it's very simple (and boring once you figure out how it works) where they just look at relative combat strength and deterministically calculate flat damage.

The mod can't change the formula.

you may find it here:
https://forums.civfanatics.com/threads/hans-lemurson-figures-out-the-combat-formula.606147/

And what we can change is here, with default value:
(assuming all are used in the DLL source code)

Code:
        <Row Name="COMBAT_AIR_SUPPORT_BONUS_MODIFIER" Value="5" />       
        <Row Name="COMBAT_AMPHIBIOUS_ATTACK_PENALTY" Value="-10" />       
        <Row Name="COMBAT_ANTI_AIR_SUPPORT_BONUS_MODIFIER" Value="5" />       
        <Row Name="COMBAT_ARMY_STRENGTH_MODIFIER" Value="17" />       
        <Row Name="COMBAT_BASE_CAPTURE_STRENGTH_DIFFERENCE" Value="20" />       
        <Row Name="COMBAT_BASE_DAMAGE" Value="24" />       
        <Row Name="COMBAT_BOMBARD_VS_UNIT_STRENGTH_MODIFIER" Value="17" />       
        <Row Name="COMBAT_CITY_RANGED_DAMAGE_THRESHOLD" Value="50" />       
        <Row Name="COMBAT_CORPS_STRENGTH_MODIFIER" Value="10" />       
        <Row Name="COMBAT_DAMAGE_MULTIPLIER_MINIMUM" Value="0.25" />       
        <Row Name="COMBAT_DEFENSE_DAMAGE_PERCENT_BOMBARD" Value="100" />       
        <Row Name="COMBAT_DEFENSE_DAMAGE_PERCENT_MELEE" Value="15" />       
        <Row Name="COMBAT_DEFENSE_DAMAGE_PERCENT_RANGED" Value="50" />       
        <Row Name="COMBAT_DISTRICT_STRENGTH_REDUCTION" Value="15" />       
        <Row Name="COMBAT_FLANKING_BONUS_MODIFIER" Value="2" />       
        <Row Name="COMBAT_GARRISON_MILITIA_MODIFIER" Value="10" />       
        <Row Name="COMBAT_MAX_EXTRA_DAMAGE" Value="12" />       
        <Row Name="COMBAT_MAX_HIT_POINTS" Value="100" />       
        <Row Name="COMBAT_MAX_NUM_ATTACKS" Value="1" />       
        <Row Name="COMBAT_MIN_CIVILIAN_DAMAGE_PERCENT" Value="65" />       
        <Row Name="COMBAT_MIN_HEALTH_PERCENT_TO_ADVANCED_AIR_PILLAGE" Value="1" />       
        <Row Name="COMBAT_MIN_HEALTH_PERCENT_TO_AIR_PILLAGE" Value="50" />       
        <Row Name="COMBAT_MINIMUM_CITY_STRIKE_STRENGTH" Value="3" />       
        <Row Name="COMBAT_MINIMUM_DAMAGE" Value="1" />       
        <Row Name="COMBAT_MINIMUM_GARRISON_STRENGTH" Value="0" />       
        <Row Name="COMBAT_POPULATION_PER_STRENGTH" Value="2" />       
        <Row Name="COMBAT_POWER_DAMPENER" Value="5" />       
        <Row Name="COMBAT_POWER_SCALING" Value="0.04" />       
        <Row Name="COMBAT_PUSHBACK_STRENGTH_MODIFIER" Value="10" />       
        <Row Name="COMBAT_RANGED_VS_DISTRICT_STRENGTH_MODIFIER" Value="17" />
        <Row Name="COMBAT_RELIGIOUS_FOLLOWING_CITY_TILE" Value="5" />       
        <Row Name="COMBAT_RELIGIOUS_HOLY_CITY_TILE" Value="15" />       
        <Row Name="COMBAT_RIVER_DEFENSE" Value="5" />       
        <Row Name="COMBAT_STRENGTH_FROM_ENVOYS" Value="1.0" />       
        <Row Name="COMBAT_SUPPORT_BONUS_MODIFIER" Value="2" />       
        <Row Name="COMBAT_WOUNDED_DAMAGE_MULTIPLIER" Value="10" />       
        <Row Name="COMBAT_WOUNDED_DISTRICT_DAMAGE_MULTIPLIER" Value="10" />

The mod already changes those values:
Code:
UPDATE GlobalParameters SET Value = 12        WHERE Name = 'COMBAT_BASE_DAMAGE';        -- default = 24
UPDATE GlobalParameters SET Value = 6        WHERE Name = 'COMBAT_MAX_EXTRA_DAMAGE';    -- default = 12
UPDATE GlobalParameters SET Value = 7        WHERE Name = 'COMBAT_BOMBARD_VS_UNIT_STRENGTH_MODIFIER';    -- default = 17 -- Lower Bombard Combat Strenght vs units by this amount
UPDATE GlobalParameters SET Value = 14        WHERE Name = 'COMBAT_RANGED_VS_DISTRICT_STRENGTH_MODIFIER';    -- default = 17 -- Lower Ranged Combat Strenght vs districts by this amount
UPDATE GlobalParameters SET Value = 75        WHERE Name = 'COMBAT_CITY_RANGED_DAMAGE_THRESHOLD';    -- default = 50

On those I've no idea of what does COMBAT_CITY_RANGED_DAMAGE_THRESHOLD :o

I'm open to any suggestions, you can edit CombatRules.sql to test things.

The other problem with combat in Civ is that killing enemies isn't very realistic. People generally don't like being killed. In more recent times (with highly accurate guns) many people don't have a choice. In ancient warfare however, I believe running away was very common especially when it's clear you won't win. There was certainly death in ancient warfare, but the idea of fighting to the last man standing is not accurate at all. I just don't know how you could represent that very well. In Europa Universalis 4, units have both a health (number of men) and a morale value. If the morale value drops to 0, the army surrenders and flees to the nearest friendly tile it can. In that game, it cannot do any action until it gets there and you're not allowed to attack it (you might be able to, but it would be like a war crime or something idk).

I wonder if a similar mechanic would be possible in Civ?
I used a retreat mechanism in my WWII mod, I plan to add it at some point.

There is already a morale variable, not linked to combat efficiency yet, but it will. ATM it only result in desertion, I plan to have it influence retreat probability and maybe desertion when attacked too.

In the mod ATM all personnel left in a defeated unit (wounded, reserve not ready to battle) are captured or "vanish" in case of defeat by ranged attack. This will surely be modified (% of escaping prisoners, ...) not sure how much and what/when yet.
 
Not directly related but the discussion about disbanding units reminds me that I have some gameplay mechanisms for units that I'd like to share

First, since some time (ie civ5 time) I'm pondering some change to the helicopter units to make it less of a land unit and more of an air unit.

- Helicopter could "rebase"
- Helicopter should move like a land unit, being able to capture and attack other units, but at the end of the turn (or after using all moves) they should return to their current "base"
- AA units should use "opportunity fire" against helicopter (need DLL)
- Helicopter should be able to hover over water during their turn (and could be based on specific ships) (may not be possible even with DLL source)

Now I think that the second point (returning to a specific plot at end of turn) is already possible on the code side, and could have multiple usage (like slow down a bit expension in early game, maybe useful with historical spawn dates)

- Early "tribe" unit (settler with small combat value, one movement point and no ability to build city) linked to a early scout unit (4 movement points but teleported back to the tribe unit at the end of the turn)
- Early militia units, teleported back to a city after x turns or when loosing their supply line

About unit losing a fight with low morale, disbanding is a possibility, with parts of the components (personnel, materiel, equipment,...) returned to the closest city, or even the unit itself at some additional cost in health/components

Edit: about the "tribe start", you'll get research point dependind on the food resources near the tribe unit, then the ability to create a city when sailing, trapping or agriculture has been discovered.
 
Last edited:
Not directly related but the discussion about disbanding units reminds me that I have some gameplay mechanisms for units that I'd like to share

First, since some time (ie civ5 time) I'm pondering some change to the helicopter units to make it less of a land unit and more of an air unit.

- Helicopter could "rebase"
- Helicopter should move like a land unit, being able to capture and attack other units, but at the end of the turn (or after using all moves) they should return to their current "base"
- AA units should use "opportunity fire" against helicopter (need DLL)
- Helicopter should be able to hover over water during their turn (and could be based on specific ships) (may not be possible even with DLL source)

Now I think that the second point (returning to a specific plot at end of turn) is already possible on the code side, and could have multiple usage (like slow down a bit expension in early game, maybe useful with historical spawn dates)

- Early "tribe" unit (settler with small combat value, one movement point and no ability to build city) linked to a early scout unit (4 movement points but teleported back to the tribe unit at the end of the turn)
- Early militia units, teleported back to a city after x turns or when loosing their supply line

About unit losing a fight with low morale, disbanding is a possibility, with parts of the components (personnel, materiel, equipment,...) returned to the closest city, or even the unit itself at some additional cost in health/components

So essentially a melee unit, but with a range of more than 1? Don't units which can move after attacking do the same thing?

I guess you can apply attrition damage to Helicopters which end their turn outside a city, same with the early militia and "tribe".

Edit: About the tribe and nomadic mechanic, is Rising Tide aquatic city-style movement possible?
 
Last edited:
No "range", but 8 or more movement points for the Helicopter and no terrain cost.

Attrition would penalize the AI a lot as I have no way to override its units control (to move them back near their cities)

Kind of the same problem I have with healing naval units in harbors (cities) without supply lines: when the AI will know that it can buit and use a navy (hopefully in some patch to come), it will be penalized a lot if I do not switch to a supply line mechanism like land units (which still penalize it, but less)

Edit: About the tribe and nomadic mechanic, is Rising Tide aquatic city-style movement possible?

I haven't played with BE or its extension, what's the mechanism?
 
Last edited:
Basically, in Beyond Earth: Rising Tide, cities could be founded on water tiles and then be moved around. It appeared in the production list as "Move City", and required several turns to move one tile at the time.

(Skip to 01:00)

I highly doubt that VI's engine will allow it, but if it is possible, we now have a way to add proper nomadic cities to the game.
 
Yes, no easy way to do it, same for a tribe unit able to build something for example, maybe not impossible but too much work for my available modding time.

But collecting and converting resources should be possible at the unit level.
 
I think we may be jumping ahead of ourselves a bit. Nomadic cities aren't really cities. Nomadic people do not move as a joint body of thousands of people. Fishing and trapping/hunting are not sustainable ways of founding a city, ie there are very few examples of villages/towns established without agriculture, exceptions being some very early sites at jericho (10k years ago, but no more than 1000 people) and catal hayuk in Turkey (7000 BC I think? and 4000 people) which shows no signs of agriculture but large bone dumps from hunting. Catal hayuk is considered an exception rather than a good example. Notable about Catal Hayuk is that there is no evidence of government or hierarchy: some buildings are larger than others but all buildings were houses- no structures existed that could be considered administrative or commercial buildings.

Basically, hunting and gathering is the economic structure that predated civilization and settling a city or village without the ability to farm is impossible. The upper limit of the population of a pre-agriculture town is the population you begin the game with (3500) so, I would strongly recommend against letting civs settle with any tech other than agriculture.

On the point of nomadic peoples, they were very dispersed and were not able to have self-sufficient economies: they rely on other people for support in resource management (nomadic people cannot operate mines or metalsmelting due to the large time requirement involved). Although Civ has always featured nomadic civilizations, if we choose to actually represent them as nomads, we would have to take many of the basic needs of a city away from them.
 
If the game begins pre-agriculture, (something I too have thought about since Civ 5 times), I had a few ideas back then. May not mesh with your plans, but I'll put it out there: since early people were hunter-gatherers, I thought it would be interesting to start with 2 (although if you want a tribe unit, 3) units. A hunter, a gatherer and a tribe. The hunter has stone spears and combat ability. The gatherer has weak combat but better movement.

These two types of unit are used to gather resources (for the tribe, I guess). When fortified on top of a viable resource, each type of unit can accumulate food or other goods for the tribe. Gatherers can accumulate food from wheat, rice, and food-type plantation resources (citrus for example). Hunters can gather from deer, cattle, horses, etc. Any animal resource.

As food is generated for the tribe, the tribe can grow. To discover agriculture, you need a combination of culture (or something else) and people (which increases as you get food). Because the culture component isn't generated by every type of resource, it is also possible to spend your tribe's people to make more hunters or gatherers. This may also be important if a nearby civ or city state decides to attack you instead of being peaceful (for example if you find a very valuable tile, they may try to take it from you).

edit: Maybe when you settle your city, your gatherers become something like a builder with a single charge and the hunters become scouts or something. If you rush to found your city first, you don't start with as many units. If you make more units, you delay founding your first city.

If you want to force units to stay near the tribe, you can put a limit on how far from the tribe your units can gather from and I've always thought it would be interesting if only the tribe could reveal tiles (ie gatherers and hunters would have fog of war adjacent to them if they left sight of the tribe)

Another possibility (although some people may find this controversial, though I believe it's historically accurate) that in hunter-gatherer societies, men were usually hunters and women were gatherers. This is because hunting is more physically demanding and dangerous- it requires a lot of movement and often stealth as well. Gathering is much more sedentary- even though you sometimes had to move to new areas if you exhausted your resources, a lot of the time it only required people to search loosely through the forest or grasslands. Tasks like this are much more social, make it easy for pregnant women and women with small children or babies and is much less dangerous. The danger aspect is very important for these early tribes: women are the most important factor in the prosperity of the tribe. If 10% of the women in a tribe die, the tribe will have 10% fewer babies for years, probably taking a decade or more to recover. If 10% of the men die, you could conceivably still maintain the same birthrate.

I remember an article I read somewhere that claimed that genetic evidence indicates that people have 12 times as many female ancestors as male ancestors. If men had a very high mortality rate, this would make sense that few men fathered many children.

If this is what you decide to do, it would mean your gatherers would be the tribe itself, and if you lost it, you would lose. Does sort of make the idea of making new gatherers impossible however.

Regardless, I want to communicate that at this time in history, there were only hunters and gatherers. There was no "tribe" aside from that- everyone was responsible for feeding themselves. Before agriculture there werent any other professions.

If this is the case, you get rid of the tribe completely and allow any two units you have come together to generate a new unit. When you found a city, you need to bring all of your units together and their combined population starts the city. Extra hunters or gathers might upgrade to scouts or builders at this point.
 
Last edited:
Thanks, good points about Agriculture over Hunting and all units being the "tribe". What about coastal cities ? Were they possible before Agriculture ?

I'd like one of the unit to have the ability to "store"/convert a small amount of resources and to have the attribute "population" that would represent the tribe size.

We can't have mechanisms that require movement coding for AI unit (unless someone manage to unlock it before the DLL source is available), so having a separate population/stock attribute for each unit then merge them back is not really possible. And if all units have those attributes, it would look like controlling multiple "tribes", wouldn't it ?

In my idea, the "tribe" unit has that role of central place, and the "scout" represent the gatherer/hunters parties looking for food in the near area, but still being a part of the "tribe" with a return to it at the end of each turn.

Maybe we could have a "settlement"/"Encampment"/pre-settler unit, and hunter/gatherer as one or two units. Two units (three with the "central" unit) with different characteristics may be better for gameplay but raise the problem of coding the ability to make a choice if we allow units creation before cities.

Or as you propose, the gatherer is the "central" unit, that makes a lot of sense.

About distance, a "soft" limit bring again the problem of AI controlled units, that's why I propose a mandatory return to the central unit (or x turn. I'd like to limit the zone in which the whole tribe could move during that phase, maybe by continent or a radius around the starting plot (by putting invisible mountains at the limit of the zone) to maintain "true" (or at least "regional") starting location on corresponding maps.

I'm unsure about the possibility to code units with a vision of their tiles only, but if it is I'm fine with testing it.

Another important discussion : what to do during that phase, how long, for which effects ?

Some thoughts :

  • What to do ?
    • finding a perfect spot for the first city
    • collecting resources to "growth" or "spawn" new units
    • progressing in early techs by our actions (finding/collecting resources, fighting, ...)
    • fighting other ("barbarians" or player) nearby tribes to steal their food/resources/population
  • how long ?
    • a fixed number of turn ? 5 ? 10 ? more ? less ? then "Agriculture" is discovered and every player can settle a city
    • until researching "Agriculture", which could take a different amount of turns depending on our actions
  • which effects ?
    • bigger population or more units when settling the first city
    • advancement in researching some techs
    • a specific civilization "trait" depending of the actions during the pre-agriculture phase
edit: about nomadic civilization even after agriculture, that's a possibility, but with separate units spawning rules that would make them AI only (unless coding a whole new UI for the human players, something I can't do by myself, too much work)
 
Top Bottom