[Mod] Uchronia - Another Humankind History (W.I.P.)

Gedemon

Modder
Super Moderator
Joined
Oct 4, 2004
Messages
11,227
Location
France
MainLogoWide-small.jpg


**********

This is the development thread for my main project, trying to bring to Humankind some of the concepts we've discussed and were implemented in my civ6 overhaul project.

As for the civ6 project one of the goal is to provide a more credible background simulation that un-streamline some elements of the game while not adding micro-management.


True Culture Location and dynamic spawning

Historical territories unlock Culture choices, Independent People can spawn in those territories and evolve into a Major Empire after some time.
Spoiler Unlocking Territories are shown in Cyan ([F3] key to display) :
upload_2022-3-26_4-4-22.png

Spoiler 2 players start and Dynamic spawning from Independent People :



Combat using posture selection

Battles are (auto)resolved using posture selection as described by Boris Gudenuf in this thread.

An offensive or Defensive posture is selected at the start of a battle by each side, and the result is calculated using modifiers based on the respective starting postures and armies composition.
Spoiler Posture selection before battle :
upload_2022-3-26_4-11-45.png

Spoiler Battle results :
upload_2022-3-26_4-14-41.png



Other features

Technology cost modifiers, globally raised for each Era, and reduced for each techs known by Empires with active diplomatic relations.
Spoiler Here Bronze Working had already been researched by an Ally with a Research agreement :
upload_2022-3-26_4-40-32.png


Historical Districts: initial visual appearance of districts is kept over eras/capture unless destroyed
Spoiler Vera Cruz, Alternate contemporary Era :


Planned features
  • Limited City sprawl in earlier eras: district placement only adjacent to city center, hamlets or harbors until the steam engine
  • Real population numbers: birth/death ratio, social stratification, migration, personnel for armies
  • Resources: Stockpile in settlements, exchange over sea/road/rivers between territories, captured by units
  • Equipment: created from resources in cities, exchanged/captured like resources, used to upgrade/heal units
  • More RFC-like mechanisms related to Culture progression
 
Last edited:
Latest version: v1.0.0.1 alpha

Installation Instruction for BepInEx plugins



(note that finding your installation path will differ for non-steam version of the game)


1/ Install BepInEx if you've not done that part already



2/ Install or update the mod as a BepInEx plugin

  • Download the "Gedemon.Uchronia.1.x.x.x.zip" plugin archive file attached to the latest alpha post (linked at the top of this post)
  • Download the "Uchronia.zip" assets archive file attached to this post
  • Extract the plugin archive file into the "..\Steam\steamapps\common\Humankind\BepInEx\plugins" folder, replacing previous version when updating
  • Extract the assets archive file into the "..\Documents\Humankind\Community" folder (delete previous version folder first when updating)
  • Start a new game, consider finishing previous games before updating as long as this is alpha...


3/ Compatibility


This mod is not compatible with the True Culture Location mod, as they change common methods. TCL v1.0.5.0 or higher will deactivate itself automatically if it detects Uchronia, but not previous versions, those have to be manually removed when you want to play this mod.
 

Attachments

  • Uchronia.zip
    53.8 KB · Views: 72
Last edited:
Last edited:
First alpha attached.

This is a *real* alpha version, released to test the new mandatory combat auto-resolve with posture in Neolithic and early classical: sieges are not handled yet.

The plugin is based on the TCL mod, with some options removed.

(edit: outdated file removed)
 
And first "playable" alpha

Code:
- bug fix : prevent hanging on sieges

edit: removed outdated link
 
Last edited:
New alpha
Code:
- AI: change next faction choice weight to lower transcendence and lower desire for a Culture the AI has not unlocked by territory
- AI: attacking animals AI can use more postures (but no decision check based on strength)
- AI: AI Empire will use simplified decision when attacking animals (pursuit or all out attack), to reduce animal escape rate, instead of the normal decision tree used against other Empires
- feature: independent people can spawn with a major Empire definition if it's not already taken (you can start alone on the map with one Neolithic slot and the other major Empires will spawn from those IP, it's a way to make sure TCL occurs)
- feature: unify all independent people of the same faction under one major Empire on evolution (or spawn from an IP)
- balance: time before spawning a major from IP is relative to the number of free slots available (will be much faster in earlier era with a small number of Neolithic players)
- balance: set global era to "ancient" after 1/20th of the game's length even if it still doesn't match the active major Empires average era (allows IP to spawn if multiple major AI didn't manage to claim an unlocking territory)
- balance: independent people can't spawn adjacent to another IP in ancient era (limit territories claimed by IP when a Major faction as a lot of possible spawn like Phoenicia, Olmec or Bantu)
- bug fix: side with a retreating army get a movement penalty for auto-resolve calculations
- bug fix: don't use "attrition" type of victory when the "attacker" is the defender side of a siege doing a sortie, but "retreat" (to break the siege, but also to prevent the base game code to run an ownership change on battle's capture points leading to the settlements being captured when it should not)
- bug fix: prevent hanging when checking for animals in the defending side units when there are "fortifications"

