View Issue Details
ID | Project | Category | Date Submitted | Last Update | |
---|---|---|---|---|---|
0015556 | AI War 1 / Classic | Suggestion - Balance Tweaks | Jul 10, 2014 4:54 pm | Jul 16, 2014 1:54 pm | |
Reporter | malkiel | Assigned To | keith.lamothe | ||
Status | resolved | Resolution | fixed | ||
Product Version | 7.045 | ||||
Fixed in Version | 7.046 | ||||
Summary | 0015556: reprisal strength determination.. | ||||
Description | I'd like to propose AI reprisal strength be based off of something other than cost of units lost, possibly that invisible strength score, because losing a pile of mercenaries on a world with an AI post can be completely devastating- so much so, in my opinion, that it makes them completely unusable offensively. It also makes armored warheads very dangerous to use, because the AI still gets scrap off that 1 million (or more) you spent if it's used on anything but their final gaurdpost, but you never get scrap from using them according to the text (not verified) It also means that a youngling based offense yields pretty much no significant counterstrikes from the AI, although with the lifespan factor I don't personally see that as a problem. This post is partially inspired by the fact that against mime I keep getting 3 times what I sent in coming back at me.. Kinda wish I had golems on just to go scrap one on an AI world and watch the counterattack. I'd welcome some community feedback on this. | ||||
Tags | No tags attached. | ||||
Internal Weight | New | ||||
|
Wait, 3 times the amount? Got logs of that? Sounds like something screwy is going on there. The reprisal rate for the AI is supposed to be <=1 in all cases (usually, much less than 1, or even 50%). Mercs, yea, I can see the point there. Maybe they should get a reprisal modifier similar to that of golems have? (Not .1x, as IMO they should give more salvage than their Mk. IV equivalent, but maybe not 10x as much) |
|
Oh, and this is a sufficiently complicated issue that it is worth bringing up on the forums too. |
|
Armored warheads do not give salvage to anyone, or at least they shouldn't be. |
|
tech, see my attached save for issue 0015555 then watch those 27 warheads hit! also, replicated it with advanced logging on... now to ask where to find the logs. |
|
LogicLog_AIMechanic_Waves_MainThread.txt (2,369 bytes)
7/10/2014 4:08:57 PM (7.045) ----------------------------------- Salvage-Reprisal Wave Check; Current Game Time: 4:38:31 = Salvage is non-zero, so checking if player 8's AISalvage is high enough for a salvage-reprisal wave AISalvage: 1440059 effectiveMetalForSalvageWave = floor(AISalvage) = 1440059 referenceMetalCost = (metal cost of a mkI bomber in this game) = 1600 referenceStrength = (strength of a mkI bomber in this game) = 2 metalToStrengthRatio = referenceStrength / referenceMetalCost = 0.00122 = potentialSalvageStrength = effectiveMetalForSalvageWave * metalToStrengthRatio = 1757.88 computing strength budget of a normal wave for threshold check FleetShipBudget = (base value, equivalent to a single mkI fighter on high caps) = 1 FleetShipBudget *= this.AITechLevel = 1 FleetShipBudget *= (FInt)Game.Instance.Options.TotalHumanPlayerPlusExtraHomeworldsCount = 1 FleetShipBudget *= this.AIProgressionLevelEffective = 108 FleetShipBudget *= player.GetHandicapMultiplier() = 108 preMinStep_DifficultyMultiplier = player.AIDifficulty / ( 13 - player.AIDifficulty ) = 1.17 FleetShipBudget *= preMinStep_DifficultyMultiplier = 125.98 FleetShipBudget *= player.AITypeData.WaveSizeMultiplier = 125.98 postMinStep_DifficultyMultiplier = player.GetDifficultySpecificWaveSizeMultiplier() = 2.25 FleetShipBudget *= postMinStep_DifficultyMultiplier = 283.46 = Enough salvage strength to launch a salvage-reprisal, so calling TriggerNormalWave with OverrideStrength = 1757.88 7/10/2014 4:08:57 PM (7.045) ----------------------------------- Starting CreateWaveToPlanet at Game Time: 4:38:31 ; Player.AIType: Mime ; Player.AIDifficulty: 7 ; EffectiveAIP: 108 ; AITechLevel: 1 ; IsSchizo: True WaveStrength = 1757.88 = FleetShipBudget for this wave's fleet ships = 1757.88 player.AITypeData.StarshipBudgetMultiplier: 0.08 = StarshipBudget = originalFleetShipBudget * player.AITypeData.StarshipBudgetMultiplier = 147.63 * called PickUnitsForWave with: LightStarship, Dreadnought, LeechStarship ** Picked 1 LightStarship @ 96 each = 96 1 Dreadnought @ 96 each = 96 = After picking starships, StarshipBudget is now -44.37 == Wave total ships: 29 TypesForDirectAdd count by type: ArmoredMissileI : 27 LightStarship : 1 Dreadnought : 1 TypesForCarrierAdd count by type: == For a grand-total Strength value of 1920 |
|
Logs are in RuntimeData (can't remember if it has a space or not) Anyways, if you have a case of armored warheads giving salvage, that is worth a bug report all on its own, maybe even with major severity, as that is a very nasty, destabilizing balance wart if so. Also, this might just be restricted to Mimic AI, as it does weird and wonderful things with salvage, which very well could mean salvage bugs unique to it. |
|
For 7.046: * Units whose explosion-kills do not yield salvage (i.e. warheads) now also do not generate salvage by their own deaths. In other words dropping an armored warhead on an AI planet will no longer cause a massive reprisal. * Mercenary ships now generate 1/10th the salvage they normally would. Since they cost 10x what the normal equivalent MkIV ship would cost, this means they have basically the same salvage value of the normal ship. Thanks :) On the younglings and such, it's quite intentional that their low metal cost generates a low reprisal response. Same with basically all "disposable" units. I don't want drone-spam or youngling-spam to not generate any reprisals (though that has been requested), but I also don't want it to generate so much that the dock-cannon is never used. On getting it sending back 3x what you lost, it's hard to determine the actual metal ratios you were seeing for a number of factors: - The AI may only salvage at most what's sent (on Diff 10, the multiplier is 1) but it also adds strength to the reprisal so even on Diff 7 (whose multiplier is 0.350) the overall result is about 1.4. - That's partly because the reprisal strength is spent "inefficiently" : the metal is converted to strength at the Bomber's ratio, and the bomber is one of the most expensive fleet ships metal-wise. - And if the reprisal wave chooses low-strength (high-cap) units, then the sheer unit count of it may be significantly higher than the count of units you lost, particularly if those were high-strength. Overall the goal isn't a particular numeric relationship, but that the reprisals hit back hard enough that you have to do something about it, but only potentially-game-ending at alert level 3 or higher. The idea being that this needs to be pretty big to balance out the very significant bonus the player receives from the salvage mechanic. More feedback is welcome, of course. |
|
I did a bit more testing, but the log is clogged as hell so I'll just state relevant numbers salvage before my 3 raid starships charged at player 8: 54770 salvage after: 260684 that means he got approx 83% of the minerals when I scrapped the ships. in the wave, he sent some starship I cannot recall, along with a half dozen (thankfully AI) raid starships. I lost 3 raid starships, he responds with 6. this is the type of behavior that I noted against mime thus causing my "3 times as many" claim. this was done 70 minutes into a new 7/7 game against two mime(secondary support corps) opponents, with no systems taken, at ai progress 10. if the human raid starship has a lower strength cost than the ai version (improbable) that would explain the discrepency right there. either way, the corrections look great on paper, can't wait to see that in 7.46 |
Date Modified | Username | Field | Change |
---|---|---|---|
Jul 10, 2014 4:54 pm | malkiel | New Issue | |
Jul 10, 2014 5:00 pm | TechSY730 | Note Added: 0038664 | |
Jul 10, 2014 5:00 pm | TechSY730 | Note Added: 0038665 | |
Jul 10, 2014 5:02 pm | TechSY730 | Note Added: 0038667 | |
Jul 10, 2014 5:06 pm | malkiel | Note Added: 0038669 | |
Jul 10, 2014 5:06 pm | malkiel | Note Edited: 0038669 | |
Jul 10, 2014 5:12 pm | malkiel | Note Edited: 0038669 | |
Jul 10, 2014 5:16 pm | malkiel | File Added: LogicLog_AIMechanic_Waves_MainThread.txt | |
Jul 10, 2014 5:44 pm | TechSY730 | Note Added: 0038670 | |
Jul 14, 2014 12:43 pm | keith.lamothe | Internal Weight | => New |
Jul 14, 2014 12:43 pm | keith.lamothe | Note Added: 0038682 | |
Jul 14, 2014 12:43 pm | keith.lamothe | Status | new => resolved |
Jul 14, 2014 12:43 pm | keith.lamothe | Fixed in Version | => 7.046 |
Jul 14, 2014 12:43 pm | keith.lamothe | Resolution | open => fixed |
Jul 14, 2014 12:43 pm | keith.lamothe | Assigned To | => keith.lamothe |
Jul 16, 2014 1:54 pm | malkiel | Note Added: 0038704 |