AI War - Current Post-7.000 Beta

From ArcenWiki

Jump to: navigation, search

Contents

Prerelease 7.021

(not yet released; we're still working on it!)

  • Fixed a bug where Core Hunter/Killer Factories could be triggered under the "friendly unit died on neighboring planet" rule when that dying unit was actually not on a neighboring planet at all.
    • Thanks to Toranth for the report and save.

Prerelease 7.020

(Released April 12th, 2014)

  • Fixed some recently introduced performance-hogs in the reinforcement code.
    • Thanks to nynja for the report and save of near-freeze situations resulting from this.

Prerelease 7.019 Oops MkII

(Released April 11th, 2014)

  • MkV Spirecraft Jumpships are now immune to Black Hole Machines.
    • Thanks to RockyBst for inspiring this change.
  • Fixed a boneheaded mistake of mine in some of the recent AI work that made most AI ships behave as if no human ships were present (their autonomous targeting still worked, and their route-to-desirable-targets logic still worked, but their actual on-the-planet-fighting-now-what-do-I-do logic was basically "oh, I guess no one's here after all, where to next?").
    • The odd thing is how it still largely worked despite this, but it definitely led to some artificial stupidity.
    • Thanks to Draco18s, FaultyLogic, and many others of you for reporting various strangeness with the AI's attack behavior.
  • When considering whether it has enough strength to successfully attack a planet, the AI now considers nearby human mobile strength (up to 3 hops out).
    • If that human mobile strength is engaged by AI strength on the same planet, (2*local_ai_strength) is deducted from the amount that is "propagated" to other planets (can never make it negative, of course).
    • If that human mobile strength's planet is under immediate threat by adjacent waiting threatballs or incoming exo forces, that immediately threatening strength is deducted from the amount that is "propagated" to other planets.
    • For now none of this applies to the Threatfleet proper, but does apply to normal threat.
    • Thanks to Faulty Logic for inspiring this change.
  • When considering whether it has enough strength to successfully attack a planet, the AI now also considers certain galaxy-wide factors:
    • If more than about 2/3rds of the total human mobile strength in the galaxy is engaged (meaning matched by at least half as much AI strength) on AI planets, the AI is about 20% more eager to attack.
    • If X% of the total human strength in the galaxy (mobile and static) is engaged (matched one-to-one in strength, in this case) with AI strength on its planet, the AI is about (X/3%) more eager to attack (max 30% from this one factor).
    • For now none of this applies to the Threatfleet proper, but does apply to normal threat.
    • Thanks to Faulty Logic for inspiring this change.
  • Various other AI improvements. Hopefully without further bonehead-developer moments, but only one way to find out!
  • The Heroic AI's budget for champions-in-waves has been increased from 100% of the wave's fleet ship budget => 150% of it.
    • Thanks to RockyBst for the suggestion.
  • The Heroic and Spire Hammer AIs, when buying their special champ or spire-capital-ship ships for waves, now have a 25% chance of skipping a tier they could otherwise afford.
    • Example: a Heroic that can afford Cruiser-level hulls has a 25% chance of spending it on Destroyer-level hulls instead, and a 6.25% chance of spending it on Frigate-level hulls.
    • Thanks to RockyBst for the suggestion.
  • The core-guard-post on-death exos now always spawn on the planet the post died on, giving a mobile fleet a chance to deal with the exo before it moves on, rather than putting so much pressure on to split the mobile forces across attack and defense.
    • Thanks to Faulty Logic for the suggestion.
  • Remains Rebuilders now:
    • Prioritize rebuilding Energy Collectors above everything else (except command stations, of course).
    • Now strongly prefer objects within their current range over objects outside it.
    • Thanks to Toranth and RockyBst for the suggestion.

Prerelease 7.018 Troubleshooters

(Released April 7th, 2014)

  • Fixed a longstanding bug where the AI never actually picked any difficulty-gated guardian type (EMP, Self-destruction, Warp Gate) as a buildable type, when doing so randomly.
    • Thanks to Kahuna for the report.
  • It will no longer seed both Spire Archives on the same adjacent-to-core-planet planet.
    • Thanks to... this is another one where probably at least half of the community complained. You know you who you are ;)
  • Made several improvements to the logic used by AI Special Forces ships that somehow wind up on human planets or trapped such that they cannot reach the SF's current target planet without passing through human planets.
    • In general they should stay focused on their chain of wormhole hops so as to minimize engagement with human forces. They may loiter if the next planet in the chain is too heavily defended, to avoid being too easy to game into walking one at a time into an utter deathtrap. Not that any of you would do such a thing, of course.
    • Thanks to Vinraith and Master Cylinder Pants for the report and save leading to these changes.
  • The cost of heroic's wave-champions has been adjusted significantly to account for the actual strength of the units. Previously it was a bit... over-enthusiastic about sending multiple battleships in every wave.
    • Thanks to RockyBst and Toranth for inspiring this change.
  • Fixed an unintended consequence of the reinforcements logic where it could get stuck just buying a single starship for a whole reinforcement-cycle for the whole galaxy.
    • Instead it now mimics the wave logic in getting a certain portion of its fleet ship budget (on top of it) to buy starships.
    • But along with this, the guardian-purchase part of reinforcements is no longer a straight freebie and is now folded into that special starship (or guardian, now) budget. Each time it gets around to spending that budget it randomly picks between starships or guardians (if both are eligible).
    • Thanks to Toranth and RockyBst for the reports.
  • To make it harder to cheese the AI by popping a golem in and out of a system during a major attack (and thus drawing off a ton of enemy attention temporarily), the AI will now only check for those opportunities roughly every 45 seconds (tracked separately per planet).
    • Thanks to RockyBst for inspiring this change.
  • There's a bunch of expansion files that were updated since the first public versions of those expansions became available. Unbeknownst to me (Keith) those updates would apply to the steam version but not the version on our own site. A permanent solution may or may not require modifying a lot of the game's unit definitions to look for their assets in a different place, but for the meantime the updated stuff is included in this update.
    • Thanks to doctorfrog for the letting us know and for and the (very useful) merge report that highlighted the differences.
  • Special Forces:
    • The good news:
      • Special Forces Guard Posts no longer cause AIP-on-death, and are thus now autotargeted like normal guard posts. And there was much rejoicing. Probably.
      • The special forces spawn rate thus now no longer gains 5% max-strength-cap per special forces guard post outside AI territory (i.e. the ones you chose not to kill), but instead gains 2% for every non-AI planet. Since it seems that at least 50% of all AI planets gets a special forces guard post this works out in your favor overall.
    • The bad news:
      • The main special forces spawns now spend 5% of their strength budget on MkI Riot Control Starships.
    • Thanks to Faulty Logic for (quite unintentionally) inspiring this change.

