Poll

Which one needs a buff the most?

Autocannon Minipod
0 (0%)
Cloaker Starship
0 (0%)
Counter Dark Matter Turret
1 (0.9%)
Counter Missile Turret
1 (0.9%)
Counterspy
2 (1.8%)
Deflector Drone
1 (0.9%)
Etherjet Tractor
1 (0.9%)
Eyebot
0 (0%)
Hardened Forcefield
1 (0.9%)
Harvester Exo-Shield
19 (17.1%)
Infilitrator
2 (1.8%)
Laser Gatling
1 (0.9%)
Metal/Crystal Harvesters
18 (16.2%)
Metal/Crystal Manufactories (converters)
11 (9.9%)
Mobile Repair Station
12 (10.8%)
Neinzul Enclave Starship
10 (9%)
Raider
0 (0%)
Raptor
0 (0%)
Space Plane
1 (0.9%)
Spider Bot
1 (0.9%)
Spire Armor Rotter
0 (0%)
Spire Gravity Drain
0 (0%)
Spire Gravity Ripper
1 (0.9%)
Tachyon Beam Emitter
3 (2.7%)
Tachyon Microfighter
1 (0.9%)
Teleport Battle Station
3 (2.7%)
Teleport Raider
3 (2.7%)
Warp Jammer Command Station
12 (10.8%)
Zenith-Starship/Spire-Starship
6 (5.4%)

Total Members Voted: 0

Author Topic: Poll: Worst Unit Of The (time interval) Award (IV)  (Read 29326 times)

Offline TechSY730

  • Core Member Mark V
  • *****
  • Posts: 4,570
Re: Poll: Worst Unit Of The (time interval) Award (IV)
« Reply #150 on: March 24, 2012, 06:47:23 pm »

Quote
Very funny that if even after going through all alerted world with reinforcement warp gates and all planets overall with reinforcement warp gates, but it still has reinforcement "bursts" to spend, it will actually reinforce planets with "reinforcible points" that do not have any sort of warp gate.
Actually, when I said all non-reinforceable AI planets I meant those controlled by the AI, which means they have a reinforcement gate (i.e. command station)... but I just realized: that means they're not non-reinforcible, so I don't think that third stage actually does anything :)

With this information, and seeing that if the AI owns that planet, they must have a least one reinforcement warp gate (their command station), I don't see any non-bugged way that third loop can trigger.
Maybe its there as a "just in case" in the face of some sort of logic bug making the AI skipping over planets it could reinforce.

Quote
Quote
Also, I can think class of situations border aggression can trigger.
As an extreme example, let's say a planet, after the game does the math, currently has a reinforcement cap of 500. It currently has 499 guarding ships (from one player). Since 499 < 500 cap, that planet is eligible for reinforcements. So, if it chose that planet to reinforce, lets say it got 20 ships out of it. So now it has 519 guarding ships. Uh oh! That's over the cap. So to get it to conform to the cap, border aggression kicks in, and frees enough ships to get it whiten the cap (19 in this case).
Just checked, and the "every guard-post/command-station allows 100 ships" logic is only ever used for determining whether a reinforcement is allowed, not for border aggression or any other thing.  Border aggression uses a different, AIP-based threshold.

So, it is entirely possible for a planet to constantly get reinforced (as it has few enough defenders), but the border aggression frees a large portion of them every time.
Nasty, but then again, games usually have to get pretty drawn out for that to start happening.

Offline Wanderer

  • Master Member Mark II
  • *****
  • Posts: 1,579
  • If you're not drunk you're doing it wrong.
Re: Poll: Worst Unit Of The (time interval) Award (IV)
« Reply #151 on: March 24, 2012, 07:17:39 pm »
It's 700 (1000 for homeworlds and core worlds) on normal caps.  The 200 is the same on all cap scales, though.

From another thread.  So, in reality, nerfing hurts you worse in Low/Ultra-Low cap games?  Ow.
... and then we'll have cake.

Offline Wanderer

  • Master Member Mark II
  • *****
  • Posts: 1,579
  • If you're not drunk you're doing it wrong.
Re: Poll: Worst Unit Of The (time interval) Award (IV)
« Reply #152 on: March 24, 2012, 07:58:50 pm »
Chew chew chew chew... that's some chewy stuffs. :)

First, the question about threat: I don't know offhand.  I wasn't digging into it for that express purpose so I can't tell you.  I'm going to eventually recreate the state and see what happens.  If I can't figure it out I'll hand off the save and maybe you and your tools can get a better idea of what's happening.

I find it interesting that AIP affects both # of reinforcement pulses as well as # of planets to affect.  It's also curious that AI Diff barely affects the reinforcement except at the final stage.  1 or 2 planets doesn't really seem like much.  The third part of that curiousity, for a game that wants 'higher' AIPs then minimal play styles, it caps off at 170 AIP at AI Diff 10, 150 for 7. it caps off at 110. Very interesting.

