Mirror Universe mod development

Mirror Universe mod; showcase and support/discussion/questions/suggestions/reviews

Moderator: thunderchero

User avatar
thunderchero
Site Administrator aka Fleet Admiral
Site  Administrator aka Fleet Admiral
Posts: 7849
Joined: Fri Apr 25, 2008 2:00 am
Location: On a three month training mission, in command of the USS Valiant.

Re: New Mirror Universe mod

Post by thunderchero »

Spocks-cuddly-tribble wrote: Fri Apr 24, 2020 2:37 pm That might be due to upgrading those buildings doesn't make any sense. Trek.exe codes for building effects can't handle this anyway. Those building IDs should not be changed at all.

As said before, even QD and DCER failed with just altering scanner upgrades. And solving AI sanner upgrade bug (upgrade gets added and old scanner stays).
If table is edited correctly it works perfectly. I have never had an issue. UE would edit it in by tech requirement order but covert sensor needed to be 3rd in list and it would be skipped by other races.

although that might be what I may try next, Change all offset to a single location per type (instead of 5 offsets 1 per race) so it has to scan though all structures of that type? Edit; Nope that did not work....

I have 4 scanner (3) upgrades and never leaves old scanner or lists 3 scanner upgrades in build screen (this was secondary issue when out of order).
Spocks-cuddly-tribble wrote: Fri Apr 24, 2020 2:37 pm Looking at Gowon's building files setup in BoP could give a clue to solving this (i.e. relative or absolute positions of building IDs in edifice.bst or something like this).
His mod has same issue.... factory will not upgrade after membership/subjugation unless it is tech 1 or until last tech upgrade is available and then it skips tech levels (tech 2 -> tech 5)

I did notice a table at 0x0018ddac "Game Setup Civ Minor offset" with main structures first and last ids and it was set correctly by UE, but even deleting this table had no effect. I think it is only used when minor are in control as AI.
User avatar
thunderchero
Site Administrator aka Fleet Admiral
Site  Administrator aka Fleet Admiral
Posts: 7849
Joined: Fri Apr 25, 2008 2:00 am
Location: On a three month training mission, in command of the USS Valiant.

Re: New Mirror Universe mod

Post by thunderchero »

Ok after tracing subsections,

4F40A0 checks CurrentGame.PlayerEmpire to switch to player type, but uses tech level of race in system.

I tried to edit the saved game file "techinfo" to my current tech level, but had no effect and when I went up in tech level the race in system did not increase like I did in saved game file. note; I might not have edited "techinfo" file correctly.

Edit; I did not edit saved game file correctly, when I edited my tech levels (Federation) it displayed higher tech but broke all upgrades :sad:

in my opinion upgrades should use controlling race tech level or at least that is what I expected?
User avatar
thunderchero
Site Administrator aka Fleet Admiral
Site  Administrator aka Fleet Admiral
Posts: 7849
Joined: Fri Apr 25, 2008 2:00 am
Location: On a three month training mission, in command of the USS Valiant.

Re: New Mirror Universe mod

Post by thunderchero »

well no progress on this issue, :evil:

I did notice something interesting, I have been membering the same race over and over.
sometime I will member at tech 5 and other time I will member at tech 7.
all my starting conditions are exact same.
but when giving gifts the max amount allowed will be higher when they are at tech 7.
User avatar
thunderchero
Site Administrator aka Fleet Admiral
Site  Administrator aka Fleet Admiral
Posts: 7849
Joined: Fri Apr 25, 2008 2:00 am
Location: On a three month training mission, in command of the USS Valiant.

Re: New Mirror Universe mod

Post by thunderchero »

I may have got lucky,

in subsection UI_SolarSys_4F40A0 I just started no op calls and jumps statements to figure out flow for upgrades for minors and majors.

I noticed major would go one way though code while minors would go the other way. So I focused my tests (many tests) and took a chance and no op these statements.

Code: Select all

004F416C 31 C0                   xor     eax, eax
004F416E 89 F2                   mov     edx, esi        ; buildingGroup
004F4170 8A 44 24 66             mov     al, [esp+184h+var_184.scienceLevel] ; techLevel
004F4174 E8 0B 58 F9 FF          call    Game_Upgrade_GetBuildingID

