Those working on this mod do so in their own free time and for no pay.
Show your support for them by enabling ads on this site!

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Mord

Pages: [1]
1
Thread necro...

What if you modify SpaceUnitTargetingPriorities.xml for the desired Priority_Set - in this case "Capital" - to entirely remove Fighters and Bombers? Then the AI will literally never waste shots on craft it can't possibly hit.

Obviously you would not want to modify the "Capital" Priority_Set if there are capital ships with anti-starfighter batteries, but such ships should probably use a different Priority_Set anyway.

2
Discussion, Suggestions & Feedback / Re: GM FTGU Strat?
« on: December 21, 2018, 04:48:50 PM »
... or, actually, I found an alternative while playing around. It turns out that at the start of the game, Boba Fett can solo the entire Empire. Obviously you don't want him fighting the fleets, but he can wipe out the entire Imperial ground force and conquer all their starting planets, all by his lonesome, by roughly Week 8.

This just confirms what we all already knew: Boba Fett is the baddest mofo in the galaxy.

EDIT: Actually, Boba Fett can take out the entire Empire and Republic. He will do it for 3500 credits and he'll get it done in 27 weeks. What a guy.



3
Yeah, to prevent crashing, the three main factions being the New Republic, the Empire of the Hand, and the Imperial Remnant, The devs had to place a planet for each of the three factions outside the galactic map. It had something to do with story scripting or something. I asked in an earlier thread as to why the Art of War GC wouldn't end with all planets captured, it's because of those 3 planets. The only possible place for the Imperial leader to spawn is on the IR planet outside the GC map (Which you can't access).
Oh man, I thought that was just a bug. So there's really never a victory screen, huh... I guess you could think of that as some kind of commentary on the cyclical and ultimately futile nature of war if you were inclined to read deeper meaning into it. ;)

4
Discussion, Suggestions & Feedback / Re: GM FTGU Strat?
« on: December 20, 2018, 10:58:53 PM »
It's a pretty gnarly strategic situation, no denying. You're sandwiched between the NR and the Empire no matter which direction you expand, and you don't have many high income planets available early on. Securing them is another matter entirely.

The AI seems generally reluctant to go after the purple territories and you can use this to your advantage - leaving strategic buffer planets can save you ships you need to punch through defenses elsewhere.

CC VSDs are your best bet early on, and I recommend rushing for an SSD ASAP. If you can expand to the NE and push towards Mon Calamari, the Phindar-MonCal corridor is totally defensible and from there you can expand south into the self-contained southeast fork of the map. The trick there is preventing the Empire from getting all up in your face while you are busy with the NR.

5
I'm just here for the David Bowie reference.

6
Discussion, Suggestions & Feedback / Re: New Units thought.
« on: June 13, 2018, 06:24:13 PM »
All Seven Dark Jedi in one squad for Pentastar
Sweet Georgia Brown. :o

Good luck with that one, Katarn.

7
EaW and FoC Mods / Re: Coding the AI
« on: May 29, 2018, 01:51:01 PM »
Very short answer:
No, the top-level Goal tags are not hardcoded. The code inside the Goal tag matters a lot, both to the Goal itself and to other code that refers to the Goal.

Somewhat longer answer:
If you're interested in the AI, you should read this. You can create new goals with new top-level tags, but creating new goals by itself won't do anything for you. "Goals" are things the AI might like to do, but whether or not the AI will actually try to do them is governed by a "goalfunction" that links the goal to a perceptual equation. The perceptual equation is a way for the AI to evaluate the desirability of pursuing that specific goal at that specific moment. In your example, the goal "Corrupt_Planet" (AI_Goals_Underworld_Galactic.xml) is governed by the goalfunction also named "Corrupt_Planet" (AI_Goalset_Underworld_Galactic.xml) and the perceptual equation named "Should_Corrupt_Planet" (AI_Equations_Underworld_Galactic.xml). Once the AI has decided to pursue a Goal, it then uses a Plan to actually execute tasks in pursuit of that goal. The only Plan available to the AI in pursuit of the "Corrupt_Planet" goal is found in "AI_Plan_Underworld_DeploySaboteur.lua".

8
Discussion, Suggestions & Feedback / Re: List of Mining Colonies
« on: May 28, 2018, 10:19:13 PM »
Yea, I know Thrawn's Revenge doesn't use the planetary ability icons much, but they would be really handy in this case... there's even an icon for mining colonies hidden in the commandbarcomponents.mtd that was left on the cutting room floor.

9
Discussion, Suggestions & Feedback / Re: SSD's Unplayable?
« on: May 28, 2018, 09:51:50 PM »
I think the single biggest reason for the problems with SSD-size vessels in Thrawn's Revenge is that for some reason the team moved them to <Space_Layer> Capital </Space_Layer> instead of the original <Space_Layer> Super </Space_Layer> that the vanilla Executor was on. This means that the enormous SSD-size vessels have to pathfind around other capships such as ISDs and MC80s instead of just going "under" then. The <Layer_Z_Adjust>-1200.0</Layer_Z_Adjust> doesn't mean anything because regardless of where the vessel is rendered as being depthwise, the layer value is what actually determines its pathfinding.

The vanilla Executor also has

Custom_Hard_XExtent
Custom_Hard_YExtent

I think these also have something to do with pathfinding, because when I took them off for my mod the Executor just kind of spun around helplessly...

10
Discussion, Suggestions & Feedback / Re: Ground combat auto-resolve
« on: May 28, 2018, 09:23:47 PM »
It would really be great to see something done to balance out turbolasers for this (and potentially some other units and buildings?), as right now if I play the invasion I can often not lose a single unit.  However, when auto resolving it seems the enemy planet having ONLY turbolasers pretty much guarantees I will lost a huge number of units from even an overwhelmingly large ground force.

I've seen talk that there is some sort of "point" value assigned to units for auto-resolve, does anyone know of a way I could change that value for turbolaser installations?  Ground combat is tedious and boring to actuall play IMO, and losing 90% of my huge army to a just turbolasers on nearly every ground attack is just as bad...

There is indeed a "point" value. The tag is named <AI_Combat_Power>. If you have the MEG file editor you can extract SPECIALSTRUCTURES.XML from Config.meg, edit it, and re-add it. I think the object you want to edit is "Template_Galactic_Turbolaser_Tower_Defenses". The AI Combat Power value is 1500 by default, which is pretty darn high for ground battles.

11
This is something I'm also curious about. The way the AI assembles taskforces appears to be totally agnostic of the forces actually deployed to defend the target. If you look at ConquerOpponentPlan.lua, the space taskforce is defind as having "MinimumTotalSize" of 10 and "MinimumTotalForce" of 5000, but A) I don't know how either of these things are evaluated when adding units to the taskforce and B) I don't see anywhere that indicates the AI is going to send a bigger force at a more heavily defended target... until repeated failures on the ConquerOpponentPlan cause the contrast to be dialed up hard enough to trigger CrushPlan.lua, which has a MinimumTotalSize of 20 and MinimumTotalForce of 10000.

