Immortal AI starts with 2 settlers, so from a starting unit standpoint, Civ VI immortal is roughly equivalent to Civ V Deity.
so my assumption that civ 6 still uses cheating enemies was correct.
what's so hard about writing an algorithm that has the enemy leaders adapt to their position, sight and situation and keeps track of previous events so as to adapt gameplay throughout the progress of the turns based on the previous events?
I could probably write one by myself within 3 Months... implementation would take about 9. 12+, if I had to rewrite and test it for new features constantly.
It's not like you have nothing to go off of. the forum has an entire section dedicated to strategy including building order, field prioritazation and teching... and others.
For example, a part could be something like this:
Caesar's turn
Legion Unit sees barbar/enemy unit
is enemy unit weak against Legion unit?
yes > move toward it and engage
no > is Legion unit 1.5 times stronger or more?
yes >engage
no>flee
engaging subroutine (over several turns, threaded)
engagement ends
has unit survived?
yes > heal & continue as before
no > make new Legion, research Knights, build wall/fort/castle in city/cities closest to engagement location.
all you really need are sufficient getter and setter methods, to get all the information that should impact the decision making and it can easily enough be interwoven with personality traits.
but it might require switching from the XML architecture to a Object oriented compilor Programm (C#, Java or similar) with a modular architecture and a mod interface.