Author Topic: AI War Beta 5.084 "Diplomatic Incident" Released!  (Read 7970 times)

Offline keith.lamothe

  • Arcen Games Staff
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 19,505
Re: AI War Beta 5.084 "Diplomatic Incident" Released!
« Reply #45 on: September 23, 2012, 01:27:43 pm »
Question in regards to the threat of a exo wave. Is it normal for them to be following golems at all times.
They don't all follow golems, but they have a chance of going after an irreplaceable instead of your home command station, which includes golems, adv-fact's, etc.
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 Trandrin

  • Full Member
  • ***
  • Posts: 123
Re: AI War Beta 5.084 "Diplomatic Incident" Released!
« Reply #46 on: September 23, 2012, 01:46:00 pm »
Just asking. Because like I said the waves enter a system, exo/normal/cpa with 1+ golem. They then go towards normal targets for a bit before switching to hunting the golems. They stick to the golems. Everything from hunter/killers, to measly fighters try to destroy my golems.

Offline chemical_art

  • Core Member Mark IV
  • *****
  • Posts: 3,952
  • Fabulous
Re: AI War Beta 5.084 "Diplomatic Incident" Released!
« Reply #47 on: September 23, 2012, 01:50:45 pm »
Just asking. Because like I said the waves enter a system, exo/normal/cpa with 1+ golem. They then go towards normal targets for a bit before switching to hunting the golems. They stick to the golems. Everything from hunter/killers, to measly fighters try to destroy my golems.

Whether it is intended or not, one of my citing for "armored golems are awesome" is that the ai simply cannot resist attacking them, to the point of ignoring everything else.
Life is short. Have fun.

Offline keith.lamothe

  • Arcen Games Staff
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 19,505
Re: AI War Beta 5.084 "Diplomatic Incident" Released!
« Reply #48 on: September 23, 2012, 01:59:07 pm »
Just asking. Because like I said the waves enter a system, exo/normal/cpa with 1+ golem. They then go towards normal targets for a bit before switching to hunting the golems. They stick to the golems. Everything from hunter/killers, to measly fighters try to destroy my golems.

Whether it is intended or not, one of my citing for "armored golems are awesome" is that the ai simply cannot resist attacking them, to the point of ignoring everything else.
Must be the cologne ;)

An interesting side effect of the exo-chase mechanic, but I think it makes sense: yea, it's not as generally effective, but it's one of those "this is our only chance to make a difference in this game, guys, stay on target!".

Or are you saying normal waves and/or cpa ships do this too?  Not even autotargeting way better targets (like missile frigates shooting at the golem instead of enemy fighters)?
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 chemical_art

  • Core Member Mark IV
  • *****
  • Posts: 3,952
  • Fabulous
Re: AI War Beta 5.084 "Diplomatic Incident" Released!
« Reply #49 on: September 23, 2012, 02:00:53 pm »
Just asking. Because like I said the waves enter a system, exo/normal/cpa with 1+ golem. They then go towards normal targets for a bit before switching to hunting the golems. They stick to the golems. Everything from hunter/killers, to measly fighters try to destroy my golems.

Whether it is intended or not, one of my citing for "armored golems are awesome" is that the ai simply cannot resist attacking them, to the point of ignoring everything else.
Must be the cologne ;)

An interesting side effect of the exo-chase mechanic, but I think it makes sense: yea, it's not as generally effective, but it's one of those "this is our only chance to make a difference in this game, guys, stay on target!".

Or are you saying normal waves and/or cpa ships do this too?  Not even autotargeting way better targets (like missile frigates shooting at the golem instead of enemy fighters)?

In general, everything that would attack a command station prefers to attack the armored golem. While missile frigates prefer to hit fighers in targetting, they still run toward the armored golem.
Life is short. Have fun.

Offline Faulty Logic

  • Hero Member Mark III
  • *****
  • Posts: 1,194
  • Bane of the AI
Re: AI War Beta 5.084 "Diplomatic Incident" Released!
« Reply #50 on: September 23, 2012, 07:19:06 pm »
Speaking of carriers, why are they immune to nuclear explosions? I thought they only ever existed because of computational issues, and that they are supposed to simulate their contents.

I agree that normal waves should leave the golem hunting to the professionals.
« Last Edit: September 23, 2012, 08:39:50 pm by Faulty Logic »
If warheads can't solve it, use more warheads.

Offline keith.lamothe

  • Arcen Games Staff
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 19,505
Re: AI War Beta 5.084 "Diplomatic Incident" Released!
« Reply #51 on: September 23, 2012, 07:50:36 pm »
Speaking of carriers, why are they immune to nuclear explosions?
To make you work for it :)

Quote
I thought they only ever existed because of computational issues, and that they are supposed to simulate their contents.
Initially they came to be due to cpu reasons, but if that's all they were for now I'd have just left it so that you couldn't ever intentionally pop them (they were invincible unless fewer than X AI ships were around).  Since then I've tried to make them a different kind of challenge roughly as threatening as the ships they're replacing but also something of a siege weapon as generally they come into play mainly during the part of the game when the human has some pretty substantial defenses in place.
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 Lancefighter

  • Core Member
  • *****
  • Posts: 2,440