0x00f356c 31 C0 89 F2 8A 44 24 66 E8 0B 58 F9 FF -> 90 90 90 90 90 90 90 90 90 90 90 90 90
I have no idea why but all upgrades are working now and still switch to current races buildings

After this I will have to do some extensive testing to see if this effects AI or minor advancement and subjugated systems. but all tests so far on member minors have upgraded correctly.

On a side note, I noticed the scanner table has 5 entries. so we could have 4 upgrades. :idea:
User avatar
Spocks-cuddly-tribble
Code Master
Code Master
Posts: 1884
Joined: Sun Apr 27, 2008 2:00 am

Re: New Mirror Universe mod

Post by Spocks-cuddly-tribble »

thunderchero wrote: Fri Apr 24, 2020 3:41 pmIf table is edited correctly it works perfectly. I have never had an issue. UE would edit it in by tech requirement order but covert sensor needed to be 3rd in list and it would be skipped by other races.
Good to hear this finally works :up: , since there is so many codes with special case checks for this in trek.exe (race ID, building ID, output ID, AI only...). Maybe some of them is unused AI code (like build wonder task?).

thunderchero wrote: Fri Apr 24, 2020 3:41 pmI have 4 scanner (3) upgrades and never leaves old scanner or lists 3 scanner upgrades in build screen (this was secondary issue when out of order).
Leaving old scanner after upgrade is an AI only problem, see: viewtopic.php?f=219&t=63#p420

thunderchero wrote: Fri Apr 24, 2020 3:41 pmI did notice a table at 0x0018ddac "Game Setup Civ Minor offset" with main structures first and last ids and it was set correctly by UE, but even deleting this table had no effect. I think it is only used when minor are in control as AI.
Yes, this is just pseudo-upgrade code for main buildings of minor races when reaching a new evolution level.

thunderchero wrote: Sat Apr 25, 2020 2:13 pmwhen giving gifts the max amount allowed will be higher when they are at tech 7.
This is expected, see gifts to minor races topic. IIRC a tech multiplier.

thunderchero wrote: Sun Apr 26, 2020 11:09 amall upgrades are working now and still switch to current races buildings
Just wanting to make sure I understand you correctly: It now uses controlling race tech level, but still upgrades to the building type of the race in system (a very small drawback IMHO). If so then you solved it. :up:

EDIT: For players at least, but don't worry about minors, they use no upgrade code but remove old buildings and just replace with another random building type.

thunderchero wrote: Sun Apr 26, 2020 11:09 amthe scanner table has 5 entries. so we could have 4 upgrades. :idea:
May I ask what table are you referring to?
I don't know how many bugs is too many but that point is reached somewhere before however many in BotF is.
User avatar
thunderchero
Site Administrator aka Fleet Admiral
Site  Administrator aka Fleet Admiral
Posts: 7849
Joined: Fri Apr 25, 2008 2:00 am
Location: On a three month training mission, in command of the USS Valiant.

Re: New Mirror Universe mod

Post by thunderchero »

Spocks-cuddly-tribble wrote: Wed Apr 29, 2020 2:35 pm (like build wonder task?).
more like when membered by AI then subjugated by Ai then subjugated by human player lol
Spocks-cuddly-tribble wrote: Wed Apr 29, 2020 2:35 pm Leaving old scanner after upgrade is an AI only problem, see: viewtopic.php?f=219&t=63#p420
Yeah, I ran into this a few time in my current game.
Spocks-cuddly-tribble wrote: Wed Apr 29, 2020 2:35 pm Just wanting to make sure I understand you correctly: It now uses controlling race tech level, but still upgrades to the building type of the race in system (a very small drawback IMHO). If so then you solved it. :up:
No, they always build controlling race structures.
as klingons all main structure upgrades were built as klingon main structures.

note just about to finsh first full test game and had 2 upgrades skip from 2-4 don't know why but that was only glitch.
I will review turns 50, 100, 150, 200, 250, and 300 to see how ai did. shame I started game on normal, AI was a little weak because of it.
Spocks-cuddly-tribble wrote: Wed Apr 29, 2020 2:35 pm May I ask what table are you referring to?
005911AA 12, 13, 24, 14, 0
ida even shows 5 when hover over scanner upgrades
scanners.jpg
scanners.jpg (61.7 KiB) Viewed 905 times
User avatar
thunderchero
Site Administrator aka Fleet Admiral
Site  Administrator aka Fleet Admiral
Posts: 7849
Joined: Fri Apr 25, 2008 2:00 am
Location: On a three month training mission, in command of the USS Valiant.