Code: [Select]
guardPostReinforcementPulsesShiftedToCentralPulse = guardPostReinforcementPulses - ( GuardPostsAll + CommandStations ) (cannot go below 0) = max(0,11-(8+1)) = 2
Which save are you using for this?  At most, Craps carries four wormhole guardposts.  I'm curious where the other four guardposts came from, it must be an early save where it was un-nerfed.

I still am under the personal opinion that this should be based on AI Diff, with the current value as the default for AI Diff 7:
Code: [Select]
reinforcementStrength *= 0.07 = 2.36
It just seems so LOW though.  *shrugs*

This is interesting:
Code: [Select]
guardPostReinforcementPulsesShiftedToCentralPulse = guardPostReinforcementPulses - ( GuardPostsAll + CommandStations ) (cannot go below 0) = max(0,11-(8+1)) = 2
Includes the command station, yet:

Code: [Select]
reinforcementStrength *= (1 + guardPostReinforcementPulsesShiftedToCentralPulse) = 7.07
Seems to assume the command station wasn't included in the earlier value.

What's this line meant to indicate?  I don't understand its purpose:
Code: [Select]
StrengthBudget += 7 = 7
I'd like to see/understand a bit more about the decisions to buy guardians.  Does it simply get to add one guardian per pass if there isn't a cold-storage defender on the post? 

Also, does guard population count all ships in system belonging to player X or only the cold-storage defending ones?  Does the 'always on' long range fleet count towards that population if defender only is counted?

Quote
- Importantly, this seems to indicate a strong incentive to neuter a planet such that it has zero (or nearly zero) AI firepower on it, then station a sufficient garrison in range of the command station to alert the planet, satisfy the >1.5x "outnumbered" condition (very easy since it has at or near zero), and to destroy a quad-reinforcement quickly without losses (or with enough repair/rebuild capacity such that the losses are recovered). 

Beachheads.  I'd need to get a better idea of how firepower is determined though.  Just need to be careful of trying to do this in a hub system as you'll have a few extra planets alerted because of it.

Quote
-- Of course, garrison forces detract from your total mobile and/or defensive forces, so it's still a tradeoff, but I suspect it's a good tradeoff.  Note that if this really is as effective as I suspect, some changes will be likely to make it less obviously-optimal (either some kind of probabilistic use of priority like TechSY730 suggested, or simply a "hey, the humans are soaking us here" check).

I've been trying to come up with ways to recommend that Special Forces be able to live up to their name.  Massing and then chasing down a 'soak' sounds like a perfect one.

Quote
The 5.031 numbers for the second AI player are misleading because it doesn't actually get all those blade spawners in most cases: they just get ignored by the main thread for violating the per-guarded-thing-cap (iirc, at least I hope so, goodness).
Having actually been the one to PLAY that game... I can assure they were getting far more than 1 per reinforcement.  Past that... well, not sure.  It wasn't as happy as you appear to hope it was. :)

Quote
Yea, this is even better than the previous point: there's almost no reason to kill wormhole guard posts unless there are more than 10 on a planet.
This is inaccurate to my perspective.  1) Guardians spawn afaik at 1/post.  Unless you want to eat extra guardians, blow the wormposts.  2) At smaller fleet numbers you won't wake up the command post, so if you're shipping reinforcements around and don't want to deal with wormhole-hangers, you'll have to pop them then, as well.

Quote
Killing normal guard posts is not necessarily all that tedious since it's not a very long process (unless ffs and forts are involved) and it's generally in the middle of a planet fight.
Spire Shields on an AI Eye planet.  UGH!

Chewy and highly informative.  Thank you Keith for the analysis work.  Now, what can I do with it...

Oh, yeah, this information may be another way to help let AI 10 crush without obliterating someone in the first 15 minutes. :)
« Last Edit: March 24, 2012, 08:27:38 pm by GUDare »
... and then we'll have cake.

Offline TechSY730

  • Core Member Mark V
  • *****
  • Posts: 4,570
Re: Poll: Worst Unit Of The (time interval) Award (IV)
« Reply #153 on: March 24, 2012, 08:47:39 pm »
I find it interesting that AIP affects both # of reinforcement pulses as well as # of planets to affect.  It's also curious that AI Diff barely affects the reinforcement except at the final stage.  1 or 2 planets doesn't really seem like much.  The third part of that curiousity, for a game that wants 'higher' AIPs then minimal play styles, it caps off at 170 AIP at AI Diff 10, 150 for 7. it caps off at 110. Very interesting.