Prerelease 7.017 Ominous Rumblings

(Released March 31st, 2014)

  • Fixed a bug where hacking an Advanced Factory or Advanced Starship Constructor would cause a "fabricator hack" cost as well as the cost for hacking the advanced constructor itself.
    • Thanks to Atomikkrab, chrism, Jade E, Soyweiser, Cinth, and others for reporting.
  • Sabotage hacking cost base back down from 10 => 5 (had been 2 until recently).
    • Thanks to Toranth for the suggestion.
  • Since the Reprisal mechanic has made human fleet wipes mean a lot more, Black-hole-machine AIP-on-death from 10 => 5.
    • Thanks to Toranth for inspiring this change.
  • Enclave Starship energy cost from 25k/30k/35k/40k => 25k flat, since their power is now linearly scaling from the recent change, and other starships use a flat energy cost.
    • Thanks to Histidine for the suggestion.
  • Minor-faction units (those actually controlled by minor factions, not by the human player or AI player) now generate salvage if they die on a human player planet. Never for the AI, as otherwise they could generate offensive AI ships without human player involvement.
    • Thanks to TechSY730 and Toranth for inspiring this change.
  • The wave-substitution exos (Exotic and Vicious Exotic AI types) now use the new way of computing the budget it "would have gotten" from the normal starship component.
    • Thanks to Toranth for inspiring this change.
  • The special wave components (Mad Bomber's extra bomber starships, Raider's extra raid starships, Experimentalist's experimentals, Support Corps' support ships for the other AI's waves, Spire Hammer's spire capital ships, and Heroic's champions) are now bought via strength budget (an extra amount equal to a specified percentage of the wave's fleet ship budget, on top of everything else, like starships) rather than on the previous ad-hoc count methods.
    • These are still not included in Reprisal waves, in a rare gesture of holding back.
  • Fixed some bugs in the Reprisal mechanic where the AI's salvaged-metal count could encounter an arithmetic overflow.
    • Thanks to Toranth for the logs that brought this to light.
  • Waves now prioritize the highest-strength units to be deployed "loose", if there are so many that a carrier is required.
  • Fixed a bug in the wave announcement text where the number it gave for starships was actually the number of distinct types of starships.
    • Along the way, also fixed the bug where the first number of ships in the announcement was actually the grand total of all ships in the wave, rather than just the non-starship part.
    • Thanks to Toranth for the report and save.
  • Similar to the recent work done on the wave code, the reinforcement code has now been thoroughly refactored to ease future work.
    • The overall impact of reinforcements shouldn't be changed very much by all this, though changes may come in later versions. But there are some bug-fixes and possibly some new bugs that may impact things. If something seems off please use the Reinforcement Logging setting to get the data we can look at.
  • Now when a planet's three reinforcement ship-types are selected, it tries much harder to pick three different ship-types.

Prerelease 7.016

(Released March 28th, 2014)

  • Now when an AI player has enough salvage for a Reprisal (but hasn't launched it yet), the alert box displays a numeric Warning Level telling the player about it (with a mouseover tooltip explaining what it means).
    • Thanks to TechSY730, Chthon, and LordSloth for inspiring this change
  • Fixed a bug in the last release that made all enclave starships only launch mkI drones. Whoops.
    • Thanks to SapphireSage for the report.
  • Cargo trains in the Astro Trains plot now:
    • Don't spawn unless the plot intensity is >= 5 (though any already spawned in old saves won't be removed retroactively).
    • Don't do the "delivery" logic (which contributes towards that AI getting new toys) if their random pathing picks a station on the planet they're already on.
    • Thanks to Draco18s for inspiring these changes.
  • Previously each wave would get a "freebie" starship (or starships, on higher difficulties) of the appropriate tech level. Some attempt was made to scale this by AIP but in general the number of starships wouldn't increase in anything like proportion with the rest of the wave. Nor would it be good to go from 1 starship in an AIP 10 wave to 10 starships in an AIP 100 wave (well, it wouldn't be good for the human).
    • Now each AI wave gets a supplementary "starship budget" equal to a quarter of its fleet-ship budget (a Starship Commander AI just gets a starship budget equal to its fleet-ship budget), and buys starships with that. Early on that just means one starship. Later on when the waves get large enough that means more than one starship.
  • Removed an old wave-calc rule that was applying a second-tech-level-based multiplier to the effective "cost" of buying a unit for a wave, on top of the fact that the strength cost already factors in the tech level. This removal will actually increase the effective cost of mark 1 ships for waves, while decreasing (to a lesser degree) the cost of higher-mark ships. This also notably simplifies the wave code for future improvements.

Prerelease 7.015 Cleanup, Aisle 3