Re: New Mirror Universe mod

Post by thunderchero »

Hey Spocks-cuddly-tribble,

after re-reading the aibldreq.bin topic it got me thinking. should the scanners and orbitals be removed from aibldreq?

with all the cheats AI uses do they need scanners? they seem to be able to see everything without them. And orbitals use population to know when to build.
User avatar
Spocks-cuddly-tribble
Code Master
Code Master
Posts: 1884
Joined: Sun Apr 27, 2008 2:00 am

Re: New Mirror Universe mod

Post by Spocks-cuddly-tribble »

Removing OBs should be fine, they get ignored anyway, albeit it's no AI improvement like removing trade goods.

EDIT: I never tested this, so you should check whether AI needs the entry, plus there is multiple AI codes for OBs, so maybe only some of them use aibldreq.bin.


I'm not sure about the scanners. The AI's map knowledge is very inconsistent and depends on the task each. It might screw up player tactics like money demandings and other things.
I don't know how many bugs is too many but that point is reached somewhere before however many in BotF is.
User avatar
thunderchero
Site Administrator aka Fleet Admiral
Site  Administrator aka Fleet Admiral
Posts: 7849
Joined: Fri Apr 25, 2008 2:00 am
Location: On a three month training mission, in command of the USS Valiant.

Re: New Mirror Universe mod

Post by thunderchero »

reviewing those saves took some time to write everything down.

game info
played as Klingons
T1 (tech 1) start, map size 48 x 24 (large), irregular, 15% galaxy density, many minors (27 out of 30), normal difficulty, randoms off, borg off
I save every 50 turns to review AI progress.

My summary
The AI did well for normal difficulty (my mistake and did not notice until turn 200). Ferengi did best over all, I caught the Cardassians off guard and they were easy targets. after that the other race rallied to the Cardassians defense, but their response was so unorganized I was able to win every combat and had no large engagements. After that my systems were up and running at full speed producing more than I needed to crush Ferengi and Romulans at the same time with 4 assault groups and 4 combat groups.

I was happy to see they were upgrading main structure quickly, but still colonized without terraforming completely.
first 150 turn AI kept up on tech research, but once I had so many systems they fell behind, but that is expected.
AI ship building was good until Ferengi and Romulan went to war and both sides had major losses.
Federation was isolated on left and stopped expanding quickly once they meet Ferengi and Romulans

here is what info I collected,

turn 50
Cardasians; (5)tech 3, (1) tech 4, 4 systems, meet 1 minor, 2 colony, 2 tt, 2 destroyers, 1 scout, poor terraforming, building structures
Federation; (3)tech 3, (3) tech 4, 5 systems, meet 1 minor (at war), starbase, 2 colony, 2 tt, 2 destroyers, 1 scout, poor terraforming, building structures
Ferengi; (4)tech 3, (2) tech 4, 5 systems, meet 5 minor (2 friendly 1 affiliated), starbase, 1 colony, 1 tt, 2 destroyers, 1 scout, poor terraforming, building structures
Romulan; (4)tech 3, (2) tech 4, 3 systems, meet 2 minor (1 friendly), starbase, 1 tt, 1 destroyers, poor terraforming, building structures and ships
Klingon; (4)tech 3, (2) tech 4, 6 systems, meet 1 minor (1 friendly), 2 colony, 1 scout, excellent terraforming, building structures and ships

