Economics, Green, EFFIC
Economics, Free Market, POLICE
They used to work:This test was with SMACX 3.4 patch (latest) from the downloads section.
Is there any way to check if how these settings work was indeed changed?
Any changelog to search for that?
The former thing is really bad. :(
I did another 2 test runs.
In the last one 3(!) of the factions had exactly 1 land former! :o
It can be somewhat improved by adding "Build" as priority for faction, but then they tend to build WAY too many buildings.
I thought the idea was to have AIs make good SE choices, rather than favored ones.
0041FF65 mov eax, dword ptr ds:[edx+824] EXPLORE
00420067 mov ecx, dword ptr ds:[eax+C08] Activates the Governor^EXPLORE: Scouts, Colony Pods, Transports
00420092 mov eax, dword ptr ds:[edx+828] DISCOVER
00420194 mov ecx, dword ptr ds:[eax+C0C] Activates the Governor^DISCOVER: Projects, Prototypes, Probes, Network Nodes
004201BF mov eax, dword ptr ds:[edx+A54] Advanced Governor Settings
004202AD mov eax, dword ptr ds:[eax+724] Governor
004203AF mov ecx, dword ptr ds:[eax+C18] Turns the Governor on or off
004203DA mov eax, dword ptr ds:[edx+A54] Advanced Governor Settings
004204C8 mov eax, dword ptr ds:[eax+82C] BUILD
004205CA mov ecx, dword ptr ds:[eax+C10] Activates the Governor^BUILD: Formers and Facilities
004205F5 mov eax, dword ptr ds:[edx+830] CONQUER
004206F7 mov ecx, dword ptr ds:[eax+C14] Activates the Governor^CONQUER: Military Units, Command Centers, etc.
Is there some short introduction what tools one needs and how to do a (simplest) change in terranx.exe and test it?
What we have now:
A) Poor AI logic, but ability to influence it via the textfile (old way)
B) Improved AI logic, but ignores(?) the textfile (new way)
It appears that B is not much better than A unless other significant changes are done.
For example, the "agressive" factions tend to build a lot of units, like WAY too many, often whatever amount they can build before running out of minerals.
But then the new logic tells them to run democracy and/or wealth, which defeats their "conqueror" purpose due to either low SUPPORT or low MORALE or both.
In these few test runs I did, Spartans were running Democracy each time no matter if they were at war or not.
It seemed to me that democracy+freemarket+wealth is a hard-coded choice as most factions chose it.
It makes sense for a human player (though not always), but AI is more complicated due to problems in other parts of it's logic.
Due to way how the "conquer" AI currently works, SUPPORT is the single most important SE attribute for aggressive factions as it is the only way for them to not run out of minerals and stagnate with mass of obsolete units.
In such circumstances Power is almost a no-brainer choice for them as the --INDUSTRY is easily swallowed by bonuses from difficulty (IIRC it's equivalent of ++INDUSTRY at transcend) and building less units of higher quality is currently the way to go for the AI as it is not particularly apt in using other force multipliers.
Also, at certain circumstances (Power+Police/Miriam/SpaceRefinery+bases>4pop) extra SUPPORT adds more to a faction's ability to build than extra INDUSTRY, due to freed-up minerals.
Similarly "build" AI tends to build WAY too many buildings even exceeding it's energy production with maintenance requirements and seemingly making little notice of it.
For it, giving more INDUSTRY is a big no-no as it just means it will out-build itself sooner.
Another, less circumstantial insight is that AI does not benefit from high/prioritized GROWTH quite as much as a human player due to these factors:
1. It does not know how to popboom. When it happens, it's an "unintended consequence".
2. It has growth bonuses from difficulty level (IIRC ++GROWTH), which do not work towards popbooming.
3. It is really inefficient at drone control. It does not even check that base is 1 turn from growth and attempt to convert one citizen to doctor.
Reading the previously linked thread I got the idea that rewriting parts of AI entirely might not be feasible.
What instead could be done is:
1. Rework priority values of units and buildings.
This may suffice to make AI build more of certain types and less of others.
I think this might actually be in the text files?
Actually alphax.txt has basic unit list whereas one of the parameters is "9=Terraformer", but this is never actually used on terraformer, putting -1 (autocalculate) instead.
2. Switch priorities on/off depending on circumstances.
E.g. many factions start without Centauri ecology, which is crucial (if the former building issue is fixed).
If then "Explore" is added as a priority to them, they will research Centauri Ecology.
However, Explore is also added to governor priorities, which means that they will build a significant amount of "explore" units - colony pods and scouts.
This works until there is space to put down colony pods into, but continues even after there is none left.
So instead the Explore priority should be switched off at this point.
I actually found that there are some mentions of such switches, but not sure if this refers to UI or actual switch for AI:Code: [Select]0041FF65 mov eax, dword ptr ds:[edx+824] EXPLORE
00420067 mov ecx, dword ptr ds:[eax+C08] Activates the Governor^EXPLORE: Scouts, Colony Pods, Transports
00420092 mov eax, dword ptr ds:[edx+828] DISCOVER
00420194 mov ecx, dword ptr ds:[eax+C0C] Activates the Governor^DISCOVER: Projects, Prototypes, Probes, Network Nodes
004201BF mov eax, dword ptr ds:[edx+A54] Advanced Governor Settings
004202AD mov eax, dword ptr ds:[eax+724] Governor
004203AF mov ecx, dword ptr ds:[eax+C18] Turns the Governor on or off
004203DA mov eax, dword ptr ds:[edx+A54] Advanced Governor Settings
004204C8 mov eax, dword ptr ds:[eax+82C] BUILD
004205CA mov ecx, dword ptr ds:[eax+C10] Activates the Governor^BUILD: Formers and Facilities
004205F5 mov eax, dword ptr ds:[edx+830] CONQUER
004206F7 mov ecx, dword ptr ds:[eax+C14] Activates the Governor^CONQUER: Military Units, Command Centers, etc.
Yeah, situational priorities would be highly desirable. (Although I'm wondering if it might be better to have formers buildable from the start and have Centauri Ecology give some important terraforming instead.)QuoteEDIT:
I just tested, the Transcend difficulty bonus for AI is +++INDUSTRY and +++GROWTH (previously I wrote its ++).
AI can also exceed the -50% "row" reduction (+++++INDUSTRY) limit, I've seen it have rows with length of 3.
Yes...what actually happens, I think, is that it has a decrease to the units per row, and then INDUSTRY and GROWTH can reduce that further, down to 50%.
SMAX patch has almost NO AI improvement. Just the terraforming basics. Nothing from all the other, important stuff. So you have seen nothing.
Ok, I downloaded OllyDbg and tried to open terranx.exe.
Now I'm looking at large amount of asm code.
How do you proceed from here?
Like, what are your routine tasks to do some change?
Let's say some very small one.
Can't name it because not sure what's "small" in terranx.exe.
I also found some extra info in some of the threads around here and it appeared to be more structured than just a bunch of asm (some function lists, etc).
Do you use any of that?