This here is the single most comprehensive overview I know of of how the EAW AI works, but even this doesn't go very far into implementation. I think one of the mod team will have to offer an actual explanation of how the AI counts units towards task force TotalSize/TotalForce values, and whether those values are in any way affected by what you've got in orbit.

12
EaW and FoC Mods / Re: Autoresolve and AI_Combat_Power
« on: March 01, 2018, 10:56:18 PM »
So, a follow-up for posterity... The <damage> tag does not have anything to do with auto-resolve. Instead, it has an effect on whether or not a unit can be used properly by the AI. I realized this when I pulled the <damage> tags off all my spaceships and suddenly the AI got stupid - there's a programmer comment in uniqueunits.xml on the Swamp_Speeder, of all places, that points to the culprit directly:
Quote
<!-- Obsolete, but required for"combatant" behavior, which lets the AI use a unit -->

So, that's one case of a mysterious, apparently useless tag's function solved.

13
Vong ships didn't have shields per se. That's an area where we did once figure out what we'd likely do for them to represent Dovin Basals, years ago.

Well don't leave us in suspense... What did you figure out you'd likely do?

14
EaW and FoC Mods / Re: Autoresolve and AI_Combat_Power
« on: January 25, 2018, 12:32:25 AM »
I've been deep-diving in the large space vessels' XML files for a project of my own and trying to figure out exactly what each XML tag does. Turns out, a good number of them do nothing whatsoever that I've been able to figure out. I would guess that the <Damage> tag is a leftover from a phase of development before projectiles had their own <Projectile_Damage> tags. No idea why the <Autoresolve_Health> is in there, since you can set it to some really wacky values and not see a difference in autoresolve results. The same thing happens in term of autoresolve outcome when I set these tag values to 0 as when I set them to 99999 (or when I comment them out entirely), so either they don't do anything or I'm not performing the right test.