Showing the new spawning mechanism from Independent People: 2 Neolithic players at start, no starting outposts, turn 33 (me slot 1 = Nubians, AI slot 2 = moved from Mesopotamia to become Egyptian)
Clipboard-12-2neolithic players start turn 33.jpg


edit: removed outdated alpha file
 
Last edited:
turn 70 (Garamantes from Egyptians evolution)
Spoiler :
Clipboard-13- turn70.jpg
 
and turn 266 (auto-play), Mexicans (ex-Aztecs) decided to colonize the Old World
Spoiler :
Clipboard-14-turn266.jpg


And the New World...
Spoiler :
Clipboard-15 turn266.jpg
 
Auto-play up to turn 300, seems stable.

The Norsemen lived up to their name !
Spoiler :
Clipboard-16-turn300.jpg


And some cities had a long history
Spoiler Veracruz :
Clipboard-21-Veracruz.jpg

Spoiler Toulouse :
Clipboard-20-Toulouze.jpg
 
alpha4
Code:
- Feature: shared knowledge, tech costs are reduced based on how many Major Empires already knows it (if you have active treaties with them, based on level, Research Agreement giving the higher reduction)
- Balance: raise base tech cost per era and raise some individual high tech costs (can be changed in the XML files)
- Balance: raise required stars per Era (can be changed in the XML files)
- Balance: change base end turn value to 500 (can be changed in the XML files)
- Balance: retreating Armies move at 1/2 speed
- Bug fix: allows dead AI players to resurrect as intended
- UI: add color coding to strength modifiers in combat results screen