(Release March 27th, 2014)

  • Neinzul Enclave Starship drone production:
    • Pulse interval from 10/9/8/7 seconds => 5 seconds.
    • It used to be that each pulse was 8 drones (2 of each "flavor", needler, laser, mlrs, missile) of mkI, PLUS 8 more of mkII if the enclave was mkII+, PLUS 8 more of mkIII if it was mkIII+, PLUS 8 more of mkIV if it was mkIV. It now only spawns drones of the enclaves's own mark level (so the mkIV gets 8 mkIV drones per pulse, not a total of 32 mkI/II/III/IV drones).
    • It's great to have these be powerful and fun, but the higher mark ones were scaling in power way faster than linearly (partly due to a historical association with turret tech to get the higher mark drones, iirc, but that requirement is long-gone). So some kind of wrangling these into sanity was necessary.
    • The mkI was actually doubled in power by this, and the mkII is roughly 20% stronger. The mkIII is roughly 20% weaker overall, and the mkIV is a bit more than half as strong as it used to be.
    • If further adjustments (up or down) are needed, please let us know.
    • Thanks to Faulty Logic and others for inspiring this change.
  • Trying another iteration on hacking costs based on feedback:
    • Research Redirection first-hack-cost from 50 => 35.
    • Fabricator Hacking first-hack-cost from 20 => 30.
    • Design Corruption first-hack-cost from 30 => 20.
    • Sabotage first-hack-cost from 2 => 10.
    • Thanks to Faulty Logic and others for inspiring these changes.
  • Fixed a bug where the Dimensional Prisons in one of the nebula scenarios were not spawning ships when automatically self-scrapped.
    • Thanks to RockyBst for the report.
  • Fixed a bug where a new list of "ship designs the player team has downloaded via hacking" was not being properly cleared when a game was exited. Not a huge deal unless you then try to play a multiplayer game before quitting the app; in that case it could conceivably lead to a desync.
  • Fixed a bug where the Lightning Torpedo first said "CanBeTransported = false" and then further down said "CanBeTransported = true". Cute, but wrong. It's now just false, so the things should finally no longer be loadable into a horde of transports for "hello AI Homeworld, wouldn't you like a new sun?" tactics.
    • Thanks to alocritani and Faulty Logic for reminding us that this was still possible.
  • Rebuilding a unit that costs more than 500,000 metal (among rebuildables this is mainly the fortress line) now causes that unit to come back at 1% health instead of 50%. Previously it was possible to start one, get it killed at basically-no-metal-invested, then rebuild it to get it all the way up to 50%. And thus either get a cheaper fortress or a pile of free metal from scrapping it.
    • Thanks to Faulty Logic for reminding us this was still a possible exploit.
  • Fixed a bug where it was possible to multi-place... command stations.
    • Thanks to TheOverWhelming and Faulty Logic for the report and save.
  • Fixed a bug where all 3 Showdown CPAs were using the final-cpa flag.
    • Thanks to Toranth, vigilo confido, and others for reporting.
  • Fixed a bug in the final stage of the Showdown where a Fortress King AI would not have its (special-type) home command station replaced with a GCS.
    • Thanks to HTL2001 for the report.
  • The bonus-ship-selection window in the lobby now has a "(Change To Random)" button, which changes that planet's bonus ship to a different random pick.
    • Thanks to Lancefighter for the suggestion.