turn 100
Cardasians; (4)tech 4, (2) tech 5, 10 systems, meet 3 minor (1 at war), starbase, 2 colony, 4 tt, 4 destroyers, 1 scout, poor terraforming, building structures and ships
Federation; (1)tech 4, (5) tech 5, 11 systems, meet 1 minor (at war), starbase, 2 colony, 4 tt, 4 destroyers, 1 scout, 1 strike, poor terraforming, building structures and ships, upgrades available but not building them
Ferengi; (6)tech 5, 12 systems, meet 7 minor (1 friendly 3 affiliated 1 membered), starbase, 1 colony, 3 tt, 7 destroyers, 1 scout, 1 strike, 3 vulcan, better terraforming, building structures and ships, upgrades available 1 upgraded
Romulan; (2)tech 4, (4) tech 5, 11 systems, meet 3 minor (1 friendly 2 membered), starbase, 4 tt, 6 destroyers, 4 scout, 12 xindi, 5 miradorn poor terraforming, building ships, upgrades available but not building them
Klingon; (6)tech 5, 15 systems, meet 3 minor (1 friendly 1 affiliated 1 membered), 3 colony, 1 scout, excellent terraforming, building structures and ships, all upgrades completed

turn 150
Cardasians; (3)tech 5, (3) tech 6, 13 systems, meet 5 minor and romulans (2 at war 1 friendly), starbase, 1 colony, 6 tt, 5 destroyers, 1 scout, 3 cruiser, 1 strike, poor terraforming, building structures home system upgraded
Federation; (4)tech 7, (2) tech 6, 14 systems, meet 4 minor (2 friendly 2 at war), 2 starbase, 2 colony, 5 tt, 5 destroyers, 6 cruiser, 1 scout, 1 strike, poor terraforming, building structures and ships, 60% upgraded
Ferengi; (5)tech 8, (1) tech 7, 21 systems, meet 10 minor and at war with romulans 1 system subjugated (4 friendly 1 affiliated 4 membered), starbase, 2 colony, 11 tt, 12 light raider, 4 scout, 5 strike, 7 war cruiser, 1 command, 3 vulcan, 7 angosion, 13 tholian, 14 andorian poor terraforming, building structures and ships, most upgraded
Romulan; (5)tech 7, (1) tech 6, 17 systems, meet 6 minor meet cards at war with romulans (2 at war 2 membered 1 subjugated), 2 starbase, 9 tt, 7destroyers, 6 scout, 4 xindi, 5 miradorn, 1 cruiser, 10 battle cruiser, 7 strike, poor terraforming, building ships, 60% upgraded
Klingon; (4)tech 9, (2) tech 8, 23 systems, meet 4 minor (4 membered), 5 colony, 2 tt, 9 scout, 6 battle cruiser, 4 talarian excellent terraforming, building structures and ships, all upgrades completed

turn 200
Cardasians; (4)tech 7, (2) tech 8, 13 systems, meet 6 minor and romulans (2 at war 1 affiliated), 2 starbase, 2 colony, 4 tt, 3 destroyers, 0 scout, 4 cruiser, 2 strike, 2 battleships poor terraforming, building structures most systems upgraded
Federation; (4)tech 9, (2) tech 10, 15 systems, meet 4 minor and romulans (1 friendly 1 affiliated 2 at war), 2 starbase, 1 colony, 6 tt, 4 destroyers, 4 cruiser, 2 scout, 2 strike, 2 command cruiser, some terraforming, building structures, 100% upgraded
Ferengi; (3)tech 11, (3) tech 10, 22 systems, meet 10 minor and at war with romulans 1 system subagated (1 at war 3 friendly 2 affiliated 4 membered 1 subjugated), 3 starbase, 1 colony, 36 tt, 50 light raider, 6 scout, 13 strike, 17 war cruiser, 5 command, 7 angosion, 6 tholian, 14 andorian better terraforming, building structures and ships, 80% upgraded
Romulan; (4)tech 9, (2) tech 8, 17 systems, meet 10 minor meet cards and terrans at war with ferengi (3 at war 2 membered 1 subjugated), 2 starbase, 15 tt, 10 destroyers, 4 scout, 1 xindi, 15 battle cruiser, 16 strike, 4 dread, poor terraforming, building ships, 90% upgraded
Klingon; (3)tech 13, (3) tech 12, 26 systems, meet 7 minor (5 membered), 13 colony, 20 tt, 9 scout, 6 battle cruiser, 6 heavy destroyers, 19 strike, 8 escorts, 9 attack cruisers, 5 tamerians, 4 talarian excellent terraforming, building structures and ships, all upgrades completed