Yea, that struck me as odd as well. For as quickly as you reach 110 AIP in most games, you might as well just replace AIP in that calculation with 110 and almost no one would be able to tell a difference except for those who have very long lived early games (such as, 10 or so hours < 110 AIP).
Quote
I still am under the personal opinion that this should be based on AI Diff, with the current value as the default for AI Diff 7:
Code: [Select]
reinforcementStrength *= 0.07 = 2.36

Was there as least a comment in the code explaining why that paticular number was chosen, and how it was dervived? Whenever I code in "magic constants" or "magic numbers", I always comment about how I came up with that value or at least why I think it is in the right order of magnitude.

Quote
Quote
-- Of course, garrison forces detract from your total mobile and/or defensive forces, so it's still a tradeoff, but I suspect it's a good tradeoff.  Note that if this really is as effective as I suspect, some changes will be likely to make it less obviously-optimal (either some kind of probabilistic use of priority like TechSY730 suggested, or simply a "hey, the humans are soaking us here" check).

I've been trying to come up with ways to recommend that Special Forces be able to live up to their name.  Massing and then chasing down a 'soak' sounds like a perfect one.

Yea, it would be pretty cool, if when determining which route to patrol, they would be significantly more likely to include planets that are in danger.
Also, have them re-evaluate their routes much more frequently, that way they can have a rapid response time.
The existing "don't enter the planet if it would be a hopeless fight" should keep them from trickling in at an easy to counter rate, but instead "bursting" in nicely. However, the special forces ships seem to use a variation of that logic, one with a too low "am I overwhelmed" ratio cutoff, causing them to rush in with small fleets too often. That should be fixed.

Offline zoutzakje

  • Hero Member Mark III
  • *****
  • Posts: 1,052
  • Crosshatch Conqueror
Re: Poll: Worst Unit Of The (time interval) Award (IV)
« Reply #154 on: March 24, 2012, 08:50:58 pm »
It's 700 (1000 for homeworlds and core worlds) on normal caps.  The 200 is the same on all cap scales, though.

From another thread.  So, in reality, nerfing hurts you worse in Low/Ultra-Low cap games?  Ow.

so once I finally get a good raming rig and start playing on high caps, this game will be a piece of cake :P
lol not really, but this is kinda sad lol. No wonder I noticed somewhat of a difference between low and ultra low caps (ultra low caps at least 'seems' somewhat tougher to me).

Offline keith.lamothe

  • Arcen Games Staff
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 19,505
Re: Poll: Worst Unit Of The (time interval) Award (IV)
« Reply #155 on: March 24, 2012, 09:08:08 pm »
It's 700 (1000 for homeworlds and core worlds) on normal caps.  The 200 is the same on all cap scales, though.

From another thread.  So, in reality, nerfing hurts you worse in Low/Ultra-Low cap games?  Ow.
Yea, I kinda thought so too.  Though that population cap being high doesn't hurt very much, I thought, but I'm not the guy playing 9+ :)  Here are the current values for the reinforcement-cap-relevant things;

UnitCapScaleType.High:
   AIShipCapPerPost = 150;
   AIShipCapMinimum = 200;
   AIShipCapMaxNormal = 1000;
   AIShipCapMaxCoreOrHome = 1300;

UnitCapScaleType.Normal:
   AIShipCapPerPost = 100;
   AIShipCapMinimum = 200;
   AIShipCapMaxNormal = 700;
   AIShipCapMaxCoreOrHome = 1000;

UnitCapScaleType.Low:
   AIShipCapPerPost = 75;
   AIShipCapMinimum = 200;
   AIShipCapMaxNormal = 500;
   AIShipCapMaxCoreOrHome = 800;

UnitCapScaleType.UltraLow:
   AIShipCapPerPost = 50;
   AIShipCapMinimum = 200;
   AIShipCapMaxNormal = 400;
   AIShipCapMaxCoreOrHome = 600;

I only set the UltraLow ones, and was trying to follow the pattern, but I think the pattern doesn't really take into account how uncompromising the differences are between scales.  It makes sense on our end because really the only reason we wanted the cap was to keep it from causing out-of-RAM.  But from the player perspective it's pretty off (not that you'd notice much if you didn't know, but that doesn't mean it couldn't be better).  So I'm thinking of just making each step down half the step above for all those values, and just see how that goes.

Chew chew chew chew... that's some chewy stuffs. :)
Thought you'd think so ;)

Quote
I find it interesting that AIP affects both # of reinforcement pulses as well as # of planets to affect.
Where does AIP affect # of planets reinforced? 