The tags you pointed out in GameConstants might be related here. When I did a quick search through the rest of the file I also dug up <Auto_Resolve_Tactical_Multiplier>, which could also be relevant. Your idea about the fighter complement on the Acclamators messing with my results is a good one. I'll see what happens when I comment out their garrisons. It looks like various projectile types have their own <AI_Combat_Power> values as well, which doesn't make a whole lot of sense to me. Let's see what happens when I comment them out...

You mentioned that in some cases the AI count carried fighters towards fleet composition - what case is that? Is this part of the "assemble taskforce" AI?

---- Results of diddling with the tags in GameConstants.XML:

<AutoResolveAttritionAllowanceFactor>
Dialing it down to 0 had no visible effect, but dialing it up to 1, 10, 20, and 100 definitely did. It looks like this is a static value added to the total amount of "damage" points handed out to both sides at the end of the battle. It does not appear to be a multiplier, though its default value of 0.333333 makes it look like one. Evidence: when this is 10, I kill 10 more Interdictors and lose 10 more Corvettes than default, when this is 20 see 20s, and when it's 100 I see all the Interdictors die and lose all but 1 Corvette. I suspect the game won't let you lose literally your entire force if you "won" the battle. For future tests I dialed this down to 0.

<AutoResolveLoserAttrition>
This is a multiplier that appears to be applied to the winning side's total AICP. If you increase this to 1.0 when attacking with 75AICP, you deal 75 points of "damage." If you decrease this to 0, you don't destroy any enemy ships even when you "win" the battle. Combining this with the previous tag could set a casualty floor for autoresolved battles.

<AutoResolveWinnerAttrition>
Second verse, inverse of the first. Interesting fact, it looks like there is a hidden static 0.5 multiplier that this stacks with to determine attacking losses. The default value of 0.75 causes the expected loss of 37 Corvettes against 100 Interdictors, and dialing it up to 1.0 increases losses to 50, so there's obviously another 0.5 involved here somewhere. It doesn't involve winning or losing, because I get the losses I expect on both sides based on pure AICP regardless of winner. It looks like there is just a flat hardcoded "attackers take 50% losses" in the game. That's quite an incentive not to autoresolve a defense!

<RetreatAutoResolveLoserAttrition>
<RetreatAutoResolveWinnerAttrition>
Has a very slight effect on casualties when you enter a tactical battle and then choose "auto-resolve" from the retreat menu. The default casualties for the usual matchup were 53 corvettes and 78 Interdictors and increasing this from the default to 1 and then all the way to 10 only raised the casualties to 79 Interdictors. It seems like entering tactical mode at all enforces a +3 floor to the casualties on both sides as if you had increased <AutoResolveAttritionAllowanceFactor> by 3.

<AutoResolveTransportLosses>
I discovered to much lol that AICP from units in transports is included in the calculations for winner/loser. Whoopsie. Five Gallofrees full of Rebel infantry put to flight a hundred Interdictors. Zero casualties on both sides, so not sure at all how this is calculated. If you hop into tactical and then autoresolve, you lose all 5 transports and take out 14 Interdictors(!?). There's clearly something totally different at work when it comes to calculations involving land units brought to space.

<Auto_Resolve_Tactical_Multiplier>
This is interesting. The lower this is it appears to tilt battles more strongly in favor of attackers. Has no effect on normal autoresolve, but autoresolve from tactical is affected. As this value rises from 0, defending casualties appear to decrease and attacking casualties first increase, then also decrease (or maybe setting it to 10 just glitches it out). When you set it to 2, each side takes half of the expected casualties, but setting it to 0.5 doesn't double them, so I have no idea what exactly is going on with this one.

aaaand, finally, to wrap it up:

Removing the fighters from the Acclamators doesn't make a difference to the weird patterns I'm seeing. The best guess I have for what's going on is as follows:

When the game is picking casualties, it will never pick as a casualty a ship that will cause the amount of AICP damage inflicted to exceed the formula amount. It does, however, seem to stop evaluating for casualties as soon as it attempts to evaluate a ship it doesn't have enough AICP to destroy, even if it could apply enough of its remaining AICP to inflict at least 2/3 damage on it, UNLESS there is only one ship in the force to begin with... This would explain why in my tests where I got a "wrong" number of casualties, it was always lighter instead of heavier, except versus one enemy ship. Admittedly, even I don't think this is a guaranteed explanation for what is going on here. :(

Whatever order it works in, it obviously doesn't pick strictly in order of descending AICP, since in that case you would preferentially lose big ships like Star Destroyers (it doesn't appear that you do). There might be some kind of cycle of descending AICP it goes through with exceptions for cases where the opposing force couldn't generate enough damage to harm your largest ships... who knows. The order it does pick in is still a mystery to me, and at this point frankly I'm tired of wrestling with it. I have a good enough grasp on the overall situation with autoresolve for my purposes and I don't see any need to sweat the details. Still, I think we all learned something here today.