turn 250
Cardasians; (5)tech 9, (1) tech 8, 1 system, meet 10 minor and at war with klingons, alliance with romulans, at peace with ferengi (1 minor at war), 1 ktarian scout, klingons all but wiped out carassians....
Federation; (5)tech 12, (1) tech 13, 18 systems, meet 8 minor and romulans and cardassians and at peace with ferengi (1 membered 1 friendly 3 at war), 4 starbase, 1 colony, 10 tt, 5 destroyers, 2 heavy deastoyer 14 cruiser, 4 scout, 6 strike, 6 command cruiser, some terraforming, building structures and ships, 90% upgraded
Ferengi; (5)tech 13, (1) tech 14, 22 systems, meet 10 minor and klinons at peace with terrans and cardassians at war with romulans 1 system subagated (1 at war 3 friendly 2 affiliated 4 membered 1 subjugated), 3 starbase, 1 colony, 54 tt, 6 light raider, 2 raiders, 2 scout, 2 heavy scouts, 5 escorts, 21 strike, 1 war cruiser, 3 heavy war cruiser 7 command, 7 angosion, 1 tholian, 14 andorian better terraforming, building structures and ships, 80% upgraded
Romulan; (5)tech 11, (1) tech 10, 16 systems, meet 14 minor meet cards and terrans at war with klingons and ferengi (4 at war 2 membered 1 subjugated), 2 starbase, 1 colony, 1 tt, 4 heavy destroyers, 2 scout, 3 battle cruiser, 3 strike, 7 dread, poor terraforming, building ships, 70% upgraded to type 3
Klingon; (4)tech 15, (2) tech 14, 48 systems, meet 12 minor ferengi at war with cardassians and romulans (9 membered, 2 subjugated), 9 colony, 196 tt, 9 scout, 21 attack cruiser, 23 strike, 28 escorts, 70 heavy cruisers, 5 tamerians, 4 talarian excellent terraforming, building structures and ships, all upgrades completed
User avatar
thunderchero
Site Administrator aka Fleet Admiral
Site  Administrator aka Fleet Admiral
Posts: 7849
Joined: Fri Apr 25, 2008 2:00 am
Location: On a three month training mission, in command of the USS Valiant.

Re: New Mirror Universe mod

Post by thunderchero »

Hi Everyone,

I started my next test game as Terrans, large map, 25% density, impossible, many minors.

I am at turn 175 and had not meet any majors yet, so I took a peak since turn processing was up to 25 sec.

here is what I found, what a mess. but will be fun very soon...
terran.jpg
terran.jpg (598.8 KiB) Viewed 781 times
User avatar
thunderchero
Site Administrator aka Fleet Admiral
Site  Administrator aka Fleet Admiral
Posts: 7849
Joined: Fri Apr 25, 2008 2:00 am
Location: On a three month training mission, in command of the USS Valiant.

Re: New Mirror Universe mod

Post by thunderchero »

Hi Everyone,

I have been working on improving AI in Mirror universe mod.

I have made many adjustments and got AI to terraform all planets and build less troop transports

I switched race to see how they were doing and found an armada of Ferengi ships attacking the Cardassians.

48 fleets of 9 (432 ships) and no troop transports
ferengi.jpg
ferengi.jpg (493.88 KiB) Viewed 752 times


btw I was hiding in lower right still at tech 1 and no ships... I was just letting the AI run.

drawback is at turn 227 turn processing was 2:40 sec and that was after I closed and restarted game.

EDIT; here is another test, single major vs minors look at those 1100 ships between those two systems
turn processing 35 sec after I closed and restarted game.
card.jpg
card.jpg (449.6 KiB) Viewed 745 times