Quote
It's also curious that AI Diff barely affects the reinforcement except at the final stage.  1 or 2 planets doesn't really seem like much.
In the save in question (it's the one you submitted for me to investigate the CPA throwing everything and the MkV Kitchen Sink at you) you were getting 3 reinforcements per player per cycle, because of the bug where non-integer difficulties weren't getting the bonus, and that's now 4 because of the fix.  I think you had taken 6 planets (for a total of 7 non-AI planets) at that stage. 

Quote
The third part of that curiousity, for a game that wants 'higher' AIPs then minimal play styles, it caps off at 170 AIP at AI Diff 10, 150 for 7.  Very interesting.
I'm not sure what you mean: 110 is the AIP beyond which guardPostReinforcementPulses ceases to increase (nvm, just saw your edit on that), but the reinforcementStrength computations for both central and guard-post pulses increase with AIP and there's no bound (well, there is the min-to-35 step on central pulses, but you'd have to have an insane AIP to hit that, since it's before the *=0.07 step).

Quote
Code: [Select]
guardPostReinforcementPulsesShiftedToCentralPulse = guardPostReinforcementPulses - ( GuardPostsAll + CommandStations ) (cannot go below 0) = max(0,11-(8+1)) = 2
Which save are you using for this?  At most, Craps carries four wormhole guardposts.  I'm curious where the other four guardposts came from, it must be an early save where it was un-nerfed.
Which part of the log are you looking at?  Craps gets picked first, but it then is not actually reinforced because it's over cap, and Blackjack is then evaluated (with those numbers for that line).

Quote
I still am under the personal opinion that this should be based on AI Diff, with the current value as the default for AI Diff 7:
Code: [Select]
reinforcementStrength *= 0.07 = 2.36
I wouldn't mind making it that way for diffs > 7, but I don't think the ones lower than 7 need any fewer reinforcements :)  And in general I'm really hesitating to do any significant increase to reinforcements just because it "makes the math feel cleaner" because that could make a real grind-fest out of some games.  Big waves sledgehammering you is at least a relatively gratifying experience (either it's ignorable, fun, or you're dead), but big reinforcements just makes a big wall.

Quote
This is interesting:
Code: [Select]
guardPostReinforcementPulsesShiftedToCentralPulse = guardPostReinforcementPulses - ( GuardPostsAll + CommandStations ) (cannot go below 0) = max(0,11-(8+1)) = 2
Includes the command station, yet:

Code: [Select]
reinforcementStrength *= (1 + guardPostReinforcementPulsesShiftedToCentralPulse) = 7.07
Seems to assume the command station wasn't included in the earlier value.
If it weren't for the 1+ on the front of that, 1 command station + 10 guard posts would make that step a *= 0, and the AI would not be amused.

Anyway, the point of that is that any planet with 10 or fewer guard posts gets the same number of pulses, albeit the central pulses are bigger than the guard post pulses (by a lot on non-trivial difficulties).

Quote
What's this line meant to indicate?  I don't understand its purpose:
Code: [Select]
StrengthBudget += 7 = 7
It's just saying that it's adding the strength of that pulse into the running budget.  That running number starts at zero at the beginning of the SendReinforcements call, and can go negative if the AI picks a ship bigger than its current remaining budget, and if it's <= 0 (sometimes it will read as zero when it's actually 0.004, though) then it can't buy anything (except during the free guardian step) until pulse contributions bring it out of the negatives.

Quote
I'd like to see/understand a bit more about the decisions to buy guardians.  Does it simply get to add one guardian per pass if there isn't a cold-storage defender on the post?
The AI thread has no concept of cold-storage, actually.  It has its own lists of everything (to avoid thread-sync-hades).

Anyway, what it does there is:
- Check a few preliminary conditions (planet is below reinforcement cap, player difficulty is >= 6, player owns the planet, planet is not adjacent to human homeworld)
- Builds a list of any guard-post (including wormhole) or command-station that:
-- Has fewer than 1 guardian (2 on diff 8+, 3 on diff 10)
-- Hasn't been given an AI command during that time through the AI loop (what does that I'm way less clear on, but I think in effect all it means is that each cannot get more than 1 guardian per SendReinforcements call)
- If there's anything in that list, picks one item from it at random and spawns (for free) a single random guardian of the appropriate mark level at that object

So a planet can get at most one "free" guardian per reinforcement sent its way, and there's no compensation if it doesn't meet the requirements.

Quote
Also, does guard population count all ships in system belonging to player X or only the cold-storage defending ones?  Does the 'always on' long range fleet count towards that population if defender only is counted?
It's everything associated with that player's number that's on the planet, bar none.  The command station, guard posts, all ships, even minor factions that happen to share the same number (that only applies to the first AI player, iirc, as no minor factions are given the number of the second one).