15
EaW and FoC Mods / Autoresolve and AI_Combat_Power
« on: January 22, 2018, 01:40:12 AM »
I've been trying to figure out how autoresolve works for the last couple of days, and so far I have a few answers and a few questions I just can't crack. I hope that we can share our knowledge, since many of you good people here have been at this whole modding thing much longer than I have. If nothing else, maybe someone else starting out can benefit from this info.

I've been doing most of my tests with fleets of attacking and defending ships modded to have <AI_Combat_Power> (AICP) values of 1. I've been throwing a variable number of Corellian Corvettes against 100 Interdictor Cruisers. Overall it appears that AICP is the only XML tag that affects units' autoresolve performance and that game difficulty makes no difference.

Victory/defeat is calculated before casualties and will affect the losses on each side. If the sum of the AICP values of all the attacker's forces is greater than or equal to 75% of the sum of the defending forces' AICP, the attacker will win.

Casualties for a side are based on a percentage of the initial sum of AICP on the other side, modified by which side won.

If the attacker won, they will take losses of units with AICP totaling up to 37% of the defender's initial sum of AICP. If the attacker lost, they will take losses of up to 40% of the defender's initial sum of AICP.

If the attacker won, the defender will take losses of units with AICP totaling up to 80% of the attacker's initial sum of AICP. If the attacker lost, the defender will take losses of up to 75% of the attacker's initial sum of AICP.

Each unit appears to be evaluated individually for whether it will be taken as a casualty. If the number of AICP points of "damage" that are assigned to a unit is greater than 2/3 of that unit's own AICP value, it will be destroyed.

As an example, imagine you send 74 Corellian Corvettes (each with AICP 1, total fleet AICP 74) against 100 Interdictors (each with AICP 1, total fleet AICP 100). Because the sum of AICP for the attacking force is less than 75% of the sum of AICP of the defending force, the attacker loses. Therefore, the defender inflicts 40% casualties on the attacker - since the defender's total AICP is 100, the attacker will assign 40 points of "damage" among his 1-hitpoint-each ships, therefore losing 40 of the corvettes. The attacker inflicts 75% casualties on the defender - 75% of 74 is 55.5, so the attacker destroys 55 Interdictors.

If the attacker in the previous example had sent 75 corvettes against the same 100 Interdictors, the attacker would have won. In that case, the defender would have sustained casualties equal to 80% of the attacker's total AICP, or 56 EDIT: 60 Interdictors. The attacker would have lost 37 Corvettes.

If you crank up the number of corvettes past 75, the number of casualties the 100 Interdictors inflict on the corvettes will never exceed 37. At 125 corvettes and up, the defending Interdictor force will be utterly destroyed.

If you dial down the number of corvettes below 74, the number of casualties the corvettes receive will never exceed 40. Sending a force of 40 or fewer corvettes will result in the entire fleet being lost. Sending 1 lone corvette will result in its loss and it will take 0 Interdictors with it.

The part I can't figure out is how the game chooses the order in which to evaluate units as potential casualties. This is crucial in realistic game cases where fleet composition will be varied (and ships will have more than 1 AICP apiece). I've done several trials throwing corvettes against a mixed force of Acclamators (set to 10 AICP) and Interdictors (still 1 AICP each), and I get different results with different trials with the same number of corvettes. It appears that the order is semi-randomly determined, or at least determined by factors that have thus far eluded me.

I've run several tests with some number of corvettes against 50 Interdictors and 5 Acclamators. With 110 corvettes, I've destroyed 45 Interdictors and 4 Acclamators in one attempt and destroyed 48 Interdictors and 4 Acclamators in another. Even weirder, with 115 corvettes, I've destroyed 50 Interdictors and 4 Acclamators in one attempt and 42 Interdictors and 5 Acclamators in another. Dialing up the number of corvettes one at a time between 105-120 has yielded a pattern of casualties on the target force that I find really bizarre.

This is the part where I hope someone else can chime in with a solution. ;) If anyone is interested, I can post the full results of my mixed-force trials as a table.

Pages: [1]
Those working on this mod do so in their own free time and for no pay.
Show your support for them by enabling ads on this site!