and only 1 troop transport in those (other systems had TT's for assaulting systems but highest at 1 system was 26)
User avatar
thunderchero
Site Administrator aka Fleet Admiral
Site  Administrator aka Fleet Admiral
Posts: 7849
Joined: Fri Apr 25, 2008 2:00 am
Location: On a three month training mission, in command of the USS Valiant.

Re: New Mirror Universe mod?

Post by thunderchero »

Spocks-cuddly-tribble wrote: Sat Jan 27, 2018 10:48 am Here is the Federation AI special code for not attacking & liberating Minor Races. So you could switch the feature to empire ID 2 ferengi or disable via ID 5+.

Code: Select all

federation prefer to attack subjugated systems?
40E958                 cmp     cx, 1 // 0xdd5b

federation don't invade free minors
40EA8E                 cmp     word ptr [ebx+8], 1 // 0xDE92

federation free subjugated minors
41E758                 cmp     word ptr [eax+8], 1 // 0x1DB5C

Federation minor race gift/traderoute bonus code

Code: Select all

-amounts- (gifts)
40780D                 cmp     ah, 1 // 0x6C0F
-effects- (gifts & traderoutes)
407B91                 cmp     ah, 1 // 0x6F93
Instead disabling/changing the empire ID, you could inverse the corresponding multipliers:

fed1 (1.5 -> 0.666)
fed2 (0.5 -> 2.0)

See Gowron 'Gifts to Minor Races' Fed1 / Fed2 values.
Looks like I will be looking for more code locations for Terran AI behavior

with my test with above code they still membered every minor they meet.. :sad:

they did nothing about the minors that declared war on Terrans.

although this really made me notice how weak the federation AI is, basically they do nothing except explore, member minors and train ships crew.
User avatar
Axis
Commander
Commander
Posts: 489
Joined: Sun Aug 16, 2015 8:28 am
Location: Finland
Contact:

Re: New Mirror Universe mod

Post by Axis »

Make mirror universe mod great again :lol:
Impress the Empress.
User avatar
Spocks-cuddly-tribble
Code Master
Code Master
Posts: 1884
Joined: Sun Apr 27, 2008 2:00 am

Re: New Mirror Universe mod

Post by Spocks-cuddly-tribble »

I'm afraid there is no realistic, useful advices on improving the AI's map datas, fleet handling and diplomacy at this point. As told these mechanics are implemented in a very intricate and primitive manner and should be replaced entirely, together with the turn lag (not possible with unknown core files).

So let's focus on possible tasks and the good news.


You got the AI to terraform all its systems. How exactly? And do you already use an AI terraform speedup cheat?


Your maps look as if AI colonized most systems in range? Do you use the test code for this and/or set all AI colonize task modifiers to 10+?


Ferengi AI is still most powerful. Have you tried using custom AI income multipliers? See: viewtopic.php?f=216&t=1805#p24589 @5
Code can be changed into AI empire specific values and used with default code @3 (but local & global credit bonuses from buildings get less balanced in this case).


There is some more AI federation code hinted here: viewtopic.php?f=221&t=2401#p50814



I never tested this, but looking at AI core code this might improve/fix a structural bug:

Code: Select all

AUTO:004072E6                 call    sub_4101D0 AI_Ship_Tasks -> remove

AUTO:00407310                 call    sub_40D250 nullsub_20 -> call sub_4101D0 AI_Ship_Tasks
So fingers crossed.
I don't know how many bugs is too many but that point is reached somewhere before however many in BotF is.
User avatar
thunderchero
Site Administrator aka Fleet Admiral
Site  Administrator aka Fleet Admiral
Posts: 7849
Joined: Fri Apr 25, 2008 2:00 am
Location: On a three month training mission, in command of the USS Valiant.

Re: New Mirror Universe mod

Post by thunderchero »

Spocks-cuddly-tribble wrote: Thu May 07, 2020 12:21 pm You got the AI to terraform all its systems. How exactly? And do you already use an AI terraform speedup cheat?
Yes I have have your patches added, but have not taken time to test without them and not sure if they are needed.

the AI will still colonize as soon as possible, but they will go back and terraform as population grows.

The reason they were not doing this is because they stop building colony ships during war time even a minor war verse a minor.

so I looked at the current ship build lists and went with the Ferengi unopposed expansion list and removed a few troop transports replacing them with other combat ships. I found the magic number was 4 colony ships and 4 troop transports of the 36 slots

after that they kept colonizing and did not build too many troop transports. now in my test I gave every race and every agenda same list.

note; I noticed there looks to be an extra agenda at end of list?
Spocks-cuddly-tribble wrote: Thu May 07, 2020 12:21 pm Your maps look as if AI colonized most systems in range? Do you use the test code for this and/or set all AI colonize task modifiers to 10+?
tbh I have so many patches added I would have to check but not sure of code location and can not find it at the moment.

right now my mind is melting looking at all the "cmp 1" trying to help feds
Post Reply

Return to “Mirror Universe mod”