Quote
Beachheads.  I'd need to get a better idea of how firepower is determined though.
It's kinda weird, but I think you can set the galaxy displays to use FP instead of count so you can see yours.  In this case you're probably best off just killing everything on the planet with any firepower (the wormhole guardposts could be left, I guess, since they have so little) and if you have enough on the planet to quickly kill a quad-reinforcement then presumably you've got enough on there to trigger the outnumbered threshold too.

One tricky thing is that with two same-diff AIs it's likely that one will do its reinforcement a few seconds before the second, giving time for the first one's ships to spawn and update the firepower counts, but not enough time for you to kill off the first part, so unless your garrison satisfies the 1.5x condition against the first's spawns, it would disrupt it for the second AI's call.  But if your ships can do the job quickly, you'll probably still meet the condition against the full spawn.

Quote
Quote
Yea, this is even better than the previous point: there's almost no reason to kill wormhole guard posts unless there are more than 10 on a planet.
This is inaccurate to my perspective.  1) Guardians spawn afaik at 1/post.  Unless you want to eat extra guardians, blow the wormposts.
I don't think even in 5.031 it would spawn 1 guardian per post on any kind of regular basis, but since a pulse could go "negative" on its budget without that carrying forward it's certainly possible for that to happen (but not regularly).  In 5.032 they wouldn't be able to do that unless the per-pulse guard-post strength was over 30 or so, which would take around 8100 AIP. 

And then there's the free guardian per reinforcement, which could be up to 4 free guardians if the planet was alert, outnumbered, and there were more reinforcements per player than alert reinforceable planets.  It couldn't be 8, though, because free guardians only happen if that specific player owns that planet.
Have ideas or bug reports for one of our games? Mantis for Suggestions and Bug Reports. Thanks for helping to make our games better!

Offline Wanderer

  • Master Member Mark II
  • *****
  • Posts: 1,579
  • If you're not drunk you're doing it wrong.
Re: Poll: Worst Unit Of The (time interval) Award (IV)
« Reply #156 on: March 24, 2012, 10:38:08 pm »
So I'm thinking of just making each step down half the step above for all those values, and just see how that goes.
Sounds like a good place to start, particularly since ships are balanced at cap levels against each other.

Quote
Quote
I find it interesting that AIP affects both # of reinforcement pulses as well as # of planets to affect.
Where does AIP affect # of planets reinforced?
Quote
Quote
The third part of that curiousity, for a game that wants 'higher' AIPs then minimal play styles, it caps off at 170 AIP at AI Diff 10, 150 for 7.  Very interesting.
I'm not sure what you mean: 110 is the AIP beyond which guardPostReinforcementPulses ceases to increase (nvm, just saw your edit on that), but the reinforcementStrength computations for both central and guard-post pulses increase with AIP and there's no bound (well, there is the min-to-35 step on central pulses, but you'd have to have an insane AIP to hit that, since it's before the *=0.07 step).

Yeah, sorry about that, brain fart on the first part.  Don't ask, I'm not sure WHERE my head had wandered off to at that moment.  However, you're right.  I'd missed how the AIP continues to affect the strength of the reinforcements, it just stops affecting the command station multiplier.  Thanks.


Quote
Quote
Code: [Select]
guardPostReinforcementPulsesShiftedToCentralPulse = guardPostReinforcementPulses - ( GuardPostsAll + CommandStations ) (cannot go below 0) = max(0,11-(8+1)) = 2
Which save are you using for this?  At most, Craps carries four wormhole guardposts.  I'm curious where the other four guardposts came from, it must be an early save where it was un-nerfed.
Which part of the log are you looking at?  Craps gets picked first, but it then is not actually reinforced because it's over cap, and Blackjack is then evaluated (with those numbers for that line).

"I see, said the blind man, as he picked up his hammer and his saw..."

I'm going to have to learn to READ.  What a concept.  It happens in ORDER, Dare, really.  *facepalm*  Sorry about that.

Quote
I wouldn't mind making it that way for diffs > 7, but I don't think the ones lower than 7 need any fewer reinforcements :)  And in general I'm really hesitating to do any significant increase to reinforcements just because it "makes the math feel cleaner" because that could make a real grind-fest out of some games.  Big waves sledgehammering you is at least a relatively gratifying experience (either it's ignorable, fun, or you're dead), but big reinforcements just makes a big wall.
Heavy stagnation + heavy waves = dead game, logically.  However, the waves keep your concentration defensively, bit ol' walls (if you're playing past 7) are where the 'fights' are at.  That's where you get into it with the AI and smack them around, and feel like "Yeah!  My armada just KICKED YOUR... ummm... .... TAILPIPE!"  Not saying it'll be a joy against MK IV worlds, but still, they SHOULD be mountains, neh?  As usual, all I can say is my opinion on this is a bit biased.