Re: AI War Beta 5.084 "Diplomatic Incident" Released!
« Reply #52 on: September 23, 2012, 09:56:57 pm »
You mean I'm not supposed to see them an hour in when I pop a counterwave?

I really did like those mk4 carriers holding 500 units.
Ideas? Suggestions? Concerns? Bugs to be squashed? Report them on the Mantis Bugtracker!

Author of the Dyson Project and the Spire Gambit

Offline Hearteater

  • Core Member
  • *****
  • Posts: 2,334
Re: AI War Beta 5.084 "Diplomatic Incident" Released!
« Reply #53 on: September 24, 2012, 09:42:57 am »
The main reason is that the performance implications of having virtual/abstract members and inheritance involved in the ForegroundObject class, particularly for commonly-referenced members like health and attack power... it would be brutal.
Well, if you can spare 8 bits per ForegroundObject, you can embed the Count member directly, and you don't need any virtualization.  Optionally, you could probably make the whole thing work with only the Count method virtual, and have the non-virtual methods have the logic for handling stacks built-in triggered by their calling Count().  You still end up with a virtual method call, but you can save it for the last minute when you absolutely know it matters, so: dealing damage, death, and any counting of ships.  See, like, hardly ever.  It sounds good on paper dang it! :)

Offline TechSY730

  • Core Member Mark V
  • *****
  • Posts: 4,570
Re: AI War Beta 5.084 "Diplomatic Incident" Released!
« Reply #54 on: September 24, 2012, 10:14:40 am »
The main reason is that the performance implications of having virtual/abstract members and inheritance involved in the ForegroundObject class, particularly for commonly-referenced members like health and attack power... it would be brutal.
Well, if you can spare 8 bits per ForegroundObject, you can embed the Count member directly, and you don't need any virtualization.  Optionally, you could probably make the whole thing work with only the Count method virtual, and have the non-virtual methods have the logic for handling stacks built-in triggered by their calling Count().  You still end up with a virtual method call, but you can save it for the last minute when you absolutely know it matters, so: dealing damage, death, and any counting of ships.  See, like, hardly ever.  It sounds good on paper dang it! :)

I think what he is saying that loops that would need to reference this function are so performance critical, that even as simple as a virtual function call and a multiplication (or variable update, or whatever) could have severe performance penalties.

Yes, there are times where you do have to care about performance at this level, and some of the innermost loops of AI War are such places.

Offline Draco18s

  • Resident Velociraptor
  • Core Member Mark V
  • *****
  • Posts: 4,251
Re: AI War Beta 5.084 "Diplomatic Incident" Released!
« Reply #55 on: September 24, 2012, 10:24:15 am »
The main reason is that the performance implications of having virtual/abstract members and inheritance involved in the ForegroundObject class, particularly for commonly-referenced members like health and attack power... it would be brutal.
Well, if you can spare 8 bits per ForegroundObject, you can embed the Count member directly, and you don't need any virtualization.  Optionally, you could probably make the whole thing work with only the Count method virtual, and have the non-virtual methods have the logic for handling stacks built-in triggered by their calling Count().  You still end up with a virtual method call, but you can save it for the last minute when you absolutely know it matters, so: dealing damage, death, and any counting of ships.  See, like, hardly ever.  It sounds good on paper dang it! :)

I think what he is saying that loops that would need to reference this function are so performance critical, that even as simple as a virtual function call and a multiplication (or variable update, or whatever) could have severe performance penalties.

<Agree with="TechSY730">
Function calls have a _huge_ amount of overhead, FYI.  One of the things the Flash compiler added to its list of features is an automatic inlining of short/simple functions, simply due to the fact that inlining is faster, but hells messier to read.
</agree>

Offline keith.lamothe

  • Arcen Games Staff
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 19,505
Re: AI War Beta 5.084 "Diplomatic Incident" Released!
« Reply #56 on: September 24, 2012, 10:27:49 am »
Just embedding count would be easier, but then there'd be several dozen performance-critical places that would need an additional multiply instruction.  Granted, if I had it only use powers-of-two I could get by with bitshifts instead of multiply, but it's still bad places to have anything extra and the potential for unanticipated, rare, and intermittent arithmetic overflows on health computations (which can lead to desyncs, not to mention the math just not working right)...

It's not that I'd never ever do that if there was some compelling reason, but if I came to the conclusion that a relatively niche mechanic like carriers was the sole reason I needed it, and nothing else would work, I'd get rid of the niche mechanic ;)
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 keith.lamothe

  • Arcen Games Staff
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 19,505
Re: AI War Beta 5.084 "Diplomatic Incident" Released!
« Reply #57 on: September 24, 2012, 02:07:03 pm »
Have ideas or bug reports for one of our games? Mantis for Suggestions and Bug Reports. Thanks for helping to make our games better!