You need to download the new Uchronia assets zip with the new XML files (extract in "..\Documents\Humankind\Community", delete the previous "Uchronia" folder first if you're updating)

edit: deleted outdated file
 
Last edited:
Toying a bit with the concept of Farmer Quarters outside of cities, and industrial, commerce and science quarters adjacent to city center (or harbors, hamlet) until steam engine...

no change to EQ or common quarters.

Clipboard-39.jpg


Spoiler :
upload_2022-3-28_2-7-16.png


upload_2022-3-28_2-8-17.png


upload_2022-3-28_2-8-49.png


upload_2022-3-28_2-10-16.png
 
Last edited:
Toying a bit with the concept of Farmer Quarters outside of cities, and industrial, commerce and science quarters adjacent to city center (or harbors, hamlet) until steam engine...

Agreed. I am not aware of large cities where food production happens downtown. The nature of cities requiring large amounts of food to be brought in definitely supports untethering Farmers Quarters, though I am not entirely when historically that shift should happen.
 
I've also added a limitation factor by population for districts, the sum of all districts (except faith, resources, city center and administrative center) must be < (CityPopulation*DistrictPerPopulation)+FreeDistricts

DistrictPerPopulation (0.75) and FreeDistricts (2) are set in the XML files for tweaking.

Next step would be to add upgrades to each generic districts (even if you can't place a district on a new position, you can replace an existing district with another), that would go well with the "Historical District" features as appearance would match production bonuses.
 
So I'm slowly finding my way in the UI, took me longer than I though to find where to update this tooltip texts, as there was a method doing it, that method was called, was setting the correct values, but those where updated (again) by another method later in the process. And so I did not understand at first why my changes made in the first method were not visible...

But that's the kind of things I can't put in the mod without any in game explanations, and I've learned a few things in the way.

upload_2022-3-30_23-53-46.png
 
I've finally fixed an infinite end of turn bug that appeared in my 2 latest auto-play game, I'll try another one now before releasing the next alpha...
 
New alpha (requires to get the new Asset/Database file)

DLL change
Code:
- Gameplay/UI: Some Districts (Garrison and the Farmers, Makers, Market, Common, Research and Emblematic Quarters) require Population and the amount you can build is limited
- Gameplay: update City name on capture or when changing Culture (untested)
- Gameplay: update District Era/Culture when it's replaced
- Database: handle more gameplay changes from the XML files
- Balance: defender AI in cities may wait longer before retreating, and do not retreat immediately unless already damaged
- Bug fix: disable the "Starting Outpost" option for Major Empire in MP as it causes desyncs
- Bug fix: enforce the new End Game Turn limit
- Bug fix: correct sorting of units during battle auto-resolve (from stronger to weaker)
- Bug fix: get correct Attacker/Defender Battle Posture during Sorties
- Bug fix: all the losing side armies now leave a city on capture
- Bug fix: prevent an end of turn lock by fixing a division by zero case
- Bug fix: prevent an end of turn lock by manually removing deleted battles from an army "locked by battle" state before synchronizing
- Some code cleaning

Database/Asset change:
Code:
- Gameplay: Add ModDefines values for population-dependent Districts : limit = (SettlementPopulation x Defines.DistrictPerPopulation) + Defines.FreePopulationDistrict
- Gameplay: Farmer Quarters can be placed anywhere
- Gameplay: Makers, Market and Research Quarters must be placed near one of those: City Center, Administrative Center, Harbour, Hamlet, Train Station, Airport
- Gameplay: Harbour, Train Station and Airport allow City expansion (like the Administrative Center and Hamlet)
- Bug fix: Add missing adjectives in the Translation DB for Cognomen (fix "[REDACTED]" issue when using another langage than English, but it's not a real translation: the Cognomen texts are still in English)

(edit: remove outdated link)
 
Last edited:
Just reporting the following bug that occurs during a new game creation on my end.

The operation was canceled.

at Amplitude.Mercury.Game.Game+<DoStart>d__4.MoveNext () [0x00157] in <29589d60cdad466c9b3bb06778332f45>:0
at Amplitude.Coroutine.Run () [0x00019] in <0ca2913d0b384786840cb0d0a1b1e025>:0

I have updated both Asset and DLL for Uchronia and even reinstalled BepinEx to be sure (and verified game file integrity on Steam). I purged any cache I found, but I might be missing some. I may not have the same DLC or additional contents than most, or maybe there's another reason for the bug. For example, I can't see the territory names when pressing F3 while using TSL (on its own or as part of an earlier version of Uchronia that I tried). I'll also mention that the new game options for the latest TSL version do not show up for Uchronia (on my side at least). I can provide more info if needed (I'm not sure where the logs are, I can do screen captures, etc).
 
Just reporting the following bug that occurs during a new game creation on my end.



I have updated both Asset and DLL for Uchronia and even reinstalled BepinEx to be sure (and verified game file integrity on Steam). I purged any cache I found, but I might be missing some. I may not have the same DLC or additional contents than most, or maybe there's another reason for the bug. For example, I can't see the territory names when pressing F3 while using TSL (on its own or as part of an earlier version of Uchronia that I tried). I'll also mention that the new game options for the latest TSL version do not show up for Uchronia (on my side at least). I can provide more info if needed (I'm not sure where the logs are, I can do screen captures, etc).
thanks, the logs are here if possible:
https://forums.civfanatics.com/thre...for-the-giant-earth-map.673062/#post-16190982

If you're using an older version of the TCL mod, it may cause incompatibilities (v1.0.5.0 of the TCL mod should deactivate itself automatically if it detects Uchronia, but not previous versions)

I'll add a section about compatibility in installation instructions.
 
Thank you, I included the latest Diagnostic file in this reply (extension was changed to TXT due to CivFanatics not allowing HTML files).

First critical error ("Object reference not set to an instance of an object") occurs right after this "normal" error: [Gedemon] [EndGameController] SetEndGameCondition postfix: __instance.TurnLimit = -1, baseTurnLimit = 500, .CurrentGameSpeedDefinition.EndGameTurnLimitMultiplier = 1

[EDIT: I have updated TCL, but left it disabled using the "Humankind Mod Tool" for BepinEx plugins. I see the new [DEBUG] option about showing the territory names using F3, which is the most obvious option I'm not seeing in the latest Uchronia.]

[EDIT 2: I managed to work around this bug and have a working game by changing the victory conditions and disabling the Turn limit End Condition (as this seemed to be the source of issue of the first critical error above). ]
 

Attachments

  • Diagnostics (2022'04'02 @1011'13''429''') .txt
    739.1 KB · Views: 32
Last edited:
Top Bottom