Quote
If it weren't for the 1+ on the front of that, 1 command station + 10 guard posts would make that step a *= 0, and the AI would not be amused.
AH!  Okay, that makes more sense.

Quote
It's just saying that it's adding the strength of that pulse into the running budget.  That running number starts at zero at the beginning of the SendReinforcements call, and can go negative if the AI picks a ship bigger than its current remaining budget, and if it's <= 0 (sometimes it will read as zero when it's actually 0.004, though) then it can't buy anything (except during the free guardian step) until pulse contributions bring it out of the negatives.
Ah, okay.  Must be a float, too, for your rounding issues. 

Quote
So a planet can get at most one "free" guardian per reinforcement sent its way, and there's no compensation if it doesn't meet the requirements.
So, at AIDiff 9, every 3 - 3.5 minutes (on average for the reinforcement pulses), it'll get one free guardian, maxing off at 2 per post + cmd station.  Meaning if you have four wormhole guardposts + cmd you'll have 10 guardians there in about 35 minutes.

Quote
It's everything associated with that player's number that's on the planet, bar none.  The command station, guard posts, all ships, even minor factions that happen to share the same number (that only applies to the first AI player, iirc, as no minor factions are given the number of the second one).
Ah, you had mentioned that, sorry.  So a big enough threat-ball sitting on a wormhole will basically guarantee that system won't reinforce.  Good to know.

Quote
It's kinda weird, but I think you can set the galaxy displays to use FP instead of count so you can see yours.  In this case you're probably best off just killing everything on the planet with any firepower (the wormhole guardposts could be left, I guess, since they have so little) and if you have enough on the planet to quickly kill a quad-reinforcement then presumably you've got enough on there to trigger the outnumbered threshold too.
Agreed, but with all the pieces surrounding firepower being involved, I'd hoped to con you into letting loose the rules. ;)


Quote
I don't think even in 5.031 it would spawn 1 guardian per post on any kind of regular basis, but since a pulse could go "negative" on its budget without that carrying forward it's certainly possible for that to happen (but not regularly).  In 5.032 they wouldn't be able to do that unless the per-pulse guard-post strength was over 30 or so, which would take around 8100 AIP. 

And then there's the free guardian per reinforcement, which could be up to 4 free guardians if the planet was alert, outnumbered, and there were more reinforcements per player than alert reinforceable planets.  It couldn't be 8, though, because free guardians only happen if that specific player owns that planet.
I was definately speaking of the free guardians.  I don't think I've seen 'standard' reinforcements ever come up with a guardian, but the automatic free ones will definately put a cinch in your socks, particularly warp gate ones.  It all depends on if you need to use the system for travel, I guess.  Completely deadened (is that a word?) systems that have no use past removal of Cross-Border Aggression caps they could be ignored on.  Anything you want to travel through occassionally you'll still be somewhat better off clearing them, from what I understand so far.
... and then we'll have cake.

Offline Nodor

  • Sr. Member
  • ****
  • Posts: 254
Re: Poll: Worst Unit Of The (time interval) Award (IV)
« Reply #157 on: March 25, 2012, 01:16:02 am »

It looks like the devourer golem is a bigger plus than I thought.  If I understand the thread correctly, that is what has been enabling me to neuter planets down to nothing and not pay the "cap hit, loose ships piling into your systems" issue.

Of course.. it does man you have to watch out for him.

At some point, there should be an summary of the chewed out bits of knowledge.  I suspect I'm not the only one who doesn't program enough to understand this discussion - and reinforcement management/strategic consequences are important to grok.   

Offline Wanderer

  • Master Member Mark II
  • *****
  • Posts: 1,579
  • If you're not drunk you're doing it wrong.
Re: Poll: Worst Unit Of The (time interval) Award (IV)
« Reply #158 on: March 25, 2012, 01:18:19 am »

It looks like the devourer golem is a bigger plus than I thought.  If I understand the thread correctly, that is what has been enabling me to neuter planets down to nothing and not pay the "cap hit, loose ships piling into your systems" issue.
No, you're misunderstanding Cross Border Aggression.  That happens any time there are more then x defenders in a system, which is dependent on AI Diff and AIP.  By neutering, you've forced the cap below that value, making sure you never deal with it.
... and then we'll have cake.

Offline Nodor

  • Sr. Member
  • ****
  • Posts: 254
Re: Poll: Worst Unit Of The (time interval) Award (IV)
« Reply #159 on: March 25, 2012, 01:57:35 am »
Something causes AI to generate ships deep in AI territory that then wander around  as "loose threat".  I think this process ties into reinforcements due to the check threat system and system caps.   The devourer golem seems to me to dramatically decreasing the speed at which the AI reaches this "loose threat" stage.