More Salvage Revisions

  • The salvage-reprisal waves now:
    • Are decoupled from normal waves.
      • So it doesn't impact the timing of those normal waves at all anymore; previously they kind of hijacked the whole normal-wave mechanic if you stayed on the offensive.
    • Aren't "full set of normal waves + salvage strength" anymore, instead it's just the salvage strength (plus the normal freebie starship(s) but NOT any AI-specific freebies like Spire Hammer capital ships).
    • Only launch when that AI player has enough salvage strength to at least equal a normal wave.
    • Thanks to LintMan, Toranth, and TechSY730 for inspiring this change.
  • Removed the rule where an AI player had to wait 10 minutes after announcing a reprisal wave before announcing another (there's still an effective minimum interval of 3 minutes due to another rule).
    • Now that they don't include full sets of normal waves the delay is less important, and indeed could lead to much-larger-than-anticipated salvage-reprisal waves due to having more time in which to accumulate casualties.
  • The AI's effective salvage is now multiplied by Min(1,(current_game_time/2_hours)).
    • So At 12 minutes into the game, its salvage only counts for 10% of its full value.
    • But at 60 minutes into the game, that salvage will be up to 50% of its full value.
    • And at 2 hours onward it's just full value (before the difficulty-based multiplier).
    • The overall effect is to prevent the mechanic from requiring an inordinate amount of early-game defenses just to deal with the fallout from early-game casualties.
    • Thanks to Toranth and TechSY730 for inspiring this change.

Prerelease 7.014

(Released March 25th, 2014)

  • Fixed a bug where scrapping distribution nodes wouldn't actually give you the resources (this probably also impacted zenith reserves).
    • Thanks to Labfiend for the report.
  • Fixed a bug where there was a cause-of-death that was checking for salvage despite the ship's CurrentPlanet being null (leading to null exceptions, naturally).
    • Thanks to ussdefiant for the report and save.
  • Fixed some confusion with the design-downloading/design-corrupting restrictions. Previously you could not download and corrupt on the same planet, but the server hit by the (first) attack would stick around. So it looked like you could do the other one but it just wouldn't start the process. Now either downloading or corrupting will destroy all the servers on the planet (and remove those designs from anywhere else in the galaxy), to make it obvious that doing the one has prevented the other.
    • Along with this, corrupting a design now applies to both AI players.
    • Thanks to Cyborg and Kahuna for inspiring these changes.

Prerelease 7.013 Revised Salvage

(Released March 24th, 2014)

  • Made the game _slightly_ less aggressive at reclaiming space left in various lists (requires that there be at least 100 reclaimable spots in a list before it trims, instead of trimming if there's even 1 spot empty).
    • This seems to increase overall footprint by a couple dozen MB but may help prevent the dreaded "too many heap sections" crash (i.e. the aggressive trimming may be fragmenting the heap or something like that).
    • If you seen an increase or decrease in either OutOfMemoryException crashes or too-many-heap-sections crashes, please let us know :)
  • Adjusted the new +/- speed scale so that +1 through +5 span the same range of speeds that +1 through +3 did in the previous version, while +6 through +9 spans the same range of speeds as +4 through +9 did in the previous version (same deal on the negative side of the scale). This gives back some of the granularity that used to exist at the lower settings.
    • Thanks to TechSY730 for inspiring this change.
  • Increased the max number that can be put in the per-control-group resource-suspend field from about 2 million to about 500 million (which is significantly beyond the new theoretical max).
    • Thanks to Physical Original for the report.
  • The wave logic has been majorly refactored (again) for ease of working with in the future. The advanced-logging of it is also a lot more clear.
    • In general this shouldn't impact the size of waves (or reinforcements, since some of that logic used to be handled by the same functions, though is no longer) but there may be some shifts from bugs fixed and such during the process.
  • During the 5+ years since the game's development, over 90 distinct "causes of death" for ships have worked their way into the code. Different ones did different parts of the death logic (do I show an explosion particle, do I check for reclamation, do I check for regeneration, do I immediately get removed from the main ship list or do I wait until the common removal loop, etc), which was fine. But not all of them did these steps in the same order, which was rather a problem for things like "make reclaimed ships drop no salvage" as it wasn't consistent whether reclamation was checked (and therefore known) before the salvage check.
    • Well, now the vast majority of those causes (and all of them that do anything like reclamation checking) have been pulled into a single "Die()" method that ensures the same logic order from cause to cause (though different causes still pick which steps to actually do).
    • The potential for bugs here is fairly high, but in testing it's working just fine. Please let us know if you find problems.
  • Oh, and just one more minor change: you can now right-click a starting-location planet in the lobby to change its bonus ship type (via a list that pops up).
    • In the past we've firmly held the line against this request in the interest of promoting variety of bonus ship types. If you never use half the ships in the game you just aren't getting the full value. That's still a valid concern but ultimately the measures used to achieve that had a very simple (and very tedious) workaround: keep rolling seeds until you get what you want. Not only have we been working to minimize "player trades wall-clock-time for X" in the game, but this particular part isn't even _in the game_. Ultimately it is best that the game not start fighting you in the lobby.
    • So either the forced-variety stance (for the in-the-lobby stuff; your choices are still very situationally limited in-game) needs to become effective (just give random bonus ships all the time, preventing workaround-by-tedium) or it just needs to let you pick.
    • All that said, the default behavior is exactly the same, so a new player isn't overwhelmed by picking from 50+ different bonus ship types. It only drills down if you ask it to.
    • Previously the right-click action was used to deselect a planet you had selected; now it just toggles whether you've selected it. The functions for "select all starting planets" and "deselect all starting planets" continue to work as before (the latter using right-click for its mouse part).
    • Thanks to Cyborg, chemical_art, Qatu, Toranth, Kahuna, LintMan, Orelius, Draco18s, and many others throughout the years for inspiring this change.

Salvage Revisions

  • Fixed a bug where salvage-reprisal waves would often try to apply the salvage strength to buying more starships. While cute, this would often not result in any additional units being added, until the numbers get quite high.
  • A salvage-reprisal wave will now readjust the "how long did the AI decide to wait to launch this wave?" wave-size-multiplier to account for the new time it's actually being announced.
    • But it will still be at least a normal-sized wave plus salvage, even if it's really soon after the previous wave.
    • Thanks to TechSY730 for inspiring this change.
  • Reclaimed ships (due to reclamation damage from parasites or whatever) no longer generate salvage for anyone.
    • Thanks to Chthon for the suggestion.
  • Fixed a bug where the "has it been 10 minutes since the last reprisal wave?" counter was not being serialized with a save game, such that a reprisal wave that was "waiting" for the 10 minute timer would immediately launch if you saved and then reloaded the game.
    • Thanks to RockyBst for the report.
  • Zombie ships dying on AI planets no longer generate salvage.
    • Thanks to ZaneWolfe for the suggestion.
  • Previously player ships dying on neutral planets (planets with no command station at all) would give salvage to the AI. While this is often fine it's also very punishing when the planet was the player's just a moment ago and now there's a huge pile of casualties during the overrun, etc. Also problematic in other cases. Now player ships dying on neutral planets only give salvage to the AI if there's at least one normal (i.e. does NOT include Special Forces Guard Posts, and does NOT include Wormhole Guard Posts though they wouldn't still be there anyway) AI guard post left on the planet. So once you clean an AI planet the AI never gets salvage from there ever again.
    • Thanks to Toranth for pointing out the problem and LordSloth for suggesting keying off the guard posts.

Prerelease 7.012

(Released March 15th, 2014)

  • Fixed a bug where the Economy tab of the Stats window would throw errors and generally get you stuck.
    • Thanks to Aklyon for the report.

Prerelease 7.011 Salvaged Resources

(Released March 15th, 2014)

  • Fixed a bug where starting a game with Shark-B enabled (as the only AI Plot enabled, most likely) would cause client-receiving-data errors right off the bat.
    • Thanks to Kahuna for the report.
  • Finally fixed an ancient bug (since the Unity port) where moving the mouse (and various other seemingly unrelated hardware/software events) would actually increase the framerate of the sim (the graphical framerate would be unaffected).
    • This involved using a fundamentally different method of timing for the sim, so please let us know if something broke, but it looks like it's working just fine.
    • Thanks to... goodness, a lot of people have reported this over the years. Thanks to everyone :)
  • To retain the ability to get "extra hyper speed" (previously done by setting the performance profile to extremely-low, the speed to +10, and moving the mouse like crazy), the + and - speed settings have been reimplemented along a different pattern:
    • Previously they added and subtracted fixed amounts from the "fixed frame rate" of the sim. Now they no longer do that.
    • Now a -1 speed causes sim-frames to happen half as frequently, a -2 causes sim-frames to happen one-third as frequently, etc.
    • Similarly, a +1 speed causes sim-frames to happen twice as frequently, a +2 causes sim-frames to happen three times as frequently, etc.
    • Finally, +10 speed has been repurposed as "+!!!" speed. It actually tells the game "before every drawn frame, run as many sim frames as you can physically cram into 250 milliseconds". This results in a very choppy visual experience but it does the job of moving the sim along about as fast as the machine physically can.
      • Note: if you're already in such a heavy simulation that you're getting 4fps or worse, this generally won't speed things up at all, it's already going full bore.
      • Also, in multiplayer you'll probably not be able to get very fast hyper-speeds due to latency between the machines keeping in sync. All machines must remain in lockstep or it'd desync all over the place.
    • Thanks to Toranth and others for inspiring the +10 bit particularly.

Hacking

  • Now that hacking has come far enough along and is generally well-received (though still in need of much tuning), the proposed combination of Metal and Crystal into just the Metal resource has been implemented, and so Hacking has moved up from the alert box to the main resource bar.
    • Basically everything that had metal and crystal numbers previously now just has a metal number (for costs, production, etc).
    • The cost of the metal harvester upgrades has been doubled to reflect that now you're upgrading ALL your harvesters, not just part of them.
    • An exhaustive search through all the tutorial logic, text files and such was done to reflect the fact that crystal is gone, but if we missed something please let us know!
    • Thanks to Tridus, chemical_art, LaughingThesaurus, DrFranknfurter, Eternaly_Lost, Shrugging Khan, TechSY730, tmm, and others for inspiring this change.

Metal Storage

  • The minimum stored-metal cap was increased from 999,999 to 2,000,000 due to the combination of metal and crystal.
  • Previously your stored-metal cap was always the same regardless, and this contributed to long refleeting times (despite a strong economy) in the mid and late game because your resource production and consumption had increased but your storage had not. This was particularly true of Fallen-Spire games, but even outside that it was causing problems. So:
    • Each command station now provides metal storage:
      • Home Command Stations provide 2 million (so at the start of a 1HW game you just have that 2M, it's not 2M on top of the minimum).
      • Econ Command Stations provide 100k/200k/300k at mk 1/2/3.
      • Logistics Command Stations provide 60k/120k/180k.
      • Military Command Stations provide 30k/60k/90k.
      • Warp Jammer Command Stations provide 50k.
    • In addition, each Spire City Hub (Fallen Spire campaign) provides 1 million.
    • Note: metal storage is per-player, so in an MP game if you just have one HCS you still only get 2M storage even if one of your partners owns half the map.
    • Thanks to Fealthas, Diazo, Tridus, Darloth, tadrinth, Shrugging Khan, LordSloth, Qatu, Cyborg, Toranth, Draco18s,

Salvage

  • Fleet wipes still sometimes lead to long periods of both low-player-action and low-danger (and thus low-interest), so Salvage has been introduced to both reduce the period of low-player-action and to avoid it being a low-danger situation while still leaving the overall pacing in player control.
    • Thanks to Diazo, Draco18s, Cyborg, Qatu, Toranth, Draco18s, chemical_art, Eternaly_Lost, Kahuna, TechSY730, LordSloth, Fealthas, Faulty Logic, Tridus, Volatar,
  • Now when an AI-controlled unit dies on a player-controlled planet it leaves a certain amount of invisible "Salvage" behind, proportional to the metal cost of the unit.
    • Minor faction units don't leave salvage.
  • On player-controlled planets, the command station collects a certain amount of the salvage each second and convert it back into usable metal.
    • The amount per-second is about 1% of the total remaining salvage (minimum 100), multiplied by the station's salvage efficiency:
      • Econ command stations have 5/10/15 % efficiency at mk 1/2/3.
      • Military command stations have 4/8/12 % efficiency.
      • Logistics command stations have 10/20/30 % efficiency.
      • Warp Jammer command stations have 10% efficiency.
      • Home command stations have 50% efficiency (meaning that an attack that doesn't get stopped until your actual homeworld gives a _lot_ more metal than elsewhere).
    • So if you have a mkII econ station with 100,000 salvage floating around, the next second you'll gain 100 extra metal that second and 900 of the salvage will just disappear. Whereas on your homeworld you'd gain 500 extra metal that second and 500 of the salvage would disappear.
    • You can view which of your planets have orbiting salvage, how much, efficiency and rates etc on the Metal tooltip on the resource bar at the top of the screen.
  • Now when a player-controlled unit dies on a non-player-controlled planet (so AI-controlled or neutral, but NOT the nebulae champions can get into), an AI player is given that unit's metal value in salvage to use for a reprisal wave.
    • Scouts do not contribute.
    • Minor-factions do not contribute.
    • Units still being built (turrets, if you build turrets on enemy planets, etc) do not contribute.
    • Scrapped units DO contribute.
    • The actual salvage value the AI gets to use is difficulty-based:
      • Diff 7: about 35%
      • Diff 8: about 50%
      • Diff 9: about 70%
      • Diff 10: all of it
    • Then the Metal is translated into Strength at the ratio of a MkI Bomber's metal cost and strength.
    • On AI planets the controller gets the salvage, on neutral planets the game picks one of the AI players to give it to.
  • The reprisal announces about 3 minutes after the first bit of salvage comes in, and includes all the salvage collected during that time, plus a normal wave (basically it just schedules the next wave early and throws in the salvage units on top).
    • The reprisal won't announce if the total salvage available is lower than about 100-strength worth, to prevent really tiny casualties from triggering the mechanic.
    • After announcing a reprisal wave, that AI player has to wait at least 10 minutes before announcing another.
  • The overall impact of both sides of the new salvage mechanic, hopefully, will be to set up a situation where:
    • When you throw a fleet at the AI, your casualties are significant. Not catastrophic, but meaningful. And a complete fleet wipe can be genuinely dangerous, thus costing more than just time spent rebuilding.
    • But this new form of AI attack still doesn't take control of the pace away from the player, because it only happens when the player takes the initiative (and is fairly minor unless the player takes high casualties).
    • When the AI "throws the ball back" this way, it not only gives you something to do during the rebuild, but if you survive you likely have a significant economic boost (and thus shorter rebuild times).
    • In addition to all of that, whenever the AI is hitting you hard for whatever reason you have an opportunity to collect resources and hit it right back.
  • This will likely have a fairly profound impact on balance so much iteration is likely needed. In-house MP testing gave very reasonable results for the early/mid-game on 7/7 but that's really just a proof-of-concept. Some specific caveats to watch out for:
    • Several units whose metal costs were previously irrelevant have been updated to work with the salvage mechanic (Hunter-Killers, etc) but if you see a unit give an off-the-wall (low or high) amount of salvage please let us know!
    • It's entirely possible that, combined with the high output of command stations and upgraded harvesters, the econ game will be simply too generous to the player. That said, we didn't want to pre-emptively nerf-hammer the standard econ sources (particularly since this may just mean econ techs become less always-taken, which would be great). So just let us know how the metal-income balance feels.
    • It's also entirely possible that the AI's reprisals will be vastly too strong (or too weak) in some situations. It looked fine in basic testing but there's a lot of cases out there. If it goes bonkers let us know.
    • It's intentional that player units dying on player planets do not give salvage to the player, and that AI units dying elsewhere do not give salvage to the AI. That was tested but ultimately it has much larger repercussions than desired.

Prerelease 7.010 Oops!

(Released March 12th, 2014)

  • Fixed a bug where the alert types on the per-planet controls window used the name string instead of the description string for the mouseover tooltip.
    • Thanks to Joubarbe for the report.
  • Fixed a bug where the Mercenary Fighter was using the normal Fighter's description.
    • Thanks to Joubarbe for the report.
  • Units that provide cloaking-boost (Eyebots, Cloaker Starships, Scouts... that's mostly it) now continue to provide that even while in stand-down mode.
    • Thanks to Kahuna for the report.
  • Fixed a bug in recent versions where using certain hacking units (sensor hack, for instance) could corrupt some saves.
    • Thanks to roberto_melfra, hellgnomo, Zombiestocker, crimsonknight3, eriksr, and RockyBst for the reports and saves on this.
  • Fixed a bug in recent versions where using multiple sabotage hackers on the same planet could lead to a unhandled errors if there weren't enough targets for the sabotage hackers to blow up.
    • Thanks to alocritani for the report.

Prerelease 7.009

  • Fixed a bug where 7.008 wasn't reading in some recent saves correctly (looking for "True" or "False" instead of "1" or "0" on some of the "has this planet had this hack before" flags), causing those saves to not be playable.
    • Thanks to Zair for the report and save.

Prerelease 7.008 More Dirty Tricks

  • Spirecraft Scouts no longer count as "major weapons" (like all other spirecraft) for the purpose of alerting planets. So in general they shouldn't cause much alert.
    • Thanks to TechSY730 and many others for inspiring this change.

Hacking, Round 3

  • Added new type of placeable for the Hacker: Sabotage Hacker
    • In-game description:
      • Only works on a planet with an intact AI command station, but hacks into that station's network to destroy an important AI-controlled structure on the planet. Eligible targets include fortresses, forcefields, ion cannons, mass drivers, warhead interceptors, armor inhibitors/boosters, blackhole machines, distribution nodes, Zenith reserves, interplanetary munitions boosters, raid engines, alarm posts, radar jammers, gravity drills, troop accelerators, and AI Eyes.
      • If more than one eligible target is present on the planet, the one closest to the hacker will be destroyed. If multiple sabotage hackers are used, each will destroy a separate target.
      • The AI will notice the hacking in progress and respond against your units both on that planet and nearby.
      • NOTE: Successfully destroying a unit via sabotage reduces your Hacking-Progress by 2. Each hack after that costs 1.5x the previous.
  • Added new type of placeable for the Hacker: Sensor Hacker
    • In-game description:
      • Only works on a planet with an intact AI command station, but hacks into that station's network to disrupt the entire local AI sensor net. This grants all human ships on the planet the normal cloaking ability and suppresses all AI tachyon sources. All normal "must recharge cloak after firing" rules still apply. In addition, all AI cloaked/camouflaged units are revealed for the duration of the hack.
      • The hack takes 30 seconds to start, and lasts for 35 seconds. Further sensor hacks during that time (by the original hacker or another one) simply refresh the duration, but also trigger the hacking-progress cost again.
      • The AI will notice the hacking in progress and respond both on that planet and nearby.
      • NOTE: Successfully performing a sensor-hack reduces your Hacking-Progress by 10. Each hack after that costs 1.5x the previous.
  • Fixed a bug where the hacking response logic that was supposed to trigger a 30-second wave against the planet being hacked would instead do warp-anywhere logic if that particular planet was ineligible for normal waves. Counterwaves are valid hacking responses too (at a certain point) but are supposed to give 4 minutes warning.
    • Thanks to Zeyrun, Eternaly_Lost, and others for reporting.

Prerelease 7.007

(Released July 8th, 2013)

  • Fixed a bug in the last version preventing knowledge gain.
    • Thanks to MaxAstro for the report.

Prerelease 7.006 Design Meddling

(Released July 8th, 2013)

  • The AI's base response to hacking is now based on AIP - HackingProgress, so that your early hacks are basically always easy, and having surplus HaP generally helps. Hopefully this won't make things too easy but the alternative has been fairly, um, "startling" to players doing their first hack of a game at 300 AIP or so :)
    • Thanks to LintMan, ZaneWolfe, chemical_art, Tridus, and others for inspiring this change.
  • Each hacking response is now limited to 100 wild-rolls even if the response gets really high, to help avoid effectively infinite-loop situations.
    • Thanks to Toranth for the report.
  • The HaP cost of each hacking operation is now 1.5x the previous of that kind, instead of 2x.
    • Thanks to Toranth, TechSY730, chemical_art, madcow, and others for inspiring this change.
  • Fixed a bug where the tabs for building Protector Starships or Spire Corvettes would not show up at Starship Constructors if you'd hacked the corresponding core fab (but had no other access to that bonus type).
    • This should also make hacking core turret controllers work, though that isn't something we've intentionally included in the existing fab hacking yet so it may have other issues.
    • Thanks to GP_Trixie for the report and save.
  • Re-fixed a problem from previous officials where for some subset of users the Fallen Spire Shard Reactor close-zoom graphic is 256x254, causing sprite errors when viewed in close zoom or in the ship-design window.
    • Thanks to Skyswimsky and rylen for the report.
  • Knowledge gathering in general no longer requires supply (normal knowledge gatherers still require the absence of an AI command station), since there are now other very powerful deterrents to the "knowledge-hack the entire galaxy" approach.
    • Thanks to Toranth for inspiring this change.
  • Orbital Mass Drivers now have the health of a mkI arachnid post and the DPS of a mkIII one (with no change to rate of fire). Both changes are significant buffs.
    • Thanks to Spikey00, Toranth, onyhow, Histidine, krieger, Tie-Viper, Tridus, Ozymandiaz, and others for inspiring this change.

More New Forms Of Hacking

  • Added new type of AI structure to the "Data Center" family: Design Backup Server
    • In-game description:
      • This server houses some of this AI's backups for one or more ship designs.
      • Redundant backups elsewhere make destroying this futile, and it self-destructs if the command station is destroyed to prevent tampering. While the station stands, however, you may use a Hacker to either propagate a corrupted version of the design(s) (preventing this AI from building more for MkI-MkIV purposes, Core R-and-D is handled via an isolated network) or download a master copy for your own use.
      • If either hack is performed successfully, the server will lock down and you will not be able to access it further for either purpose.
    • The actual types "stored" there are displayed in the server's direct mouseover and on the new galaxy display mode for the backup servers.
    • Thanks to Tridus and madcow for inspiring this.
  • Added new type of placeable for the Hacker: Design Corruptor
    • In-game description:
      • If placed on the same planet as one of the AI's Design Backup Servers, this device can corrupt that AI's copies of the design(s) stored there and prevent further fabrication for use in this galaxy.
      • Please note: if the command station is destroyed, the backup server goes with it. Also, if the server has already been hacked by a Design Downloader it will go into lockdown and corruption will become impossible.
      • The AI will notice the hacking in progress and respond against your units both on that planet and nearby.
      • NOTE: Successfully corrupting an AI's design reduces your Hacking-Progress by 30. Each subsequent design corrupted costs 1.5x of the previous.
  • Added new type of placeable for the Hacker: Design Downloader
    • In-game description:
      • If placed on the same planet as one of the AI's Design Backup Servers, this device can download master copies of the design(s) stored there and allow you to build them yourself.
      • Please note: if the command station is destroyed, the backup server goes with it. Also, if the server has already been hacked by a Design Corruptor it will go into lockdown and download will become impossible.
      • The AI will notice the hacking in progress and respond against your units both on that planet and nearby.
      • NOTE: Successfully downloading an AI's design reduces your Hacking-Progress by 50. Each subsequent design corrupted costs 1.5x of the previous.

Prerelease 7.005

(Released July 3rd, 2013)

  • Fixed some hacking types using testing times (seconds instead of minutes).
    • Thanks to Toranth for the report.
  • Fixed some bugs where a really intense hacking response could result in array-index-out-of-bounds errors.
    • Thanks to Toranth for the report.
  • Fixed some bugs where some of the new hacking state (how many fab hacks you'd done, which fabs you'd hacked) was persisting between quitting and starting a new game.
    • Thanks to Toranth for the report.
  • Knowledge Hacking no longer requires supply on the target planet, as there's only so many of these that you're going to pull off anyway.
    • Thanks to Toranth for the suggestion.

Prerelease 7.004

(Released July 3rd, 2013)

  • Corrected some uses of the wrong newline character in the CounterHacking log.
    • Thanks to Toranth for the report.
  • Fixed a bug in the hacking progress display that thought the cost of ST-hacking doubled with every tick instead of every 20 ticks. The actual computation was right, but this quickly made the display useless.
    • Thanks to Toranth for the report.
  • Added some logic to the new hacking-response computations to guard against arithmetic overflow. Both by capping the intermediate results to avoid absurd numbers, and by expediting the destruction of the player.
    • Thanks to Toranth for inspiring this change.

Prerelease 7.003

(Released July 3rd, 2013)

  • Fixed a bug preventing the loading of old saves (where you had at least one inbound wave in the alert box).
    • Thanks to Toranth for the report.
  • Made the Hacking Progress display show up all the time, not just when you'd spent some.
    • Thanks to Aklyon for inspiring this change.

Prerelease 7.002 Hacked To Pieces

(Released July 3rd, 2013)

  • Fixed a bug where using "Apply To Selection" to change the planned modules on a unit under construction (like a modular fortress) would reset that unit's construction progress.
    • Thanks to TechSY730, Shadowsand, and MaxAstro for reporting.
  • Space Docks, Mobile Space Docks, and Advanced Factories:
    • Can now all build all 5 mark levels, assuming you have the prerequisites for those ships (so if you have a Core Shield Bearer fabricator you can now build Core Shield Bearers at any Space Dock, Mobile Space Dock, or Advanced Factory; even if you don't have access to building mkI shield bearers).
    • Their buy menu tab is now labeled "FLEET" instead of "I-III" or "IV" or whatever.
    • There is now a "FLEET 2" tab that will show next to that one if your name is Cinth; I mean, if you have more than 20 distinct fleet-ship types.
    • Thanks to Cinth for inspiring the fleet-2 tab part.
  • Starship Constructors and Advanced Starship Constructors can now build all 5 mark levels, assuming you have the prereqs for the ships in questions. So you can now build Warbird Starships at a normal Starship Constructor if you have the right fab, etc.
  • Fixed a bug where Core Flak Turrets had needler ammo in their magazines instead of flak grenades. The logistics officer has been sacked.
    • Thanks to SNAFU for the report.
  • We express our sincere condolences to Cheesemasters everywhere: Lightning Torpedoes can no longer be put in transports. The days of the Transpocalypse are over (or at least more complicated to achieve).
    • This goes for Maws, too.
    • Thanks to Toranth for the report.
  • Fixed a bug where the MkIV Scout could be built from a Mobile Space Dock without controlling an Advanced Factory.
    • Thanks to Kronic for the report.

The New Hacking

  • This is the first step in the promotion of Hacking to a full resource, and the removal of Crystal (it will just be merged into Metal). This won the "Big Items for 8.0" poll here, after being discussed at length here. The actual implementation will vary somewhat from previous discussions as I figure out what works best. More kinds of hacking are coming, the actual crystal removal (and moving of hacking to the resource bar), and iteration on hacking balance and such will be ongoing for a while.
    • Thanks to chemical_art, Wingflier, ZaneWolfe, Cinth, Kahuna, Faulty Logic, RCIX, Lancefighter, nas1m, _K_, Irxallis, Toranth, Eternaly_Lost, Cyborg, Billick, Aklyon, Valtiel, KDR_11k, Radiant Phoenix, LaughingThesaurus, Vyndicu, Moonshine Fox, TIE Viper, Winge, Drjones013, Hearteater, contingencyplan, and the poll voters for inspiring these changes.
  • Added a new ship to the ECON build tab: the Hacker.
    • This works a lot like the Ship Design Hacker but doesn't do any hacking itself. Instead it can deploy devices much like a champ can deploy projected shields, etc (so it has to be within X range, is essentially free and instant, etc). The first two such devices are:
      • Covert Knowledge Extractor; a renamed Knowledge Hacker (formerly known as the Science Lab MkIII).
      • Research Redirector; a renamed Ship Design Hacker.
    • Both are immobile, no longer directly buildable (except by the hacker) and can only be placed on planets that are currently controlled by the AI.
  • The scale of the AI's response to hacking is now determined by a mix of AIP and the new "Hacking Progress" resource instead of the old under-the-hood "Hacking Antagonism" metric.
    • Hacking Progress is basically equal to total AIP (not effective AIP, but total before reductions) minus whatever you've spent. It's spent thus:
      • Knowledge hacking: 30 for the first planet's worth, 60 for the second planet's worth, 120 for the third, etc.
      • Ship Design hacking: 50 for the first ARS, 100 for the second, 200 for the third, etc.
      • Superterminal hacking: 1 each for the first 20 ticks (which is a net 20 AIP reduction, 2 each for the next 20, 4 each for the twenty after that, etc.
    • Hacking Progress can go negative! This basically represents a situation where your hackers have used all the known vulnerabilities in the AI's network defenses to the point that the AI has patched them all, and now further hacking is basically brute-force stuff that really trips a lot of alarms.
    • The hacking response is:
      • If Hacking Progress is >= 0, then just uses Effective AIP (so AIP after reductions).
      • If Hacking Progress is negative, then it uses either Effective AIP or -HackingProgress (whichever is greater) AND multiplies the result by 1+(HackingProgress/-10).
        • So if AIP is 10 normally the response would be scaled by just 10. But if Hacking Progress were -50 the response would be scaled by _300_.
  • Added new device that can be placed by the Hacker: Fabricator Hacker.
    • Since AI fabricators do not store the full Master Data of their design, we can only build from that design while the fabricator remains intact.
    • This device infiltrates the AI's local industrial network and corrupts the fabricator's design data. The AI's autocorrection then triggers a rebroadcast of the relevant Master Data. Our device will then helpfully intercept this transmission, enabling us to build that design from our standard Space Docks.
    • Please note: once the AI loses control of a planet its security protocols will prevent any retransmission to any fabricator on it. Accordingly, if you wish to perform this hack you must do so BEFORE the AI's command station on the planet is destroyed.
    • The AI will notice the hacking in progress and respond against your units both on that planet and nearby.
    • NOTE: Successfully hacking a Fabricator reduces your Hacking-Progress by 20. This cost doubles each time, so the second hack costs 40 (for a total of 60), the third costs 80 (for a total of 140) and so on.
  • Added new device that can be placed by the Hacker: Advanced Constructor Hacker.
    • Since AI Advanced Factories and Advanced Starship Constructors do not store the full Master Data of their designs, we can only build from that design while the facility remains intact.
    • This device infiltrates the AI's local industrial network and corrupts the facility's design data. The AI's autocorrection then triggers a rebroadcast of the relevant Master Data. Our device will then helpfully intercept this transmission, enabling us to build those MkIV designs from our standard Space Docks (or Starship Constructors, in the ASC's case). Assuming we have the corresponding MkIII research, of course.
    • Please note: once the AI loses control of a planet its security protocols will prevent any such retransmission to any facility on it. Accordingly, if you wish to perform this hack you must do so BEFORE the AI's command station on the planet is destroyed.
    • The AI will notice the hacking in progress and respond against your units both on that planet and nearby.
    • NOTE: Successfully hacking an advanced constructor reduces your Hacking-Progress by 100. Performing another such hack costs 200 (for a total of 300).

Prerelease 7.001

(Released June 19th, 2013)

  • Added a clarification to the tutorial text in step 11 of tutorial 2 that you're supposed to unlock the harvester exo-shield from the SUP tab of the Science Lab, not of the Command Station.
    • Thanks to Some Donkus (actual provided name, not an editorial comment) for inspiring this change.
  • Fixed a bug where the Lightning Torpedo still had a theoretical cost of 50,000m+50,000c instead of 1+1 (they're never built normally, this is just to prevent scrap exploits).
    • Thanks to onyhow for the report.
  • Added support for an easier way for the steam version to recognize that you own the first four expansions. As in, not copy-and-pasting 4 separate keys.
    • There's still some other stuff we need to do to make this work, though.
  • Updated the Advanced Starship Constructor to no longer claim that the MkIV enclave is built at the normal starship constructor.
    • Thanks to corfe83 for the report.
Personal tools