In my confused understanding, this is because the Devourer golem spreads out the reinforcements as it puts different systems on alert as it wanders and reduces the total number of ships owned by the AI, thus causing the AI to take longer to reach the "loose threat" stage.




Offline Wanderer

  • Master Member Mark II
  • *****
  • Posts: 1,579
  • If you're not drunk you're doing it wrong.
Re: Poll: Worst Unit Of The (time interval) Award (IV)
« Reply #160 on: March 25, 2012, 02:01:09 am »
Something causes AI to generate ships deep in AI territory that then wander around  as "loose threat".  I think this process ties into reinforcements due to the check threat system and system caps.   The devourer golem seems to me to dramatically decreasing the speed at which the AI reaches this "loose threat" stage.
Those would be special forces spawns.

Quote
In my confused understanding, this is because the Devourer golem spreads out the reinforcements as it puts different systems on alert as it wanders and reduces the total number of ships owned by the AI, thus causing the AI to take longer to reach the "loose threat" stage.

It does that too, but at a guess the majority of your loose threat is special forces.  They travel from SF Post to SF Post.
... and then we'll have cake.

Offline Nodor

  • Sr. Member
  • ****
  • Posts: 254
Re: Poll: Worst Unit Of The (time interval) Award (IV)
« Reply #161 on: March 25, 2012, 02:02:40 am »
Ahh, so that was a side effect of the special forces captain and not the lack of the Devourer Golem.

Offline keith.lamothe

  • Arcen Games Staff
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 19,505
Re: Poll: Worst Unit Of The (time interval) Award (IV)
« Reply #162 on: March 25, 2012, 10:42:33 am »
Heavy stagnation + heavy waves = dead game, logically.  However, the waves keep your concentration defensively, bit ol' walls (if you're playing past 7) are where the 'fights' are at.  That's where you get into it with the AI and smack them around, and feel like "Yeah!  My armada just KICKED YOUR... ummm... .... "
Postfix! South Bridge! Ethernet Port! Advanced Research Station!

Quote
Not saying it'll be a joy against MK IV worlds, but still, they SHOULD be mountains, neh?  As usual, all I can say is my opinion on this is a bit biased.
I suppose there is something to be said for offensive actions having more fun potential (or at least a different variety of it) than defensive actions.  I'm just also trying to keep in mind how this might be achieved without further increasing the potential for "you're not losing, but you can't win" situations.  Some of that is fine, but I don't want to ratchet it up another notch.

One thing that comes to mind is having the AI "save up" special reinforcements that it can dump in the path of your armada, and those reinforcements would just go attack you rather than guarding or threat-piling if they succeeded in their defense.  That way you're more likely to just lose (or at least lose a planet or whatever) rather than get the Cask of Amontillado treatment.  On the other hand, if it drops them right on your head in the middle of a battle that kind of disrupts your ability to shape the battlefield and prepare in advance, etc.

Quote
Ah, okay.  Must be a float, too, for your rounding issues.
FInt actually; an Int64 where the value is ">> 12"'d to get a whole number.  float/double are non-deterministic across different machines so we don't use them in the simulation (causes desyncs).  We could use it here because it's in the AI thread (and occasionally I find one like that) because it only runs on the host, but paranoia makes me use FInt instead ;)

Quote
So, at AIDiff 9, every 3 - 3.5 minutes (on average for the reinforcement pulses), it'll get one free guardian, maxing off at 2 per post + cmd station.  Meaning if you have four wormhole guardposts + cmd you'll have 10 guardians there in about 35 minutes.
Sounds right, if it's alerted or it's a core/homeworld and there's enough reinforcements to get past the alerted list.  And if the planet is "outnumbered" it would take half as much time to spawn those 10 guardians.

Quote
So a big enough threat-ball sitting on a wormhole will basically guarantee that system won't reinforce.
Yea, if it's got enough from both players.

Quote
Agreed, but with all the pieces surrounding firepower being involved, I'd hoped to con you into letting loose the rules. ;)
Oh, haha.  It's basically just the DPS of the unit (attack_power * shots_per_salvo / seconds_per_salvo) multiplied by 0.4.  But there are some notable quirks, so here's the full computation:

Code: [Select]
private void InitializeFirePower( bool SetFull )
    {
        long firepower = 0;
        if ( this.BaseAttackPower == 0 || this.BaseAttackRechargeSeconds == 0 )
            firepower = 0;
        else
        {
            firepower = this.BaseAttackPower;
            if ( firepower > 400000 && !SetFull )
                firepower = 400000;

            if ( !this.ExplosionsEqualsDeath ) //make sure not to overvalue autobombs, etc
            {
                firepower *= 20; // firepower <= BaseAttackPower before this line, and BaseAttackPower is an Int32, so no danger of overflowing an Int64
                firepower /= this.BaseAttackRechargeSeconds;
            }

            firepower = firepower * ( 1 + this.NumberSecondaryShots );

            if ( this.IsSelfDamaging ) //make sure not to overvalue cutlasses, etc
            {
                if ( firepower > this.BaseMaxHealth )
                    firepower = this.BaseMaxHealth;
            }
        }

        switch ( this.ShipType )
        {
            case ShipType.Launched_Missile:
            case ShipType.Mine:
                firepower = 0;
                break;
            case ShipType.SpireCityFacility:
                if ( !SetFull )
                    firepower /= 2; //account for the general high difficulty of the spire campaign overall
                break;
        }

        firepower /= 50;

        if ( SetFull )
        {
            if ( this.BaseAttackPower > 0 && firepower <= 0 )
                firepower = 1;
            if ( firepower > Int32.MaxValue )
                firepower = Int32.MaxValue;
            this.FullFirePower = (int)firepower;

            firepower = firepower + firepower + firepower;
            if ( firepower > Int32.MaxValue )
                firepower = Int32.MaxValue;
            this.TripleFullFirePower = (int)firepower;
        }
        else
        {
            if ( this.BaseMoveSpeed <= 0 && !this.ShotIsSniper )
                firepower /= 10;
            if ( this.IsUnableToHitFleetShips )
                firepower /= 10;

            if ( this.BaseAttackPower > 0 && firepower <= 0 )
                firepower = 1;
            if ( firepower > Int32.MaxValue )
                firepower = Int32.MaxValue;
            this.AICheckFirePower = (int)firepower;
        }
    }

Note that it doesn't account for other forms of "multiple shots per salvo" and thus drastically underestimates heavy beam cannons (but not spire photon lances), most aoe (particularly lightning), etc.  Also pays no attention to vs-hull-type bonuses or the wacko bonuses like the polarizer, IRE, and vulture.  May fix that one of these days :)

The AICheckFirePower is used for:
- the reinforcements "am I outnumbered" calculation in evaluating enemy firepower
- for part of the threat-ball "should we keep waiting here?"
-- basically it takes "total FullFirePower of allies on current planet - AICheckFirepower of enemies on current planet" + "the FullFirepower of the threat-ball itself" and if that is > "the FullFirePower of allies on target planet - AICheckFirepower of enemies on target planet" then it goes for it
- for the "should we retreat?" logic in evaluating enemy firepower
- for the hybrids' "ready to execute attack mission?" logic in evaluating enemy firepower; that was added in the past couple months or so (it used to just wait until 7/8ths of everyone who was coming was there)

FullFirePower is used for everything else, including:
- computing NearbyMilitaryUnitPower on the AI thread.  I don't know much about what it does with that, but I think it's used for stuff like "can I take down that Fact-IV on my planet".

Munitions boosts are sometimes considered, and sometimes not (threat-ball power doesn't use it since they'd be moving).

Quote
I was definately speaking of the free guardians.  I don't think I've seen 'standard' reinforcements ever come up with a guardian
They can, I've seen it in the logs, but now it has to pay through the nose for those ones.

At some point, there should be an summary of the chewed out bits of knowledge.  I suspect I'm not the only one who doesn't program enough to understand this discussion - and reinforcement management/strategic consequences are important to grok.   
Certainly :)  A wiki article or two will likely result; first I want to make sure we actually understand it, of course.

Ahh, so that was a side effect of the special forces captain and not the lack of the Devourer Golem.
Oh yea, special forces captains are really annoying ;)  I don't think SF ships count as threat, though, at least until angered.
Have ideas or bug reports for one of our games? Mantis for Suggestions and Bug Reports. Thanks for helping to make our games better!

Offline TechSY730

  • Core Member Mark V
  • *****
  • Posts: 4,570
Re: Poll: Worst Unit Of The (time interval) Award (IV)
« Reply #163 on: March 25, 2012, 11:18:46 am »
Quote
Code: [Select]
            if ( this.BaseMoveSpeed <= 0 && !this.ShotIsSniper )
                firepower /= 10;

Ah ha, non sniper turrets get their firepower divided by 10. (for some firepower evaluations)

That would explain why the AI seems to massively underestimate the effectiveness of turrets.

Offline keith.lamothe

  • Arcen Games Staff
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 19,505
Re: Poll: Worst Unit Of The (time interval) Award (IV)
« Reply #164 on: March 25, 2012, 11:40:01 am »
Ah ha, non sniper turrets get their firepower divided by 10. (for some firepower evaluations)

That would explain why the AI seems to massively underestimate the effectiveness of turrets.
Yep.  The real question is whether you really want them to be even more skittish about crossing over ;)
Have ideas or bug reports for one of our games? Mantis for Suggestions and Bug Reports. Thanks for helping to make our games better!