Difference between revisions of "AI War 2:The Refinement of Fleets"

From Arcen Wiki
Jump to navigation Jump to search
 
(680 intermediate revisions by 6 users not shown)
Line 1: Line 1:
== Known Issues ==
+
== Next Release Notes ==
  
* The old-style tutorials are gone, and we're still in progress with replacing that with [[AI_War_2:_The_Arrival_of_Fleets#Tutorials_Are_Out.2C_How_To_Play_Is_In|three different styles of other help/onboarding in-game mechanisms]].
+
[[AI War 2: Pre-And-Post Launch Polish]]
  
* Various bugs on mantis: https://bugtracker.arcengames.com/view_all_bug_page.php
+
== What was this phase all about? ==
  
* '''Multiplayer is temporarily disabled''' while we focus on tightening up the single-player loop.
+
The fleets work of the prior phase turned out to be a much larger undertaking than initially expected, but we also refined a whole bunch of other areas of the game at the same time.  Finally implementing the new lobby and how a lot of that works, for instance.  So a whole bunch of great things happened.
 +
 
 +
The downside was that there were still some things that were [https://bugtracker.arcengames.com/view.php?id=21310 decidedly annoying] that we knew we wanted to tackle, and that was initially what this phase was about.  Making sure that nobody's playstyles are removed or invalid, and that everything feels balanced, and that there's enough to capture and think about, and that there's no substantial "netflix time" where you're just waiting around (unlike the first game).  A lot of the initial discussions about all this were [https://forums.arcengames.com/ai-war-ii/my-personal-issues-with-fleets/ here], but other discussions were on discord and other places.
 +
 
 +
Eventually this also just became a period for continuing to fix other bugs and annoyances, and in general working on refining everything now that we're out of beta for the new fleets-based paradigm.  And figuring out a whole new way to do tutorials, and get those back in, was a big piece.
 +
 
 +
== Version 0.899 Intel Objective Difficulty Ratings ==
 +
(Released October 10th, 2019)
 +
 
 +
* Hacking waves can include Guardians again.
 +
 
 +
=== More Tutorial Work! ===
 +
 
 +
* Fifth tutorial is added, although perhaps not quite finished.
 +
 
 +
* A number of other miscellaneous tutorial tweaks from Puffin.
 +
 
 +
=== Scouting Improvements ===
 +
 
 +
* Logistical Command Stations now Watch adjacent planets
 +
** Prompted by a long and periodically civil discussion on the Forums.
 +
 
 +
=== UI Improvements ===
 +
 
 +
* The Metal Flow popup window now shows how much Metal your ships have Metabolized, and your per-planet metal income
 +
** Requested by zeus almighty
 +
 
 +
* Objectives in the Intel sidebar now give an estimate of 'how hard this objective is', and are sorted from easiest to hardest within a category.
 +
** The estimate is a colour/heuristic number combination, similar in principle to the hacking difficulty estimate
 +
 
 +
* Some tweaks to various colours in the Objectives to make things more consistent.
 +
 
 +
* The selected planet no longer blinks.
 +
** Thanks to Badger for suggesting.  It was bugging Chris, too, and it was Chris's idea.
 +
 
 +
* On the galaxy map, you can now see the number of units stacked or contained inside of things like your fleet leaders.  This keeps their icons consistent with those in the main game view.
 +
 
 +
* On the galaxy map and planet view, the control group number no longer replaces the stack count -- which also is the count of ships contained in transports.  That was pretty critical information that was being hidden!
 +
** Now, assuming that the fleet leader doesn't have an overlay icon on it already, the control group number shows up as an overlay on the ship.
 +
** Thanks to several folks for suggesting.
 +
 
 +
* Animated galaxy map links for potential and incoming waves now use a more discreet scrolling texture instead of a pulsating line.
 +
** Tweak by Asteroid
 +
 
 +
=== Bugfixes ===
 +
 
 +
* Added a potential fix for an issue where ship stacks could not be properly overkilled, only one ship would die when the whole stack should have died.
 +
 
 +
* Fixed the AI Hunter / Killer and Fenrir prototype not actually doing any damage with the point beam.
 +
 
 +
* Fixed a rare index out of range exception that could happen in GetCanHitByDesireOrNot_AndIAlreadyKnowIAmAWeapon.
 +
 
 +
* Fixed a nullref exception that was possible to get in SendMessageToAllClientsAndSelf when you were quitting to the main menu out of a particularly heavy game.
 +
 
 +
* Fixed a rare timing bug that could cause a nullref in CalculateHasAnyContents.
 +
** Thanks to NRSirLimbo for reporting.
 +
 
 +
* Fix a bug where Combat Engineers weren't properly assisting in battles
 +
** Thanks to listsandlists for reporting, and Weapon Master for some very helpful debugging
 +
 
 +
* Improve the hovertext of the minor faction beacons to make it clearer what they do.
 +
** Suggested by kmunoz and puffin
 +
 
 +
*  When the Science sidebar checks for entities that would be upgraded by a given Tech upgrade, count units in Loose fleets like Metal Harvesters
 +
 
 +
* Add some defensive code to CalculateTransportedContentsCount
 +
 
 +
* Update the Auto Build Engineers setting to be a boolean toggle instead of an integer, since the integer version didn't really work anymore
 +
** Reported by WeaponMaster
 +
 
 +
* Fix a bug where the Tech menu would always list an incorrect number of each Command Station Type
 +
** Thanks to Asteroid for reporting
 +
 
 +
=== Balance Tweaks ===
 +
 
 +
* Stealth Guardian engine 18 -> 9.
 +
 
 +
* Spider Guardian engine 18 -> 14.
 +
 
 +
* Macrophage Harvester mass 4 -> 7.
 +
 
 +
* Normal Guardians (i.e not Dire) mass 6 -> 5.
 +
 
 +
* Rippers paralysis now works on mass < 6, rather than < 5.
 +
 
 +
* Dire Specter mass 5 -> 6, Eidolon 5 -> 7.
 +
 
 +
* Dyson Bulwark mass 5 -> 6, Bastion 5 -> 7.
 +
 
 +
=== Unit Variants ===
 +
 
 +
* Add the Ramifier variant of the Tritium Sniper Frigate.
 +
** Ramification - "a subdivision of a complex structure or process." Synonym for radiation, and in this context also used for shattering a target.
 +
 
 +
* Add the Impactor Citadel.
 +
 
 +
* Add the Drainer Citadel.
 +
** Thanks to zeusalmighty for suggesting all 3.
 +
 
 +
== Version 0.898 Galactic Linkages ==
 +
(Released October 7th, 2019)
 +
 
 +
* All Quick Starts containing double AIs now has the second AI using a colour that isn't so easily confused with the first.
 +
** Thanks to I-KP, ArnaudB, and maybe someone else for reporting?
 +
 
 +
* Default Nanocaust colour is now gold rather than a blue, as this could cause confusion with the default player colour in the Quick Starts.
 +
** Thanks to kmunoz for reporting.
 +
 
 +
* Because of the above, two of the Fun With Factions Quick Stats have had the relevant factions (Nanocaust and Marauders) changed to use colours that you can actually tell apart now.
 +
 
 +
* Updated the nanocaust beacon to be a lot more explicit on some of the risks and rewards that it might yield, while staying in-character for the game.  We still need to do this for the other similar beacons.
 +
** Thanks to kmunoz and Puffin for suggesting.
 +
 
 +
* The Nanocaust will now patrol the inside of its empire more evenly, searching for new enemies to conquer
 +
 
 +
=== Balance ===
 +
 
 +
* The AI no longer generates Threat against Macrophages (they work like the Devourer in this regard)
 +
** This was annoying Badger, since the Macrophages were causing a ton of high-mark AI ships to just wander around the map in the early game
 +
 
 +
* Allow Nanocaust units and Marauder Raiders to stack.
 +
 
 +
=== Bugfixes ===
 +
 
 +
* Start work making the Fleet health estimation code (used for the % numbers in the selection window) aware of stacking; as is the estimates are wildly off since it counts all stacked ships as dead
 +
** Thanks to kmunoz for asking questions about this.
 +
 
 +
* Fix a bug where large stacks with bad status effects were splitting unevenly, which isn't the goal. The uneven splitting code is intended for stacks that were unlikely to split otherwise, and are only splitting due to the bad status effect
 +
** Thanks to Asteroid for the bug report.
 +
 
 +
* Fixed a bug where ships loaded into transport were not properly counting towards your fleet's current HP
 +
** Now you will properly see the fleet's HP as 100% (or whatever the true fleet HP is at that time) instead of only seeing the transport's HP vs total fleet HP.
 +
 
 +
* Fixed a bug in Decollision Planning where if the DataForMark was null (which happens validly after entities die), then in recent builds it was able to cause a nullref exception.  This was then causing some other unrelated downstream errors.
 +
** Thanks to I-KP for reporting, and Badger for finding the spot.
 +
 
 +
* Fix two typos on loading screen, and one in resources tooltip.
 +
** Thanks to Asteroid for fixing.
 +
 
 +
* Fixed a typo in the third tutorial.
 +
** Thanks to RabidSanity for reporting.
 +
 
 +
* When stacked ships go into a transport, it now properly puts the whole stack in (but this is untested).
 +
** It also now properly takes the stack out as a whole (also untested).
 +
** It also now should properly count the extra ships in the stack for GUI purposes, factories, and other conditions (also untested, and this is where more bugs might be creeping in, because these were a ton of changes).
 +
** Huge thanks to ulu for reporting, Asteroid and Badger for furthering it along, and then WeaponMaster for hunting down what the actual issue was.
 +
 
 +
=== More Galaxy Map Improvements ===
 +
 
 +
* Added a new "Icon Scale On Galaxy Map" setting on the galaxy map camera section of the settings menu.
 +
** Description: Depending on the size of your monitor, you may prefer the icons on the galaxy map (planets and otherwise) to be larger or smaller.  The default is 1.5 since smaller than that was feeling a bit too tiny for anyone not on huge monitors.
 +
** Note: changing this doesn't undo what things were done in the prior release.  It's still scaling the planet and its icons as a group, which is now more efficiently-packed and sized better RELATIVE to each individual part, regardless of what scale you choose.  So it's kind of the best of both worlds.
 +
** Thanks to a variety of players, including Asteroid, for suggesting that we add something along these lines, and that the new scaling is a bit on the small side for their taste in a default sense.
 +
 
 +
* You can now hover over the links between planets on the galaxy map and see a tooltip that explains directly what their status is.  It also causes the names of the planets at both ends to appear.
 +
** Huge thanks to Asteroid for adding this!
 +
 
 +
* The visuals for the links between planets that are actively under attack (via a wave that's incoming) now show as an animated pulsing line.
 +
** Thanks again to Asteroid for adding this!
 +
 
 +
* Hovering over a planet on the galaxy map now makes its name show up automatically, so you can read it there rather than having to see the tooltips.
 +
** Thanks to Asteroid for inspiring this change.
 +
 
 +
* When hovering over a link between two planets, the link now gets extra thick to give you even more of an indication of what you're hovering over.
 +
 
 +
== Version 0.897 Commanding From The Galaxy Map ==
 +
(Released October 4th, 2019)
 +
 
 +
* ARSs can now grant up to 6 ship lines per Flagship. There are a lot of flagships that come with 4 ship lines already, which decreases the ability to customize your fleets efficiently.
 +
** Requested by Ozone. The 5 number was capriciously chosen anyway.
 +
 
 +
=== UI Improvements ===
 +
 
 +
* Clicking on the AIP section of the resource bar now also shows the current AI mark level, and the AIP for raising the AI mark level.
 +
 
 +
* Tweak the detailed metal spending text to improve readability and include colour.
 +
 
 +
* Allow the metal planning flows display to work even with the game paused. Note you must have unpaused the game at some point for this to work.
 +
** Requested by the almighty zeus
 +
** This might also fix some nasty errors reported by NRSirLimbo.
 +
 
 +
* Appreciably less verbose version of the weak against/strong against info. Combine multipliers when several attack bonuses accumulate.
 +
** Thanks, Asteroid!
 +
 
 +
* Quick side diversion for Chris: two more of the startup-sequence funny/thematic text bits are now randomized rather than always being the same thing.  Can you tell we start this game over and over again?
 +
** One of them is always something about "distant planets," which is the game loading in the planets data.  We keep this on a specific theme so that we can know what part it's on if something fails.
 +
** One of them is always something about "ship parts," which is the game loading in the ships data (but not the visuals part -- and it used to just be "sequencing nanosphere," which got really old).  We keep this on a specific theme so that we can know what part it's on if something fails.
 +
** Badger's favorites:
 +
*** Ruining Perfectly Good Ship Parts
 +
*** Wearing Ship Parts On Head
 +
*** Offending Sentient Ship Parts
 +
*** Violating Ship Part Bylaws
 +
*** Maliciously Weakening Ship Parts
 +
*** Demoting Insubordinate Ship Parts
 +
*** Holding Ship Parts For Comfort
 +
 
 +
* The tooltip for the fleets tab on the sidebar now has this added notes: "This tab is for management of your fleets, so left-clicking a fleet opens the fleet management window.  If you want to select a fleet from this screen, you can, but you'll need to right-click it."
 +
 
 +
* The selection bandbox is now blue instead of green.  This feels way more in keeping with the visuals of this game, and a lot more modern.  How did we not ever think to do this??
 +
 
 +
=== Bugfixes ===
 +
 
 +
* Replace a few instances of 'Mercenary' with 'Outguard'
 +
 
 +
* Put in some extra debug checking, and a possible nullref fix, inside target list planning.  If the exception happens again it will no longer affect the actual flow of the game under the hood (just an annoying popup now), and we'll know where the actual exception is.
 +
** Thanks to Badger for reporting.
 +
 
 +
* Fixed an issue where some tips could wind up not showing you the bottommost lines if there was a lot of word-wrapping.
 +
 
 +
* Fixed a bug where holding shift was hiding the contents of the selected ships window, but not the window itself.
 +
 
 +
* Fixed a pair of issues in the prior versions where decollision logic would not be run ever for ships with a current speed of 0 (from tractoring or whatever), so they would still stack up; and then also ships that were on the way to a wormhole or transport but then also had a current speed of 0 would STILL not be able to decollide.
 +
** These both combined to make it so that ships were stacking up like crazy still when they were being bombarded by spiders, widows, or tractor beams.  This in general looked awful and made it hard to see what ships were there, making it also a usability issue.
 +
** This DOES of course mean that ships will be able to escape from tractor range some of the time, and that's regrettable, but generally if your tractor beams are in the direction the enemy is headed (the most common case) that's not possible anyway.  The most likely scenario is ships trying to flee from a planet actually getting away from you when you were trying to stun them.
 +
** Thanks to WeaponMaster for reporting.
 +
 
 +
* Fixed an extraneous space in the text for a lot of damage bonuses.
 +
** Thanks to RabidSanity and nomad_delta for reporting.
 +
 
 +
* Fixed a bug where part of the placement icon could remain visible in the galaxy view when you switched in there while in build mode in the main view.
 +
** Thanks to Stormking2010 for reporting.
 +
 
 +
* Fixed an incredibly annoying issue where the thing you're trying to place would disappear when you mouse over an existing ship.
 +
** Thanks to NRSirLimbo for reporting.
 +
 
 +
* Eliminated some super annoying lag between selecting a fleet and all of its members actually being selected.  This was most apparent on the new galaxy map drag-selection, but is now nice and snappy.  It was something you could also feel when double-clicking a flagship, though.
 +
 
 +
=== Galaxy Map Improvements ===
 +
 
 +
* The planet icons are now 75% as large as they used to be, on the galaxy map.
 +
** On a lot of screen resolutions these did feel too large and crowded, so let's see if this helps.
 +
 
 +
* The icons for ships and fleets are now 60% as large as they used to be on the galaxy map.
 +
** Again with the crowding.
 +
 
 +
* The icons for ships and fleets on the galaxy map used to be limited to just 6 per planet, which sometimes we were hitting on small maps with things crowded in (or games where players had a ton of fleets moving around together).
 +
** Now that these icons are smaller, we're allowing for up to 12 per planet, in three rows of 4 rather than 2 rows of 3.
 +
 
 +
* The fleet leader icons on the galaxy map and the planet view now show the number of the control group that they are associated with in a gold color.
 +
** Thanks to arnaud_defrance for suggesting.
 +
 
 +
* The icon for the type of the command station is now drawn on top of human planets (you or allies), so you can see what sort of coverage you have on the map).
 +
** Thanks to kmunoz for suggesting.
 +
 
 +
* On the galaxy map, the display of the planet names and the text to the side of planets is now a bit smaller so that things are less crowded.
 +
** The text to the sides of the planets now also has a black border around it so that it can be seen better against the lines between planets, which can be quite bright at this point.
 +
 
 +
* Fixed an issue on the galaxy map where depending on your camera's angle to a planet its text around it could be offset quite a lot from the icons that are there.
 +
** This still happens a slight bit, which is fine, but it's no longer so excessive.
 +
 
 +
* Selected fleets on the galaxy map now actually show up as selected!
 +
** You still can't actually select them on the galaxy map, but that's coming soon.
 +
 
 +
* Bunches of other small tweaks for the galaxy map planets to make them easier to read and cleaner.
 +
** The selection circle is less oversized compared to the planet itself (for the planet you're currently at), which also means that the planet can have its numerical text to the sides much closer in.
 +
** The mark level indicators are less huge and sit at a better position.  Etc.
 +
 
 +
* The planet that you're currently viewing now flashes slowly, to make it a lot more clear where you are if the galaxy is larger or cluttered.
 +
 
 +
* When you use the intel tab to hover over a specific target, it now highlights ONLY that specific target and its planet, rather than all the matching planets.  This is way more convenient for finding distribution nodes, etc.
 +
** Thanks to arnaud_defrance for suggesting.
 +
 
 +
* AI planets that are adjacent to a world of yours and missing a warp gate now draw a dashed line to your planet, so you can tell it's protected.
 +
** Paired with the thicker lines that are there for adjacent planets that DO have a warp gate, you can really tell the difference at an immediate, visceral level which planets are safe or not.
 +
** When you're hovering to get a path between planets, it uses the thicker lines with no dashes, since it's confusing if that shows up during your pathing info.
 +
** This whole thing makes a REALLY surprising difference in the feel of the galaxy map, in a good way.  Wow.
 +
** Thanks to Asteroid and kmunoz for suggesting.
 +
 
 +
* Fixed a bug that had caused the "mouse over unit in units tab to find it on other planets" function to stop working back in 0.850.  That sure is a handy feature for searching the galaxy in general!
 +
** Thanks to DEMOCRACY_DEMOCRACY for reporting.
 +
 
 +
* After the first time the game is switched to the galaxy map (after you load a savegame fresh or start a new game), the game no longer will recenter the galaxy map without your permission just because you switched modes.  Aka, you can set up a nice view of the map framing whatever it is you want to frame, and hop in and out of planets without that getting messed up.
 +
** It's amazing how much this improves the feel of the galaxy map, frankly.
 +
** Thanks to OzoneGrif for suggesting, and DeathMetallic for helping to inspire it.
 +
 
 +
==== Selecting Ships And Fleets On The Galaxy Map! ====
 +
 
 +
* The galaxy map now works exactly like the planet view when it comes to selecting your ships and fleets:
 +
** You can drag-select, click to select fleets, and so on.
 +
** You can additively select stuff with shift held, or subtractively do it with alt.
 +
** Clicking somewhere other than ships or planets or the gui causes your selection to be reset to nothing, just like in the planet view.
 +
** One notable exception is that it doesn't have any sort of "military only, if there are any miltiary in the selection" limitations.  That doesn't make sense here.
 +
** Also, when selecting fleet leaders, it selects the entire fleet at a time, since only fleet leaders are shown here.  Essentially the only way to select lone ships instead of fleets is for structures or similar that get shown on the map.
 +
** When it comes to giving your ships orders from the galaxy map, that continues to work as it has in past recent releases.
 +
*** Aka, you can give wormhole commands and chain them together, etc.  Like the first game.
 +
*** But you can't give attack or assist orders directly from the galaxy map.  You CAN select stuff on the galaxy map and then go into a planet and give such orders, though.
 +
** Thanks to Radioactive, Corbeau, Zoreiss, and WSRainer for suggesting.
 +
 
 +
=== More Tutorials! ===
 +
 
 +
* The second tutorial, this one focused on the galactic controls, is now complete and in place.
 +
 
 +
* The third tutorial, this one focused on the basics of fleets and building, is complete.  As Puffin notes, "it's a fairly...tricky thing to explain, and I imagine this'll be the tutorial with the most steps by far," so it's good to have people seeing it sooner than later and we'd definitely love any constructive feedback on this or any others in terms of things we're missing.
 +
 
 +
* The fourth tutorial, talking about resources, technologies and hacking is also complete. This one most likely has some flaws, as Puffin was kind of...typing out the words soon as they came in at this point.
 +
 
 +
* Vaguely tutorial related: Added a new "Extra: The Meanings Behind Planet Mark Level Colors" section to the galaxy map section of the "how to play / tips" section.
 +
** Thanks to ulu for inspiring this addition, since others will also likely be curious.
 +
 
 +
=== Tutorials Design ===
 +
 
 +
* Added a few more conditions for tutorial steps:
 +
** PlanetHasBeenExplored
 +
** PlanetIsWatched
 +
** PlanetIsPermanentlyWatched
 +
** Details: https://wiki.arcengames.com/index.php?title=AI_War_2:_Tutorial_Step_Conditions#Planet_Vision
 +
 
 +
* Put in some extra verbosity in the "can't hack" internals logic, initially thinking that we'd make some conditions for tutorials checking for things being hacked.
 +
** We may do that at some point, but in the shorter term this logic is probably better to use: For checking if a ship has been hacked, right now the best thing to do is see if it still exists or not.  If it still exists, generally speaking, it hasn't been hacked.
 +
** If there are specific hacks we need to start checking for in a more robust way, we can base that off of some of the new internal verbosity, but it will probably require some coding on a per-hack basis for a little while.  That won't last, but is the case for now.
 +
 
 +
== Version 0.896 Strength and Control ==
 +
(Released October 3rd, 2019)
 +
 
 +
* The check for making sure under-constructions structures aren't eligible for repairs now correctly checks for under construction structures in hold fire mode.
 +
** In this case I'd bought a Zenith Power Generator from the Zenith Trader but didn't have enough metal, so I'd left it in hold fire more until I could afford it. But I kept being super low on metal...
 +
 
 +
* Fix a bug where Instigators could be hostile by default to the Warden and Hunter Fleets in multi-AI games.
 +
 
 +
* Put in a fix to hopefully reduce auto-kite making your ships wobble
 +
** Thanks to kmunoz for the report and save game, and to Varone for reporting.
 +
 
 +
* Add a section in the Tips menu about the Galaxy map, and include a tip explaining how wormhole link colours are determined
 +
** Thanks to Arnaud de France for the bug report
 +
 
 +
=== Mercenaries Becoming Outguard ===
 +
 
 +
* In general we now have mercenaries called outguard (if you see the word mercenary in the front end of the game still, please let us know), and soon they will work differently.
 +
** Here's the design for how those will work: https://bugtracker.arcengames.com/view.php?id=21731
 +
** For now it's just a name change.
 +
 
 +
=== UI Improvements ===
 +
 
 +
* The Metal flow planning data in the resource bar UI now reports which units are having metal spent on them.
 +
 
 +
* "Toggle Ship Systems Enabled" was a really confusing name for the "hold fire" mode, although hold fire mode is also a bit of a misnomer because this applies to more than just weapons systems.
 +
** This has now been renamed to "Hold Fire/ Disable Ship Systems"
 +
** Thanks to Badger for reporting.
 +
 
 +
* Indicate whether the AI has a warp gate adjacent to one of your planets by making the line extra thick if there is a warp gate, and extra thin if there is no warp gate. Add a Tip to the Galaxy Map section explaining this.
 +
** A number of people have wanted an easy way to tell if an AI planet has a warp gate, and this will highlight the relevant case (AI planet next to non-AI planet)
 +
 
 +
==== Sidebar Tab Changes ====
 +
 
 +
* The Local tab, previously the Ships tab, is now the Planet tab.
 +
 
 +
* The Mercenaries tab, previously the Ops tab, is now the Outguard tab.
 +
** In general we are re-theming mercenaries so that these are groups of other little factions that you can pick up to help you, NOT people you have to pay.
 +
** Under the hood a lot of places still refer to these as mercenaries to not break prior savegames, but on all the player-facing stuff we're working on switching it to be outguard.
 +
 
 +
* The sidebar tabs now show what shortcut key opens them when you hover over them.
 +
** Thanks to kmunoz for suggesting.
 +
 
 +
==== Control Updates ====
 +
 
 +
* Added a new Tooltips/Details section of the controls setting window, since that's becoming relevant.
 +
 
 +
* "SplitSelection" used to be mapped to semicolon, but is now completely unmapped, and moved from the Common to the Selection section.
 +
 
 +
* The "P" key no longer pauses the game.  We already have the spacebar and the pause key mapped to that, and we need more keys for other things!
 +
 
 +
* The Local tab, previously the Ships tab, is now the Planet tab.  Instead of opening it with F, you open it with P.
 +
** Thanks to kmunoz for inspiring this change.
 +
 
 +
* The Fleets tab was previously opened by R, but is now opened by F.
 +
** Thanks to kmunoz for suggesting.
 +
 
 +
==== Hold R to See Strengths and Weaknesses ====
 +
 
 +
* Holding down the R key while hovering over a ship, or while in the tech screen, now shows you what ships the item is weak against (if you're looking at an enemy) or strong against (if looking at your own ships or an allied or neutral ship).
 +
** This is undoubtedly going to require a fair bit more work, and ships without specific attack strengths or weaknesses currently just show as "none," which is not super duper helpful.  But it's definitely a starting place, and a big step up for now.
 +
** Thanks to a lot of people for requesting this, and Asteroid for implementing the weak-against version.
 +
 
 +
== Version 0.895 Major Progress On Tutorials Framework ==
 +
(Released October 2nd, 2019)
 +
 
 +
*  Hacking to make a dark spire VG vulnerable no longer gives your fleet the ability to build a new Vengeance Generator.
 +
** Thanks to NRSirLimbo for the bug report.
 +
 
 +
=== Bugfixes ===
 +
 
 +
* Put in a potential fix for an exception in the AI long range planning, and some extra debugging lines.  Haven't tested it yet, though.
 +
** Thanks to OzoneGrif for reporting.
 +
 
 +
* Fixed a variety of bugs that were causing the local player name to not show up where "human remnant" was showing, and a related one causing tutorials to not let you select ships properly.
 +
** Thanks to Puffin for reporting.
 +
 
 +
* Fix several crashes and error messages for the Test Chamber.
 +
 
 +
* Ships and structures now use the same logic for their decollision as they do for their collision checks during placement mode, which should prevent them from being validly placed but then moving away from one another.
 +
** We did turn off some logic they had about decolliding at decollision destinations, though, so they may move around more now.  We can adjust that again if need be.
 +
** Thanks to WeaponMaster for reporting the inconsistency.  This needs more testing for sure.
 +
 
 +
* When there are wormhole orders in the queue ahead of an attack or assist order for an entity, it will always consider the attack or assist order as valid.
 +
** This should keep ships from losing their attack orders on the way to a planet.  Needs testing, though.
 +
 
 +
* When you're placing static structures, it now tries a LOT harder to find valid nearby places for them, which is particularly important when trying to stack in a ton of them at once.
 +
** Quite often before it was saying it couldn't find enough room for things like area minefields when you were placing even just 5 of them in a kind of busy area.
 +
 
 +
* If ships have a decollision move order as their first order, they now are still able to move even if they are otherwise stunned or tractored.  This should keep ships from stacking like crazy when engine stunned and whatnot without letting them go TOO crazy.
 +
** This might be a horrible idea, though, so we'll just see.
 +
 
 +
=== UI Improvements ===
 +
 
 +
* Continued incremental improvements to improving the colouring of the AIP history to reflect which factions did what
 +
** Also use the player's account name instead of just saying "Human" in the history log. Note this should play nicely with multiplayer.
 +
 
 +
* When you're in a tutorial, a bunch of the stuff in the escape menu (factions list, etc) doesn't show up anymore.
 +
** Now in place of those things, it shows a list of all your previously-completed tutorial steps and their text, along with the text of the current one you're working on.
 +
** Thanks to Badger for suggesting -- we finally have that log he's been wanting forever!
 +
 
 +
* In the tutorials, it now shows the step you're on as having the first step as 1 rather than 0, which feels way more appropriate.
 +
 
 +
* Added a new "Build 10x Units" button, which defaults to the alt key.
 +
** If you hold this in combination with the existing "Build 5x Units" button (ctrl key), then it will now build 50x at once.
 +
 
 +
* When you're in placement mode, it now has a little message showing what you're placing, and the keybinds for placing multiples (5, 10, or 50).
 +
 
 +
=== Stacked Unit Death Improvements ===
 +
 
 +
* Stacked units now die 'off the top' instead of the bottom (ie the visible GameEntity no longer dies, but the number of squads in the stack decreases as one would expect). This prevents shots aimed at the stack from being lost when the bottom of the stack dies dies and a new unit replaces it from the stack. Significant balance implications; stacks seem to die much much faster now.
 +
** There are also now explosions visually and aurally generated when ships die this way.
 +
** Thanks to NRSirLimbo for the report and Arnaud_defrance for a useful testing save.
 +
 
 +
=== Tutorial Design Framework ===
 +
 
 +
* Tutorial Design: added a variety of new should-be-fully-functional (but untested) step conditions:
 +
** Documentation here: https://wiki.arcengames.com/index.php?title=AI_War_2:_Tutorial_Step_Conditions
 +
** PlayerHasCountOfSpecificShipAnywhere
 +
** PlayerHasCountOfSpecialEntityTypeAnywhere
 +
** PlayerHasCountOfShipTagAnywhere
 +
** PlayerHasCountOfAnyShipAnywhere
 +
** PlayerHasCountOfSpecificShipOnPlanet
 +
** PlayerHasCountOfSpecialEntityTypeOnPlanet
 +
** PlayerHasCountOfShipTagOnPlanet
 +
** PlayerHasCountOfAnyShipOnPlanet
 +
** PlayerHasResearchedTechNumberOfTimes
 +
** PlayerTotalEnergyAtLeast
 +
** PlayerNetEnergyAtLeast
 +
** PlayerControlsAtLeastXPlanets
 +
** PlayerControlsSpecificPlanet
 +
** GameIsPaused
 +
** GameIsUnpaused
 +
** GameIsWon
 +
** GameIsLost
 +
** EnemyCombatantsOnPlanetLessThanOrEqualTo
 +
** EnemyShipsOfSpecificTypeOnPlanetLessThanOrEqualTo
 +
** EnemyShipsOfSpecialEntityOnPlanetLessThanOrEqualTo
 +
** EnemyShipsOfShipTagOnPlanetLessThanOrEqualTo
 +
** HostileStrengthToSelfRatioOnSpecificPlanetIsAtLeast
 +
** HostileStrengthToSelfRatioOnSpecificPlanetIsLessThan
 +
** HostileStrengthToSelfAndAlliedRatioOnSpecificPlanetIsAtLeast
 +
** HostileStrengthToSelfAndAlliedRatioOnSpecificPlanetIsLessThan
 +
** PlayerHasSelectedCountOfSpecificShip
 +
** PlayerHasSelectedCountOfSpecialEntityType
 +
** PlayerHasSelectedCountOfShipTag
 +
 
 +
=== Actual First Small Tutorial! ===
 +
 
 +
* A new "Examples" category for tutorials has been set up with non-tutorials in there.  We can also put inwork tutorials in there.
 +
 
 +
* The first tutorial, from Puffin, is now ready and covers the very basics of movement and controls.  We're keeping these bite-sized on purpose so that people can go through things in small chunks and skip things that is not of interest to them.
 +
 
 +
* The warning about tutorials not being ready has been removed from the button on the main menu, so now you can get into the tutorials directly without it giving you a warning off about it.  We need more tutorials, and those are certainly coming, but for now there's at least one in place.
 +
 
 +
* The ending scenes are no longer allowed to play during a tutorial, if you win or lose.  That definitely seemed like overkill for those.
 +
 
 +
* The last stage of a tutorial now tells you how to exit, and even lets you click directly on it to open up the tutorials list and choose another.
 +
** It saves you quite a bit of tedium with going into the escape menu and hitting quit and so on, as well as potential confusion.
 +
 
 +
== Version 0.894 Desaturation And Cross-Planet Move Orders ==
 +
(Released October 1st, 2019)
 +
 
 +
* The reinforcement cap for AI planets is now modified based on the AI difficulty for the AI in question
 +
 
 +
* ARS now allow merging ships lines if the flagship has 5 ship lines already
 +
** kasnavada (and probably others) pointed this out
 +
 
 +
* Fix a null reference exception in the hovertext for ARS objectives
 +
 
 +
* ARS can no longer provide your ships with Combat Engineers in new games. Existing games still keep them.
 +
 
 +
* Add "Autobuild Watchman Frigates" and "Autobuild Assault Frigates" settings
 +
** Note that you probably never want Autobuild Assault Frigates unless it's late game and you have tons of metal and energy to spare...
 +
** Requested by Yog-Sothoth
 +
 
 +
* Fixed a really longstanding bug where sometimes the planet tooltip could throw a nullref exception deep inside TextMeshPro because we were passing in a null.
 +
 
 +
* Instigator Bases are now always visible even on planets you've only explored
 +
 
 +
=== UI Improvements ===
 +
 
 +
*  Remove an incorrect warning message in marauder hovertext
 +
** Thanks to Ozone for reporting.
 +
 
 +
* Improve the AIP change history to include the faction colour of structures that have been killed. Note this will only affect things killed on this patch; older things killed won't show colours
 +
** For the multi-AI case it's kinda fun to see which AI factions you've done more damage to.
 +
 
 +
* There are now icons on the build menu, over next to the existing text that was there.
 +
** Thanks to Asteroid for adding this, and for being the first person to actually update a ui prefab directly other than Chris! ;)
 +
 
 +
==== A Long-Requested Feature: Cross-Planet Move Orders ====
 +
 
 +
* Improve the galaxy map UI for showing queued moves; should handle additive and non-additive moves correctly now.
 +
 
 +
*  Fix a bug where the galaxy map wouldn't correctly change the link thickness between planets if you had queued moves
 +
 
 +
* Add support for cross-planet move orders; if you have ships selected on planet B and issue a move command on planet A, the ships on planet B should now move to the correct point on planet A.
 +
** It would not surprise me if there were still some bugs in here, so please let us know if there are any problems seen (a save game and reproduction instructions, like "Load the game, select fleet X and try to move it to planet Y" would be great)
 +
** Requested by a lot of people, including Asteroid and I-KP
 +
 
 +
* Fix a bug where queueing many wormhole commands on the galaxy screen could cause confusion if the ships were on different planets
 +
** Thanks to Puffin for reporting.
 +
 
 +
==== Border Thickness Around Icons ====
 +
 
 +
* The borders around ship icons (and planet icons on the main map) are now half as thick as before.  This makes the shapes of the ships a bit more apparent, and hopefully will not inspire people to want to shrink their icon scale in the in-game view (because then things really do become impossible to see unless your screen is giant).
 +
** The idea is to still have the two-tone colors for ships and planets, which is there, but not have it be all that aggressive or too "soft looking" in a fashion that seems "less serious."
 +
** Thanks to Arquebus X for suggesting.
 +
 
 +
==== General Saturation and Brightness ====
 +
 
 +
* Added two new settings to the Display section of the settings menu:
 +
** Display Saturation
 +
*** The entire game will become more or less saturated based on your choice here, which can have an effect on how 'colorful' or 'serious' the game feels.  Tune to taste between 0.1 and 1; the new default is 0.8.
 +
** Display Brightness
 +
*** The entire game will become more or less bright based on your choice here, which can affect the mood of the game OR compensate for your monitor being brighter or darker than average.  Tune to taste between 0.6 and 2, with the default being 1.
 +
** This is something that, combined with the icon border thickness, should help to make the general presentation of the game feel more "serious" with the defaults that the game now has.  Some people felt that things were too colorful and that detracted from the military feel of the game.  This lets the default be a bit more warlike and depressing in style, fitting the theme of the game, but allowing for the full color brightness (or even more brightness) if people want that.
 +
** Thanks to a variety of players for suggesting this over the last year or so.
 +
 
 +
=== Tutorial Design Framework ===
 +
 
 +
* Tutorial Design: On the main tutorial node itself, there are now some things for skipping the seeding of specific stuff that is seeded around the galaxy during normal games.  This stuff is all faction-specific:
 +
** skip_macrophage_telium (the macrophage won't work if you enable this but don't actually specify some planets to have telium on yourself, but this lets you choose the planets yourself).
 +
** skip_nanocaust_hives_and_beacons (the nanocaust also won't work if you don't spawn a hive somewhere yourself manually, or if they're on-but-not-enabled, then you should put the beacon somewhere so that players can find them and wake them up.)
 +
** skip_dark_spire_vengeance_generators_and_wards (the dark spire won't work without VGs being spawned somewhere, and if you want the AI to have its usual dark spire ward on its homeworld then you'd also need to put that in manually).
 +
** Thanks to Puffin for suggesting.
 +
 
 +
* Integrated System.Linq.Dynamic into our main project; apparently it's not normally part of .NET.
 +
** Adapted the Dynamic Expression parsing macro into the game for use in tutorial text parsing.  Credit: https://dotnetfiddle.net/MoqJFk
 +
 
 +
* The earliest parts of actual steps in a tutorial, and conditions that go inside them, are now implemented.  These will have some dynamic text, but for now we've just been testing out our new framework for finding and exporting said text.
 +
** There's a new debug_all_step_text_on_load bool that can be set to true on the general tutorial object, and in that case when you first load up a tutorial it will dump all the text silently to the log, thus letting you look at the log to then identify any errors in it.
 +
 
 +
* The game engine has been extended so that we can now click text sections without them having to fully be a button.  This lets us have expandable areas like the "ongoing text" section in the upper right corner be clickable without losing their special functionality.
 +
 
 +
* The tutorials now actually show the text associated with their steps, and the count of steps, in the same fashion that they used to.  But this time it's data-driven.
 +
 
 +
* The tutorials no longer advance automatically when all of the conditions are met for the stage they are at.  In fact, it's possible to have condition-less tutorial steps, now.
 +
** The final action for any tutorial step is to click somewhere on the tutorial text box, where little non-obnoxious flashing text appears when you meet the criteria for the step.
 +
** In the old tutorial system, people were often missing things because the text would advance automatically when they happened to meet all the criteria when they got to it.  Now that can't happen.
 +
** We went with just a clickable big text area because adding in a visible button would compete for space in that area.
 +
 
 +
* Tutorial Design: added a new wiki page that is about the tutorial step conditions and their properties:
 +
** https://wiki.arcengames.com/index.php?title=AI_War_2:_Tutorial_Step_Conditions
 +
 
 +
* Tutorial Design: added a variety of new fully-functional (but not all tested) step conditions:
 +
** PlayerViewIsOnGalaxyMap
 +
** PlayerViewIsOnAnyPlanet
 +
** PlayerHasSidebarMenuOpen_Local
 +
** PlayerHasSidebarMenuOpen_Build
 +
** PlayerHasSidebarMenuOpen_Tech
 +
** PlayerHasSidebarMenuOpen_Hacking
 +
** PlayerHasSidebarMenuOpen_Merc
 +
** PlayerHasSidebarMenuOpen_Intel
 +
** PlayerHasSidebarMenuOpen_Fleets
 +
** PlayerViewIsOnSpecificPlanet
 +
 
 +
== Version 0.893 Usability and Tutorial Prep ==
 +
(Released September 30th, 2019)
 +
 
 +
* Make Dark Spire hacks more interesting by allowing more of those hacks to scale in difficulty off of the amount of hacking points you've spent already
 +
 
 +
* Fix a bug where we weren't correctly handling multiple queued Wormhole movement commands issued from the galaxy screen.
 +
** Still some work to be done in this area though
 +
*** Thanks to Ozone on Steam (and probably others) for reporting.
 +
 
 +
=== UI Improvements ===
 +
 
 +
* Continued incremental improvements on improving Objective hovertexts.
 +
 
 +
* Play the AIP log from Most Recent to oldest (so the most recent changes will be at the top).
 +
** Suggested by Ozone on steam.
 +
 
 +
* Fix an issue where the hovertext for Tech Vault hacks on planets without hackers was not helpful
 +
** Thanks to Asteroid for reporting.
 +
 
 +
*  Rework of how the hacking difficulty estimation is done. We now keep a table of all the current 'best difficulty estimates', then compare the estimated hack difficulty with our table. The table contains only approximations because it doesn't know the target faction when we compute things (example: in the multi-AI case, different AIs will respond with different strengths depending on AI difficulty/number of hacking points spent already. This table doesn't know which AI will be hacked, so it's inaccurate).
 +
** If the estimated difficulty of the hack you are looking at is comparable to the bottom fifth of the table, use the colour that indicates Weakest Response. If your estimate is comparable to the top fifth then use the colour that indicates the strongest response, and so on.
 +
 
 +
* More discoverability for hacks:
 +
** Hackable objects display the name of the possible hacks - including sabotage - in their tooltip.
 +
** Hacks display what they will target in their tooltip.
 +
** Sabotage displays the list of potential targets.
 +
** Fixes problem whereby two Coordinators could be generated on the same planet and you couldn't know which would be targeted by which hack. The same problem is perhaps possible with GCAs, in which case this won't help because they all have the same name.
 +
*** Thanks to Asteroid for this enhancement.
 +
 
 +
* Holding down the shift key now hides the planet tooltip, the "ongoing text display" that could be in the upper corner telling you about lengthy warnings, the notifications list at the top of the screen, and the selected ships window in the bottom right corner.
 +
** Essentially all of those things are quasi-useless without tooltips, and are things that might be obscuring your view, so the neighborly thing is to get them out of the way.
 +
** This should solve a couple of complaints about the "ongoing text display" being in the way on the galaxy map in particular, but hopefully it doesn't become irritating on any other aspects of it.  Thanks to zharmad for reporting this one.
 +
** The planet tooltips not being hide-able were particularly wrong, since they said they could be hidden.  Thanks to I-KP for reporting that.
 +
 
 +
* Additionally, the intel tab tooltips now actually say that you can hold shift to hide their tooltips, which is useful for when you're wanting to view the planets they highlight.  The intel tab tooltips already DID work this way, but they didn't have any visual indication.
 +
** Thanks to I-KP for reporting.
 +
 
 +
=== Map Generation Major Good/Bad Distribution Rework ===
 +
 
 +
* The entire mapgen code logic for what ships block which other ships has been redone.
 +
** Previously it was very hard-and-fast in terms of "you can go here or not," which wasn't super helpful on crowded maps or on very small maps.
 +
** Now it instead looks at things which are completely blocking early -- namely an entire faction taking over a planet, which is rare -- and then it gets more flexible with everything else.
 +
** After it seeds those early things, it then makes a strong attempt to keep the number of big good things spread apart, but no longer tries to separate them from big bag things.  We also have small good and small bad things that we try to keep spread apart in their own category, but that we don't care about overlapping beyond that.
 +
** This actually will add more texture in ALL games, not just crowded or small-map ones.  Essentially you're more likely to see some planets that are "extra good" with lots of cool stuff, or "a real mixed bag" with awesome stuff and super scary stuff, whereas before thosee were always kept rigidly separate.
 +
** This also fixes the issue of a lot of small maps being unable to generate because they didn't have enough room to seed everything.
 +
** Thanks to NRSirLimbo, Ribald, UFO, Asteroid,  for inspiring this change.
 +
 
 +
=== Tutorial Design Framework Expansions: Map Design Completion ===
 +
 
 +
* Tutorial Design: skip_seed_special_entities has been added to tutorials, which lets us say "don't seed any of the special capturables in the normal fashion" if we don't want that to happen.
 +
 
 +
* Tutorial Design: command_station_point has been added to the planet_ownership_and_spawning nodes. If left at 0,0 then it will seed using the automatic logic.  If specified as something else, it  will be offset from the center of the planet by the amount specified.
 +
 
 +
* Tutorial Design: test ships only seed on the human homeworld now in non-tutorials.
 +
 
 +
* Tutorial Design: Under planet_ownership_and_spawning nodes, you can now specify ship_placement that let you specifically put in whatever ships you need.
 +
** These have a faction attribute which should match the name given to the faction up in the place where you initialized factions (like "FirstPlayer" for instance).
 +
** They also have a type attribute which is the type of ship/structure to seed.
 +
** And then a placement_point attribute which specifies the offset from the center of the planet, or you can omit it or leave it as 0,0 to have it randomly place the entity somewhere.
 +
 
 +
* Tutorial Design: Added the following boolean flags for planet_ownership_and_spawning planet nodes that allow you to turn off various things on the human home planet in tutorials:
 +
** skip_player_home_forcefield
 +
** skip_player_home_engineers
 +
** skip_player_home_factory
 +
** skip_player_home_human_settlement
 +
** skip_player_home_human_cryogenic_pods
 +
** skip_player_home_initial_combat_fleet
 +
** skip_player_home_initial_battlestation
 +
** skip_player_home_initial_support_fleet
 +
** Note that if you turn off the initial combat fleets you can wind up with something that is absolutely unplayable because you can't attack.  So you need to have it seed another combat fleet in its place, which can be hand-designed or randomized as you wish.
 +
** If you want to manually-position things or give the player an atypical start, you can use these to turn all the stuff off.  Otherwise it's a good idea to leave most of this well enough alone because you then have as consistent an experience as possible for players doing tutorials compared to the regular game.  But it depends on the tutorial, of course, so it's always a judgement call.
 +
 
 +
* Tutorial Design: There are new values, also on planet_ownership_and_spawning planet nodes, which let you define what the starting fleets are of each type for a player.
 +
** initial_battlestation_fleet, initial_battlestation_fleet, and initial_support_fleet.
 +
** Since tutorials would otherwise likely choose a random starting fleet of each type, if you're using these starting fleets and want them to have consistency, it's a good idea to set these on the player homeworlds.
 +
 
 +
* Tutorial Design: added a new number_of_metal_spots to planet_ownership_and_spawning nodes that lets you set how many metal spots there are on planets.  If it's <= 0, then it will be the usual randomized amount based on the map seed.
 +
 
 +
* Tutorial Design: added a number of new tags for use on AI planets via the planet_ownership_and_spawning nodes, letting you control if the default seeding for a lot of various things kick in or not:
 +
** skip_ai_wormhole_sentinels
 +
** skip_ai_guardians
 +
** skip_ai_guard_posts
 +
** skip_ai_initial_turrets
 +
** skip_ai_initial_non_turret_defenses
 +
** skip_ai_initial_strikecraft
 +
** If you want to exactly design what ships and posts and whatnot are at an AI planet, via the ship_placement nodes, then turning off some or all of these would be the ideal.
 +
** Note that these don't affect later reinforcements of any of these things.  They only affect initial seeding.
 +
 
 +
* Tutorial Design: On the main tutorial node itself, there are now some things for skipping the seeding of specific stuff that is seeded around the galaxy during normal games.
 +
** skip_ai_normal_planet_nasty_picks
 +
** skip_spire_archives
 +
** skip_civil_war_triggers
 +
 
 +
* Tutorial Design: On the main tutorial node itself, there are now some things for skipping the seeding of specific stuff that is seeded around the galaxy during normal games.
 +
** skip_all_galaxy_wide_capturables_and_obstacles (skips all the stuff that would be seeded as capturables or obstacles around the galaxy that are not faction-specific).
 +
** skip_mobile_strike_combat_fleet_flagships
 +
** skip_tech_vaults
 +
** skip_advanced_research_stations
 +
** skip_global_command_augmenters
 +
** skip_battlestation_basic_fleets
 +
** skip_mobile_support_fleet_flagships
 +
** skip_mobile_lone_wolf_fleets
 +
** skip_battlestation_citadels
 +
** skip_mobile_officer_combat_fleets
 +
** skip_zenith_goodies (Zenith Power Generator and Zenith Matter Converter)
 +
** skip_intragalactic_coordinators
 +
** skip_coprocessors
 +
** skip_distribution_nodes
 +
** skip_normal_data_centers
 +
** skip_major_data_centers
 +
** skip_super_terminals
 +
** This pretty much handles all of the non-faction-specific stuff in both a granular and generalized format.  Assumedly if you seed a faction other than these into the galaxy, you want to be able to use their things.
 +
 
 +
* Tutorial Design: On the main tutorial node itself, there are now some things for skipping the seeding of specific stuff that is seeded around the galaxy during normal games.  This stuff is all faction-specific:
 +
** skip_warden_bases (you might want to place these manually, and you can't easily turn off the warden itself)
 +
** skip_astro_train_stations (you had better manually place these if you turn off the automatic placement, or astro trains won't work!)
 +
** skip_mercenary_beacons (if you don't want the player to be able to find these things but you have mercenaries added in, or you want to spawn them yourself).
 +
 
 +
=== Balance Tweaks ===
 +
 
 +
* Marauder Outpost Turrets now inherit from the AI ones, and not the giant player ones.
 +
** They have a flat count cap, rather than a strength one, so these were...troublesome.
 +
** Additionally, we've stolen their Beam Cannons. The Turret ones, anyhow.
 +
** In existing games, some of the Turrets will remain in their giant state - an unfortunate quirk of how they were set up originally long ago. New ones should be the AI Turrets, however.
 +
** Thanks to arnaud_defrance for prompting.
 +
 
 +
==== Basic Quickstarts ====
 +
 
 +
* These have been redone a little, now all using the Simple Ensemble AI rather than Full Ensemble.
 +
** They also start at Difficulty 4, aimed at people who have never played an RTS before, going up to only Difficulty 6 with 2 AIs at maximum, instead of 7 with 2 AIs.
 +
** They additionally have double the Cryopod and Home Settlements than the default.
 +
** Lastly, the Start using the Raid Fleet now uses the Classic one.
 +
*** Thanks to arnaud_defrance for prompting.
 +
 
 +
== Version 0.892 All Ship and Structure Visuals Done! ==
 +
(Released September 27th, 2019)
 +
 
 +
* Fix a null reference exception possible with wormhole invasions.
 +
** Thanks to zeusalmighty for reporting
 +
 
 +
=== Visual Upgrades ===
 +
 
 +
* Visual improvement: Parasites have been uv-unwrappped and re-textured in a more mechanical style with glowing purple lights rather than trying to have the entire model use subsurface scattering style that was not showing off very well.
 +
 
 +
* Visual improvement: The three macrophage ships/structures have all been completely redone, as well as uv-unwrapped, and now have a green look to them and a sort of crystalline style with some interplay of light and shadow in them using our standard shader to get the effect.  Pretty surprising effect, but quite cool, and more thematic for the macrophage.  This also lays down some basis for how we'll do the dark spire visuals, although the color schemes are different.  Originally we wanted to go more slimy or mold-like with this, and we did have convincing slime set up, but it just looks kind of bland and gross rather than enrapturing like the crystalline style does.  So we went crystalline.
 +
 
 +
* The AI Warp Gates and Dyson Warp Gates have been updated a lot visually, with all-new shaders and a much more attractive style to them, and there's a new color-shifted version of the AI Warp Gate for the Exo-Galactic Wormhole.
 +
 
 +
==== 31 New Ship/Structure Graphics ====
 +
 
 +
* Added new ship graphics for the menacing Dyson Antagonizer structure of the AI.
 +
 
 +
* Spider Guardians now have their own new model rather than using the widow guardian model.
 +
 
 +
* The Paralysis Guardians now have their own new model rather than using the widow guardian model.
 +
 
 +
* The Temperamental Guardian now uses its own new graphics, rather than using the (otherwise-unused) EMP Guardian graphics.  We'll probably use the EMP Guardian at some point for an actual EMP Guardian.
 +
** Similarly, the Tantruming Guardian now uses the same new model as the Temperamental one, but with angrier lighting and so forth to show that this is its angry form.
 +
 
 +
* The fragmenting guardian now has its own unique visual style, with some bits of zebra-striping that kind of hint at its function a bit.
 +
** The fragmenting guardian shard is also based on the original material-wise, but is split into a base that is smaller and stripped-down, like a bit of a core left behind after the original broke.
 +
 
 +
* A new version of our standard shader has been put together that allows for rim lighting / fresnel effects.  We needed something to help design an interesting effect for the Dark Spire.
 +
** All of our general translucency effects for the spire that are used elsewhere just don't work for the dark spire, since they are predicated on... well, light!  Emission and subsurface scattering of light, specifically.  So we had to come up with a whole new concept, beyond just doing a color inversion (that looks like an obvious cheap trick when attempted).
 +
** What we came up with is a sort of "black metallic shell" style, which is cool in the sense that it feels like you're looking at a spire that has encased its luminescent body in a dark protective armor.  That seemed fitting!
 +
** But the problem with that at core is that for it to be properly dramatic, the ships become super duper hard to see against dark backgrounds in particular.  So we thought to add in some red rim lighting to make those pop out while still retaining the drama of the darkness, and in the end it's kind of the best of both worlds.
 +
** Interestingly, as with the Macrophage this wasn't really what we had originally had in mind for materials design for the Dark Spire, but this is what wound up looking best and feeling right as we experimented with things.
 +
** Thanks to the fresnel effect and the translucency of subsurface scattering both being view-dependent in terms of how they display, this also makes it so that both types of spire have that in common that they look very different from different angles, which is another nice connective thing for them.
 +
 
 +
* The four Dark Spire ships -- Wraith, Phantom, Specter, and then Eidolon -- all now have dark-spire-style graphics unique to themselves.  They really do feel like an alien presence, and not a friendly one.
 +
 
 +
* The Dark Spire Ward, a hybrid AI and Dark Spire ship, now has visuals in place that show how it's an AI structure with some dark spire components grafted on to keep the other dark spire away.
 +
 
 +
* The Dark Spire Vengeance Generator/Locus now has its own graphics that are in the form of a spinning mysterious organic lattice spherical gate with the dark spire styling on it.
 +
 
 +
* The guard posts now have a new visual base for themselves, and specific guard posts now have their own turrets and materials based on that base:
 +
** The ones in use are under-construction, pike, sabot, nucleophilic, mlrs, concussion, forcefield, and stealth as far as the non-dire guard posts go.
 +
 
 +
* The dire guard posts now all have unique visuals for each of themselves, too.  They are larger than regular guard posts and have a very different sort of visual outline, so they should make the entire planet they're on feel very different (ah, fond memories of that in the first game!)
 +
** There are three that are dire versions of the base guard posts, and they have some things to make a visual connection while being distinct: sabot, concussion, and nucleophilic.
 +
** Then there are a bunch of new ones that are only ever dire: tesla, spider, tethuida, heavy beam, gravity, shredder, and parasite.
 +
 
 +
==== Visual Upgrades For All Planets ====
 +
 
 +
* The planets packages from both Nova Shade and Forge3D have both been updated to more recent versions, fixing various shader issues.
 +
** We're also using a higher-quality set of textures with these planets, so that things remain looking more crisp and HD when you zoom in.  This does use more RAM in general, and slows initial loading slightly, but doens't put much extra load on the GPU realy, and has a pretty high impact on visual fidelity when you're zoomed in in particular.
 +
** We've also updated these shaders some ourselves to do things like stop ambient light from messing with them, and to turn off the specular highlights that looked super duper unrealistic.
 +
*** So on top of things being updated in general, there's now a whole new level of quality to the shaders, the textures, and so on.  Zoom in to your heart's content!
 +
** There's also a new ice planet in addition to the snow planets, in place of one of the many ocean planets that was getting a bit repetitive.
 +
** This does change the planet data from being 70mb on disk to being 680mb instead.  Whew!
 +
** Thanks to Asteroid for pointing out some of the shader glitches, and pointing us down this rabbit hole.  The game looks far better for it!
 +
 
 +
=== Balance Tweaks ===
 +
 
 +
* Devastator reworked to fire barrages of missiles that have both the MLRS and Concussion damage bonuses, instead of just being a Siege Frigate with shield bypass instead.
 +
 
 +
* Forcefield Guardians now actually cover stuff.
 +
 
 +
* Greatly increased the effects of Spider units.
 +
 
 +
* Added a new "WeaponJam" target evaluator, for use on things like the Inhibitor Citadel and Inhibiting Tesla Corvettes.
 +
** Thanks to Democracy I think for prompting this with a comment in Discord.
 +
** This is applied to said Citadel and Corvettes, plus the Dark Spire Eidolon, and the Dire units which used it.
 +
 
 +
* Speaking of Dire, both of those Tesla units now do the maximum total weapon jam time possible.
 +
 
 +
==== 4 New Ship Variants! ====
 +
 
 +
* Add the Ram, Fusion Saw, Kite, and Ion Disruptor ship variants.
 +
 
 +
== Version 0.891 Vast Tracts of... Ship Graphics ==
 +
(Released September 24th, 2019)
 +
 
 +
* Start adding colour to the tooltips in the Intel menu. The readability of things like 'flagships to capture' objectives is Massively increased as a result.
 +
** Still more to do in this area
 +
 
 +
* Fixed a bug with the tech unlock hack where it was still costing you science, making it useless.
 +
 
 +
* Every 5 minutes the rate at which anti-player zombie attrition unit doubles
 +
** Prevents AI healers from keeping zombies alive forever. Thanks to Oufee on steam for the bug report
 +
 
 +
*  Attempt to make queued wormhole orders reflected in the selection-move UI in the galaxy map.
 +
** I don't think it works very well yet. Asteroid, Delor from Steam and nomad delta (among others I expect) asked about this
 +
 
 +
*  Fix a bug where sometimes a player's strength values for a planet on the galaxy map would just look white
 +
** I forget who reported this.
 +
 
 +
=== Dark Spire Changes ===
 +
 
 +
* Instigators and Macrophage now provide less energy.
 +
* The conversion ratio now increases more slowly on lower intensities, and there is a cap to the conversion ratio. The cap includes the AIP when it is calculated so the Dark Spire can get stronger over time.
 +
* Player structures no longer give energy when dying.
 +
** It was too easy to trigger dark spire attacks when scrapping turrets, and we want players to be able to move their turrets around without worrying so much about it.
 +
 
 +
* When you hack a VG for a ship design, only that VG will start to generate energy permanently, not every VG
 +
* Allow the player to hack each VG to get additional ship designs up to 3 times, and allow the player to get both the Phantom and the Wraith. The game also now tracks which factions have hacked it, so this should now work nicely with multiplayer
 +
* After you hack a VG for a ship type, that VG will start to generate energy every few seconds regardless of whether there is combat going on. The more times you hack the VG the faster energy is generated
 +
 
 +
* Thanks to NRSirLimbo for a spirited lament about Dark Spire balance, which prompted these changes
 +
 
 +
=== 35 New Ship Graphics! ===
 +
 
 +
* Astro Train Depots now have their own unique visuals and look large and exciting.
 +
 
 +
* The "AI Controller" model, which we had been using for guard posts, no longer has issues when you zoom out from it too much.
 +
 
 +
* Global Command Augmenters now use what was (looong ago) the Advanced Starship Constructor, but with some cool shader changes that make it look more glassy/alien in a cool way.
 +
 
 +
* Zenith Power Generators now use what would have been the Planetary Cloaker visuals, but we never wanted to implement that unit (it's annoying as heck).  It has shader changes to make it look more appropriate as a ZPG.
 +
 
 +
* Zenith Matter Converters are now based on what was the Human Controller, super long ago, but with some visual updates to be more fitting for the new use.  Always loved this particular visual.
 +
 
 +
* Stingrays, AutoBombs, and Parasites all now have their own unique graphics that are cool and thematic and all-new.
 +
** Parasites are going to be recolored in the next version, though their shape will stay the same.  It doesn't look quite right yet.
 +
 
 +
* Risk Analyzers have new graphics that are basically a heavily-greebled cube with glowing evil-looking bits, all of it spinning on two axes and deforming slightly as it does so.  It's very menacing, which is fitting for such a freaky structure.
 +
 
 +
* AI Eyes now have unique graphics for each type (plus two unused "generic" eye models if we need to use those in the future temporarily for whatever reason), and they now look different when they are alerted and not alerted. Alerted eyes gain a second iris/pupil on the back of the robotic eyeball, and start spinning.
 +
 
 +
* Astro Trains now have unique graphics for each of the three types, plus an unused "basic" type that also looks super cool and that we can use as a temporary stand-in if we ever need to.  We're really pleasd with how thematic these turned out, while still sticking to the purple shuttle/train theme that was originally envisioned for them back in 2009.
 +
 
 +
* Nanobot Centers and Hives now have their own unique graphics, with a new technical/corrupted green animation that is part of them, along with some mechanical insect-like appendages sicking out of core space station designs, to fit with the new visual theme that is for this faction.  Thanks to Chris's daughter for helping make these as creepy as possible.  Elementary schoolers rock. :)
 +
 
 +
* Nanobot Aberrations and Abominations now have their own unique graphics, looking like guardians or large frigates that have been partly corrupted by the robot-insect/technical-corrupted animation on them.
 +
 
 +
* Nanobot Mutations now look like color-shifted V-wings that have also got a mechanical-insectoid growth coming out of them.  Creepy!
 +
 
 +
* Similar for Anomalies as variants of Bombers, and Deviants as variants of Concussion Corvettes.
 +
 
 +
* The Ambush Turret now has its own graphics (finally!), and is appropriately kind of flamethrower-like in most ways.
 +
 
 +
* The Instigator Bases now have their own graphics, as a vaguely command-station-like base that is spinning menacingly.
 +
 
 +
* The troop accelerators and distribution nodes now have their own unique graphics.
 +
 
 +
* Marauder Outposts now have their own unique look, with new graphics.  We didn't go SUPER evil with these, kind of a muted-angry instead, since a lot of people play with these as allies.  The general look of their base is that they are powerful and rogue-ish, hopefully.
 +
 
 +
* All three minefield types now have unique mines shapes and lighting, for the first time having appropriate graphics at all that makes sense for these.  Now you can actually see those minefields you made!
 +
 
 +
* The Macrophage Telium now has real graphics for the first time, looking like a cross between a spore and a sea anemone, sort of.  It's a very strange organic alien structure.
 +
 
 +
* Same with the Macrophage Spores, which now look like a strange and sickly-colored... well... giant space spore!
 +
 
 +
* The Macrophage Harvesters are now vastly more clear in terms of what they are, thanks to all new visuals.  Basically they're an upgraded, angry spore.  This takes the base of the spore and lets it grow essentially some menacing tentacles that look a lot more ship-like, and makes the color a lot more aggressive.
 +
** The macrophage stuff is all going to be recolored in the next version, as it doesn't look quite right yet.  This goes for all three units of it.
 +
 
 +
== Version 0.890 Lighting and Darkness ==
 +
(Released September 19th, 2019)
 +
 
 +
=== Balance ===
 +
 
 +
* Add the Technology Vault structure; hacking this will grant +1 to a tech line to the player.
 +
** Suggested by Zeusalmighty.
 +
 
 +
* Brought back an element from the first game, at least for now, in an experimental sort of fashion: anything that is firing out from under a forcefield now does only 50% of the damage it would normally do.
 +
** This makes it advantageous to keep some of your turrets outside of forcefields, or at least to have them COME out from under forcefields as shields shrink.  It also keeps forcefields from being such a force-multiplier that it really throws off the strength ratios that ships have.
 +
** We'll see if we keep this; if people hate it, we either won't or we'll make it optional.  But this is something that served us well in the first game.
 +
** Thanks to overzot for bringing this to our attention.
 +
 
 +
* If you kill an AI, that AI stops spending income and goes rogue, becoming hostile to all the other AIs. This is only pertinent for the multi-AI case (or if you want to kill a single AI then conquer the rest of the galaxy, that will now be easier)
 +
** Note that once you kill an AI, the other AIs are likely to become more powerful
 +
** Thanks to zeusalmighty for suggesting
 +
 
 +
* Hacking an ARS to get a new ship line is now slightly cheaper
 +
 
 +
* Reduced Fusion Tech costs to that of Concussion.
 +
 
 +
* When calculating AI income in the multi-AI case, the AI gets reduced income only based on the number of allied AI factions (so in the civil war case, the AIs all get more income)
 +
 
 +
* Marauder outposts now get fewer drones and more turrets. Goal is to have it be power neutral, but to reduce the number of ships flying around; they look messy and are a performance drag on planets with lots of outposts
 +
 
 +
==== Instigator Balance ====
 +
* Instigators now spawn every 80 minutes for difficulties 1-5, 70 minutes for difficulties 6-7 and 60 minutes for difficulties 8-10. Also put in a bit of randomness where they can spawn up to 6 minutes later, so it's not quite so predictable
 +
 
 +
* Instigator bases are now prefer to spawn on mark 1 or 2 planets before 150 AIP, and mark 1, 2 and 3 planets before 300 AIP.
 +
** They can violate this rule if there are no valid choices, however
 +
*** Thanks to discussions with kasnavada for prompting these changes
 +
 
 +
==== Energy Generation Clarity ====
 +
 
 +
* Energy collectors are now deprecated and only exist in older savegames but do not grant any energy anymore.
 +
** The tech for energy collector upgrades is also deprecated, and Human Cryogenic Pods no longer get upgraded by any tech.
 +
** Human Home Command Stations now generate 350k energy rather than 50k energy.  This offsets what the energy collectors they had used to generate.
 +
** Economic Command Stations now generate 400k energy rather than 100k energy, and have level-up energy amounts that also offset the energy collector losses.
 +
** Logistical Command Stations now generate 200k energy rather than 50k energy, and have level-up energy amounts that also offset the energy collector losses.
 +
** Military Command Stations still just generate 20k energy (ouch!), since they had no energy collectors.
 +
** Thanks to Asteroid for suggesting, and kasnavada for inspiring this change.
 +
 
 +
==== Command Station Differentiation ====
 +
 
 +
* To make for more tension now that energy collectors aren't a standalone thing, the health of economic and logistical command stations have been cut in half (hull and shields).
 +
** The descriptions on economic, military, and logistical command stations are all now more verbose and explain more of the situations where they would be useful, including some of their pitfalls.  We should wind up seeing not nearly so many all-military-station savegames in the future, hopefully.
 +
** Thanks to Badger for suggesting the health changes.
 +
 
 +
==== Techs ====
 +
 
 +
* Rebalanced the Science cost for each Tech line, to match the current Mark scaling.
 +
** What was live before was for the old Mark scaling, which was kind of like Classics. The new one had much smaller jumps, so the costs were...crazy.
 +
 
 +
* Added a new Medium Tech line.
 +
 
 +
* Every mobile combat unit benefits from one weapon tech (i.e Disruptive, Fusion), and one hull tech (Light, Medium, Heavy).
 +
** The weapon techs are a bit cheaper and as noted above, scaled to be fair for each Mark appropriately. The hull techs are priced as if units are upgrading to Mark 6 and 7.
 +
** Having it done this way fixes a problem the cheaper costs would've exacerbated, mainly that it would've been extremely easy to upgrade some units to high Marks for cheap using the weapon techs, while others are stuck with just the one line.
 +
** This also means every one of those units can now actually GET to Mark 6 and 7!
 +
** As of writing, Turrets have not been included.
 +
 
 +
* Weapon techs are now spread about more evenly, and since units now only have one they benefit from, there's...less effect from some.
 +
** Although it was rather absurd - Disruptive benefited 19 (!) units by itself, Subterfuge not far behind, and everything else was about half those.
 +
 
 +
* Light, Medium and Heavy Techs now only go up two times, down from four.
 +
** These are now intended for use to get units up to Mark 6 and 7, rather than something you do early on. It can still be worth it I suppose, since one of these is now on every mobile combat unit.
 +
 
 +
* Reduced the cost of Engineering, Sentries, Minefields and Tractor Beams to match the new scaling of weapon techs.
 +
 
 +
=== UI Improvements ===
 +
 
 +
* The C-Click screen for the Tech Menu now much more efficiently shows the stat changes for leveling up a ship line.
 +
** Thanks to Asteroid for improving this!
 +
 
 +
*  I've made the game estimate the difficulty of a hack, then colour in the time estimate based on that estimate. The goal here isn't to let the player gauge exactly how hard a hack is, but to have a sense of "Oh, this one will be really hard" or "This should be easy".
 +
** Definitely needs some feedback to see how reasonable the estimates are. If you have feedback (for example "This hack was really easy but flagged as Orange or Red" or "This hack was flagged as grey but was really hard") then please give me a save game and the hack/planet in question
 +
*** Thanks to NRSirLimbo for the suggestion
 +
 
 +
* The Astro Train in Flight notification now tells you the planet that the train is on if you have vision there
 +
 
 +
* Pressing escape while in the fleet management window will now close it rather than opening the system menu.
 +
** Same with the self-updating modal window used for things like C-clicks and various other things like metal flows.
 +
** Thanks to Asteroid for suggesting.
 +
 
 +
* For the Planet Hovertext in the galaxy screen, if you have both Allied and your own forces, the Allied strength is now printed in the allied faction's color
 +
 
 +
* The technologies all have categories that are also colorized that help to break them up more.  Not only do we have weapon and hull technologies with names with those in it, but we also have things like command station, defense, etc.  This should help make them way more visible throughout the UI, as well as the actual tech menu a lot more navigable.
 +
** Thanks to Badger for suggesting.
 +
 
 +
=== Vision Changes ===
 +
* The game now tracks which AI units the player knows about, and only reports those numbers on the galaxy map.
 +
** This means that if you are attacking a planet that is only Explored, and you last saw it 10 minutes ago, the AI might have moved 10K threat onto that planet that you won't know about until your fleet actually shows up. This makes Watching planets much more valuable.
 +
** The previous behaviour can still be used, by enabling "Minimal Fog of War", a Galaxy Camera Setting Menu. Only cowards and Manchester United fans would do such a thing though.
 +
** The Resource Bar still reports "All the Threat in the galaxy", but clicking on the resource bar will only show you the visible threat
 +
 
 +
* Icons for units on the Galaxy Map now also honour whether the player can see them (Astro Trains, for example).
 +
** Some unit types are Always Visible, even on explored planets. This can be set in the XML. At the moment, it's only applied to the Devourer and the Zenith Trader. I think the Zenith Trader should probably be always visible. I'm kinda tempted to make the Devourer only visible if the player is Watching the planet or has units there. The thought of "Surprise Cookie Monster!" is appealing to me
 +
 
 +
=== Bugfixes ===
 +
 
 +
* Fix a bug where sometimes units going through a wormhole from A to B would wind up flying off to the location of the entrance wormhole on A, but on planet B
 +
** Thanks to weaponmaster (and probably others) for reporting
 +
 
 +
* For the science upgrade c-click menu, show the cap increase.
 +
** Thanks to weaponmaster for suggesting
 +
 
 +
* Fixed an oversight where ships with cloak inside transports would not respect the rule to only regen cloak if they had run out and were visible to the enemy
 +
** Transports with cloaked units can still be used to cheese the AI (especially the cloaked transport starter fleet) , but it's very hard to keep all ships alive.
 +
 
 +
* Fix a bug where lots and lots of astro train stations would spawn
 +
** Thanks to arsdor for reporting
 +
 
 +
* Add some defensive code for a problem in TryWiringUpShotToTarget
 +
** Reported by NRSirLimbo
 +
 
 +
* Put in some protection for shot graphics being put back into the pool twice and thus having a nullref exception.
 +
** Thanks to NRSirLimbo for reporting.
 +
 
 +
* Put in some protection in planning metal flows against a very strange nullref exception that doesn't make a whole lot of sense.
 +
** Thanks to NRSirLimbo for reporting.
 +
 
 +
* When calculating safe placement points for structures that will auto-build, it now ignores mobile entities with a lower collision priority than the structure being placed; those will be able to decollide out of the way, after all, after the structure is auto-built.
 +
** This is untested, but should work well and should keep factories and such from getting placed too far away when there are a bunch of small ships around the command station.
 +
** Thanks to NRSirLimbo for reporting.
 +
 
 +
* Put in a likely fix for forcefields to not get bumped around by other ships that are being built.  It was the same fix that we put in for flagships, so presumably this should work.
 +
** Thanks to overzot, NRSirLimbo, and Asteroid for reporting.
 +
 
 +
* You can no longer place units overlapping on top of one another.  Previously it was allowing you to do that, which could lead to all sorts of accidental structural placements as things moved out of the way of where you invalidly put them.
 +
** There's now proper interface feedback about this and everything.
 +
** Thanks to RocketAssistedPuffin for reporting.
 +
 
 +
* Additionally, fixed a bug where auto-placing a group of units would let them partially overlap as well.  All of the logic is now centralized to not have that happen.
 +
** Thanks to RocketAssistedPuffin for reporting.
 +
 
 +
* Fix a bug where once you Watched a planet, it was always Watched. It affects the previous 2 releases
 +
** Thanks to Democracy for reporting
 +
 
 +
* Updated a number of things from recent work with DiffLib and LINQ so that those are no longer attempted to be integrated into our external code project. Instead this is all wrappered and in the main game executable.
 +
** This is kind of a pain, but for whatever reason we're unable to build a generic dll that is cross-platform that works with LINQ directly, and so this sort of indirection is required.
 +
** Until now, we simply have not been able to use ToList(), Any(), or Where(), but now we've got wrapper methods that are able to call into the central project dlls, which link against platform-specific LINQ dlls and thus let us do that properly.
 +
** This lets us actually compile (outside of visual studio) via our compile scripts that use the Roslyn compiler directly.
 +
** The irritating thing is that if we want more functionality from DiffLib or from LINQ, then basically Chris has to make wrappers for those first, but in the end that's a small price to pay to actually get the functionality in a cross-platform style that actually compiles and works across all the platforms.
 +
 
 +
* Fixed a bug from the last month or so where ships dying on other planets were not playing their distant death sounds properly.
 +
 
 +
* Fixed a bug from the last recent while where ships were not exploding consistently.  Now they seem to always explode, both visually and aurally.
 +
 
 +
* Fixed a bug from who knows how long ago that was causing the icons of ships that are dying to not go through their proper explosion animation.
 +
 
 +
=== Visual Improvements ===
 +
 
 +
==== Lighting and Bloom Overhaul ====
 +
 
 +
* LOTS of changes are being made to the lighting of the game in general, and the bloom in particular.
 +
** Over the last year or so, as we've upgraded between various unity versions, the visual styling has become more and more silhouettish without us realizing it.  The bloom was also too heavy, but in general you just couldn't even see the textures on a lot of ships anymore unless you caught them at just the right angle.  A lot of this was because of upgrades to the PBR lighting pipeline in unity, which resulted in some of our custom shaders giving a different result when having the same inputs put in.
 +
** This does unfortunately mean we have to touch most every ship's material to get it straightened out, but that's better done now than later on.
 +
** This has also resulted in some minor improvements to the visuals on the main menu and loss and victory screens, although you'd have to see them side by side to truly note the difference.  The reason for changes that subtle is that we had to recreate a few things with a new lighting style that includes ambient as well as directional lighting, and the result was a bit different and better.
 +
** The overall effect should not be such dire contrast between ship lights and the rest of the ship hulls, and in general bloom that isn't painful on the eyes but still gives a pleasing look.
 +
** Thanks to Sounds for reporting.
 +
 
 +
==== Planet Visuals Improvement V1 ====
 +
 
 +
* All of the planets have been subtly tweaked in their visuals.
 +
** Their atmospheres no longer have such a sharp glow that can be distracting anymore.
 +
** The rings and main bodies of the planets no longer react to ambient light (which was previously zero anyhow), but do now have a bit of ambient grayness applied to them that makes their shadows less harsh in general.
 +
** Jungle5 has more attractive colors on it, now.
 +
** Several have atmosphere glow diffusions that are more sensible and attenuate properly over the body of the planet now.
 +
** The normals and the tangents are recalculated fresh for the planets, making any sort of artifacting based on the underlying 3D models no longer a thing.
 +
*** However, they were apparently already pretty smooth, so there's not much visually different from this bit.  If you zoom in a lot on the planets, you see some lack of details mainly due to the fact that we've downsampled the textures to be 1k in size instead of 4k, thus saving literally hundreds of megs of RAM and VRAM.
 +
**** The eventual solution to this would be to make the planets shrink down a bit as you zoom in, so that at full zoom the planets become about half their current size; the visuals of them would remain nice and crisp were we to do that.
 +
 
 +
==== Updates To Every Single Ship Visual ====
 +
 
 +
* Every last stinking ship and structure in the game has been reworked in their shaders, and have a much brighter look to them in general.
 +
** The overall cell-shading style is more apparent throughout many of the visuals.
 +
** Frankly the levels and coloring have been adjusted on pretty much EVERY ship, so there's not much point listing them all.
 +
** The Major Data Centers deserve a particular shoutout for suddenly looking like this amazing glass structure.
 +
** Also a shoutout to the Rorqual Hegira for looking a lot more vibrant than before.
 +
** And Gyrn, the Voidhome for having glass in-game again.
 +
** And for Thanatos, something about it just feels more akin to the rest of the game, now.
 +
** Citadels now have a different look (mainly coloring changes -- model is the same), and the AI Fortress has completely different colors to differentiate it a lot.
 +
** The AI now has a separate visual that is greenish instead of red and orange for the reconquest command stations, so that there's a more obvious visual cue when that's what you're looking at.
 +
** A number of the AI guardians have been recolored using our new HSV recoloring shader, to make them more varied and keep them thematic (blues for lightning guardian, for instance).
 +
** Most of the small strikecraft ships are now just single ships rather than a group of them.
 +
 
 +
* There are some other ship graphics that we completely changed:
 +
** The old GrenadeLauncher graphics were just... really bland and not good, which was not typical at all of the ships we had.  They've been replaced with something much more attractive and thematic, although the scaling for these will need to be adjusted/vetted (Puffin!).
 +
** The ImplosionGuardian graphics have been recolored to be less AI-like since we use those for the Marauder Raiders instead of the AI.
 +
** There is now a unique version of the Marauder Raider for the drone-carrier version that looks the part and is based on the base marauder raider rather than the carrier starship like before.
 +
** The implosion drones have been recolored and added to finally being used, this time for the yellowjackets that the hive golem spawns.  This is vastly more polygon-efficient, and also looks cool.
 +
*** Added a whole new shader to allow for HSV recoloring in order to make these work!
 +
** The old Hacker model has been repurposed into the mercenary flagship model, and recolored some.
 +
** The beacons now have their own model that is a tower-based descendant of what used to be the scout.
 +
** Pulsar Tanks now have completely different graphics, as the old ones were hideous.
 +
** Astro Train Stations now use the old Fuel Refinery graphics, with recoloring to be color-themed for the astro trains.
 +
** The Spire Archive now actually uses spire-style graphics!
 +
** The War Harvester now uses the Armor Starship visuals, which have never been in the game before.
 +
** The artillery golem looked really horrible, as did the Warpsite Artillery (same model), and they now use what was once the carrier starship.
 +
** The Warbird Starship now uses the awesome model that was being used as the merc distractor starship in kind of a wasted way.
 +
** The Distractor merc starship actually looks thematically appropriate now, and actually has a really cool shell to it in general that is evocative of astro train colors in some ways.  It's actually believable, looking at this, that someone made it just to distract and piss off the warden.
 +
 
 +
== Version 0.889 Reticulating Those Splines==
 +
(Released September 13th, 2019)
 +
 
 +
* When you load the game, the first thing you've always been presented with has been a lot of "loading this and that" text that was very... immersion-breaking.  This is a super bad first impression, and a chance to actually entertain people while they wait.  Everything from SimCity to Nier Automata has done interesting things in this vein.
 +
** Now we have a fair bit of technobabble that is put in instead, a lot of it humorous and vaguely related to what the game is actually doing.  If something is running slow or gets stuck, we'll be able to match the technobabble to a specific section of code, still.
 +
** Additionally, for the slowest section, where we're loading a bunch of visual stuff off disk and counting up by 10s, we now have about 70 different things it might say for that phase.  That one sticks around the longest, and so having various jokes or jargon that is at least different each time makes it feel more thematic and fun, and gives a mildly interesting thing to look at rather than just the same thing every time.
 +
** This seems like a minor change and in most respects is, but first impressions only happen once and this has been bugging Chris for a long time.
 +
 
 +
=== Balance ===
 +
 
 +
* Added a new disallow_kiting="true" flag, which lets us make certain units completely unable to kite.
 +
** This may be useful for certain drones or other specific units, but we're not using it anywhere yet.
 +
** Thanks to Puffin for inspiring this change.
 +
 
 +
* Add hacks for an ARS to reroll the contents of an ARS (ie if you hack an ARS that would grant 1x Brawler, you might get 30x Pike  Corvettes), and to convert an ARS into science
 +
** Thanks to a discord discussion with Puffin, Democracy and zeusalmighty
 +
 
 +
* For structures that you place, they are no longer able to be constructed if their flagship (or command station, as the case may be) is not present on the same planet as them, is crippled, or is not yet fully constructed.
 +
** So you can't have a battlestation or citadel go into enemy territory, start construction on a beachhead, then get crippled and have that construction continue without it.
 +
** And you also can't start construction on a command station, then build something like a forcefield generator, then scrap the command station and rebuild it after the forcefield generator is complete.
 +
** This needs testing, but it will also tell you about this in the tooltips as relevant.
 +
** Thanks to Asteroid and overzot for reporting.
 +
 
 +
=== UI Improvements ===
 +
 
 +
* The tooltips for the various intra-galactic coordinators now note that it rounds up based on their multiplier, which  is a key thing for very low-number ships like frigates or some turrets.
 +
** Thanks to Asteroid for suggesting.
 +
 
 +
* You can now C-click ANY fleet flagship, not just unclaimed ones.  This way you can see the contents of a fleet (details-wise) without having to go into the fleets tab.
 +
** Thanks to Asteroid for suggesting.
 +
 
 +
* The range colors are no longer shown differently between player and enemy ships, as that was kind of confusing.
 +
** The ranges of the different types of systems like tractor beams, weapons, gravity weapons, and so forth ARE all now shown even beyond just placement mode, for your stuff and enemy stuff, and with colors to differentiate them.
 +
** Also, if a planet has been hacked to reduce the range of turrets or guard posts, then that now shows in the range circles properly.
 +
** Thanks to Asteroid for inspiring these changes.
 +
 
 +
* When hovering hacks in the sidebar, show the name of the structure being hacked as well as the hacker that will be used when appropriate
 +
** Thanks to Asteroid and zeusalmighty for suggesting
 +
 
 +
* The Tech menu entries for 'things you don't have yet but could get' now also include things from ARS
 +
** Thanks to Puffin for suggesting
 +
 
 +
* The hovertext for GCAs and ARSs now shows the ship types you'll get with the right colour for the mark level you will wind up with
 +
** Thanks to Puffin for suggesting
 +
 
 +
* The "101 explanation" now includes a little section on C-clicking, since that is so important.  Additionally, there is now a quick tip (tip of the day) about C-clicking.
 +
** Thanks to Badger for suggesting.
 +
 
 +
* The time to do any given hack is now shown on the hacking sidebar, or "Variable Duration" is shown if it's something that varies.
 +
** Thanks to Badger for suggesting.
 +
 
 +
* C-clicking a fleet leader now pops open the fleets sidebar and the fleet management window for that fleet, rather than the usual details of all the ships.  All those ship details are available from this screen anyway, but this screen also includes a bunch of other relevant controls.  This should be a huge time saver!
 +
** Thanks to Asteroid for suggesting.
 +
 
 +
* In the fleets management screen, the transport mode status display is now a button that lets you use the UI to load ships into or out of transport mode.  This marks the first non-keybind way of doing that for fleets.
 +
** Thanks to arsdor for suggesting.
 +
 
 +
* In the fleet popout, there is now a button that shows you how many distant members there are (units of the fleet on other planets) for mobile and battlestation type fleets, and you can click that button to immediately scrap all of the units on distant planets if you wish.
 +
** This is a really long-requested feature since fleets have been added (in particular battlestations).
 +
** Thanks to arsdor for bringing it up most recently, but it has been mentioned a ton of times.
 +
 
 +
* Added a variety of new keybinds for quickly selecting all units that meet specific criteria on a planet.
 +
** M still selects all your mobile military, but is now in a new Selection section of the controls window with the rest of these.
 +
** C+X selects cloaked units.
 +
** C+V selects mobile fleet flagships.
 +
** C+V selects battlestations and citadels.
 +
** C+N selects all snipers.
 +
** C+M selects all melee units.
 +
** C+F selects all factories.
 +
** C+H selects your command station, if there is one.
 +
** Are there more categories we should add?  Please do let us know!
 +
** Thanks to UncleYar and Asteroid for inspiring these additions.
 +
 
 +
=== Bugfixes ===
 +
 
 +
* Fixed an exception that could happen inside the tooltip generation for some entities that generate AIP on death.
 +
** Thanks to arsdor for reporting.
 +
 
 +
* Fixed a nullref exception that could happen in GetEntityContainsSomethingToSeeMoreOf() during placement of a logistical command station to replace a military one.  Still needs testing to be sure we got it, but it should be gone now.
 +
** Thanks to Asteroid for the report.
 +
 
 +
* Don't allow multiple hacks at a time on a given planet
 +
** Thanks to Asteroid for the report
 +
 
 +
* Fixed AI Tachyon Sentinels being unable to actually decloak anything except Aggressors.
 +
** Thanks to WeaponMaster for reporting.
 +
 
 +
* Fixed a bug where trying to get the hacking duration without a hacker was giving a nullref exception, and getting one WITH a hacker would give the duration of the hacker's active hack (or another nullref) and not the actual duration of the hack you asked about.
 +
 
 +
* Any wormhole commands given to ships that are currently running a hack (thus preventing them from going through wormholes) are now considered invalid and discarded.  This should prevent issues like giving wormhole movement commands to a flagship that is hacking, and then having all its ships that it unloads or that are created at it run out of the planet without it.  But we've not tested that specific scenario yet, so please let us know if that doesn't work!
 +
** Thanks to UFO for reporting.
 +
 
 +
* Fixed a bug in our input system where keybindings like C+F would not block C and F individually.
 +
** This may have some unintended consequences, since it has never worked properly. But now that it works properly that opens up more hotkeys for us to use.
 +
 
 +
== Version 0.888 Astro Examination ==
 +
(Released September 11th, 2019)
 +
 
 +
* Add tips for all the remaining factions
 +
 
 +
* Warden Fleet Bases now show on the galaxy map.
 +
 
 +
=== Balance ===
 +
 
 +
* If the AI is attacking a heavily defended planet and there are weaker targets behind it then the AI is more willing to try to sneak ships past onto the weaker target
 +
** For difficulties under 7, bumped up the chance of them sending aggressive waves that try to bypass things.  Under difficulty 5 it drops a TON.
 +
** This is something that makes the AI feel more alive to the point that without it happening at least sometimes the AIs are just too passive-seeming with their waves, we're concerned.  "The real game begins at 7" is what we often say, but in this sort of case we want it to at least feel like the AI is still after you a reasonable amount on difficulty 5 and up.  Below difficulty 5 the AI is just kind of... there. ;)
 +
 
 +
* Allow the Warden Fleet to press home an attack against a planet the player has just captured, if the warden fleet was already en route.
 +
** If the AI outnumbers the player on that planet, the warden fleet can always continue the attack
 +
** If not then every Long Range Planning step the warden fleet has a 10% chance of retreating
 +
** Suggested by Puffin. This tries to approximate AIWC behaviour
 +
 
 +
* Increased Combat Factory speed a bit.
 +
 
 +
==== Combat Factories ====
 +
 
 +
* Each Combat Factory type now has a set of Drones:
 +
** Standard Combat Factory has just V-Wing and Fusion Bomber Drones.
 +
** Overloader Combat Factory has new Saboteur Drones - only able to target structures, but can disable even Guard Posts.
 +
*** Thanks to zeusalmighty for this specific idea.
 +
** Backdoor Combat Factory now has Tackle Drones - rushes enemies and grabs them with a tractor beam, and usually keeps going.
 +
** Rejuvenator Combat Factory now has Decoy Drones - tanky, with some light vampirism, and has a higher target priority.
 +
** Scrapper Combat Factory now has Scrap Drones - explodes on impact with an enemy in a tesla explosion.
 +
*** Oh, and it gives some Metal too.
 +
*** This thing is likely in some games, but hidden as a normal Combat Factory, so you may find you suddenly have one of these.
 +
**** Thanks to zeusalmighty in general for the suggestion of Combat Factories having Drones.
 +
**** Balance on these is somewhat unknown, so feedback is welcome.
 +
 
 +
=== Astro Train Tweaks ===
 +
 
 +
* Astro Trains now have to go through a random number of stations before going to the depot, instead of only 1
 +
 
 +
* Astro Trains now have Tracing available specific to that faction
 +
 
 +
* Improve Astro Train Depot hovertext
 +
 
 +
* Clicking on an Astro Train Notification from the galaxy map now centers you on the planet with the train if you have vision of it
 +
 
 +
* Astro Train Depots can now be enabled for a range of intensities X to Y, instead of "for all intensities >= X". So you could define a depot that's only available for intensities from 3-7. Also improve problem detection code with astro train depot XML
 +
 
 +
* Trains now spawn at different rates depending on Intensity:
 +
** Low is 25 minutes
 +
** Medium is 20 minutes
 +
** High is 15 minutes
 +
 
 +
* Depots now spawn at different rates depending on Intensity:
 +
** Low is 60 minutes
 +
** Medium is 50 minutes
 +
** High is 40 minutes
 +
 
 +
* Trains now Mark up with the main AI.
 +
 
 +
* Trains now have the Norris Effect (i.e it pushes forcefields).
 +
 
 +
* Trains now have a Fusion Bomb weapon, only usable versus structures and intended to help them clear out defenses attempting to trap them.
 +
 
 +
* Carrier Astro Trains now have more Drones, and are faster.
 +
 
 +
* The "regular weapons" Astro Train (now just called Combat) is slower, and has a bit more durability and weapon damage.
 +
 
 +
* A new type of Train called the "Tank", slower than the Combat Train, only has the new Fusion Bomb weapon, but much more durable.
 +
 
 +
* Maximum Depot count increased from 3 to 4.
 +
 
 +
* Greatly increased the impact of strength based Depot effects.
 +
 
 +
* Science and Hacking granted from destroying a Train reduced a bit.
 +
** Since they can be more frequent.
 +
 
 +
==== Prototypes ====
 +
 
 +
* A series of prototype versions of Guardians (and one Golem), usually with something odd or unique to them, only spawnable via Astro Train projects:
 +
** Fenrir - Carrier Guardian advanced prototype - uses a long range, extremely high damage beam, while launching strong fighters.
 +
** Reanimator - Tethuida Guardian advanced prototype - converts enemies to its' side, while launching drones that sacrifice themselves to reanimate allies in general.
 +
** Umbra - Stealth Guardian advanced prototype - extremely hard to decloak, and fires numerous shield bypassing fusion bombs while launching cloaked drones.
 +
** Shellshocker - Grenade Launcher Guardian advanced prototype - fires clusters of long range grenades, that cause engine stun and weapon reload malus effects.
 +
** Custodian - Forcefield Guardian advanced prototype - high damage output general weaponry, and is invulnerable if there's a Guard Post present.
 +
** Warspite - Advanced AI prototype of an Artillery Golem - fires rapid, cross planet Mass Driver shots.
 +
 
 +
=== "Hold And Click To View Details Of Contents" Feature ===
 +
 
 +
* "Toggle Stop-To-Shoot" is no longer bound to the "C" key.  Instead, that is now bound to K.
 +
 
 +
* The "C" is now used as a new keybind called "Hold And Click To View Details Of Contents"
 +
** Hold this key down when clicking a button or a ship in order to view the details of any ships contained within that clicked item (ships in a wave, ships in a transport, ships in a fleet, ships improved by a tech).
 +
** This is SUPER important for finding out what the actual stats are of ships that otherwise would just be a list of names.
 +
 
 +
* The selection logic for the galaxy map view has been moved into the external open-source code, and will soon be able to be a lot more flexible like people have been asking for.
 +
** Previously it was embedded in a way that made those other bits impossible, but no longer!
 +
 
 +
==== For Stuff In Ships/Structures! ====
 +
 
 +
* The new "Details Of Multiple Ship Lines" screen is able to be shown for ships that you C-click directly, or on the sidebar, or on the galaxy map.
 +
** But only if they actually have something of relevance to show!
 +
** Right now it shows the details of ships that a GCA or ARS would grant, that are part of a fleet that you could capture but have not yet, or which are inside an AI reinforcement point (guard post), or which are being transported inside a fleet.
 +
** Thanks to warhawk_rider, WeaponMaster, and Badger for suggesting this.  We already don't know how we ever lived without this!
 +
 
 +
==== Also For Wave Contents! ====
 +
 
 +
* When hovering over a wave notification, it now has text at the bottom which says "Hold C and click here to view details on all the ship types in the wave."
 +
** Doing that pops up just what it claims, so that you can find out what the heck it is that is headed your way.
 +
** Thanks to Asteroid for suggesting.
 +
 
 +
==== And Tech Upgrade Details Per Ship Type! ====
 +
 
 +
* When hovering over techs, it now notes that you can C-click those in order to get a list of all the ships that are upgraded with their details, and it shows both the old and new versions for each ship.
 +
** Note that this is for the ships in GENERAL, assuming no fleet upgrades for the ships in question, and assuming that the ships are also not benefiting from some other tech.  So some ships will be moving up higher marks than shown here, which is ok!
 +
** I'm sure we'll refine this in some various ways in the future, but for now this seems to handle most things well in terms of getting the idea across of what upgrades do in some sort of direct fashion at least.
 +
** Actually, now this DOES include the global factors of ships upgraded by multiple ship lines.  It just doesn't factor in individual fleet upgrades.
 +
** Thanks to Badger for suggesting.
 +
 
 +
=== Bugfixes ===
 +
 
 +
* Fix a bug where killing reconquest command stations could sometimes incorrectly do Exploration for you
 +
** Thanks to Puffin (and many others) for reporting
 +
 
 +
* Fixed a bug where cloaked ship stacks that were revealed would regain full cloaking upon killing one of the units from the stack.
 +
** This makes cloaked ships much less cheesy for the AI and Humans alike.
 +
 
 +
* Fix a bug where the AI could sometimes shoot Instigator bases. Apparently the AI doesn't like Instigator bases either
 +
** Thanks to zeusalmighty for reporting
 +
 
 +
* Fixed several super-annoying glitches with any pieces of text we were using that had icons in them, mainly in parts of the sidebars, where the clickable area of buttons would be absurdly large and obscure part of the button below them.  This often led to clicks and hovers actually selecting the wrong button, which was rightly infuriating.
 +
** Turns out this was actually a bug/oversight in TextMeshPro itself, and we've fixed it per the notes we left here: https://forum.unity.com/threads/cant-disable-raycasting-on-tmp-submesh.548500/#post-4948295
 +
** Thanks to AnnoyingOrange, WeaponMaster, Asteroid, and RocketAssistedPuffin for reporting.
 +
 
 +
* The ability to swap away drone lines should no longer be present.  You already couldn't swap them IN, but now you can't swap them out either.
 +
** Thanks to Puffin for reporting.
 +
 
 +
* We were already ATTEMPTING to not send the DumpFleetContentsIntoFactionLoose messages for Drone fleets, but apparently were just limiting that to AI guard posts.  Now it applies in general, and will thus not send that message for the nanocaust and similar.
 +
** Thanks to zeusalmighty for reporting.
 +
 
 +
* Added a new immune_to_swapping_between_fleets, which prevents ship lines from being swapped between fleets, and from counting against the total of ship lines a fleet can have (for purposes of how they can have 5 lines, etc).
 +
** This is being used for hydra heads (to prevent those from blocking other ships from swapping in, and other oddnesses), and is also being used for combat engineers (since those are an integral part of the fleets they are a part of and should not be swappable).
 +
** Thanks to NRSirLimbo for reporting.
 +
 
 +
* Fix a bug where Command Stations would start to give Attack and speed bonuses before the construction was completed
 +
** Thanks to puffin for reporting
 +
 
 +
* Re-fixed the TextMeshPro AddFontAssetInternal bug, which reintroduced itself last build.  Apparently the package manager helpfully re-cached itself.
 +
 
 +
* Moved TextMeshPro away from the unity package manager cache into directly being a part of the game's project tree.  This lets our code changes to fix two bugs not be erased by the package manager.
 +
 
 +
* Fixed a bug where if you had negative energy, you could not build anything that cost zero energy.  Now it's properly only preventing you from building things that cost energy.
 +
** The most obvious benefit of this is matter converters, but it should also be relevant to drones and command stations.
 +
** Thanks to Asteroid and zeusalmighty for reporting.
 +
 
 +
* If the player didn't see the Devourer Golem die and the Devourer Golem respawns on a planet the player can't see, don't show any messages about respawning
 +
** Thanks to RockyBst for the commment
 +
 
 +
*  If the player has already paid the AIP price for a warp gate (either by killing it, capturing the planet if a minor faction killed it, or by some other means), suppress the 'Killing this structure will increase AIP' hovertext.
 +
** Note that we don't want to just create a new, non-AIP increasing warp gate for reconquest waves; consider the case where hostile-to-all marauders take a planet, then the AI recaptures it. If you kill the warp gate now, you will still get AIP since you didn't pay the price the first time.
 +
** Thanks to Puffin for pointing this out
 +
 
 +
* Don't print a message for "New Astro Train Station Spawning" if you can't see the planet it's spawning on
 +
 
 +
* Fix a bug where units were discarding wormhole commands when going through a wormhole, instead of only discarding decollision commands
 +
** Discovered analyzing problems with astro trains, thanks to Puffin
 +
 
 +
* Some very minor rework of the anti-ai zombie code was done
 +
 
 +
* Decollision-move orders now track what planet they are tied to, and consider themselves as invalid if the ship with those orders is now on a different planet.
 +
** There were a bunch of potential situations where a stale decollision order could potentially sneak through, and so keepiing track of this and invalidating the command at any point after all of them is hopefully the ultimate safety valve for this issue.  If you still see ships doing anything strange after going through wormholes, please do let us know!
 +
** Thanks to Asteroid for the most recent report.
 +
 
 +
* Fixed a complicated cluster of issues around the sidebar hovertext where the wrong text would be show, or it would just show a T, or the text would otherwise be out of date.  This is distinct from the issue of the raycast hitboxes for hovering over sidebar buttons being wrong.
 +
** Thanks to a lot of people for reporting this, most recently Mckloshiv, Stormking2010, PointyHat, Panterich, and Asteroid.
 +
 
 +
* The game was already set up not to respond to mouse clicks or keybutton presses when it didn't have focus, but it was still responding to edge scrolling, and allowing for tooltiphovering, etc.
 +
** Now the game just remembers the last position of the mouse, and thus keeps whatever the tooltip was and doesn't scroll, etc.
 +
** Thanks to Asteroid for reporting.
 +
 
 +
* Fixed a bug where in certain cases (particularly when the game was paused upon first loading in after a savegame), you were not seeing planet intel properly.  It would flip to showing the film grain effect once per second, and back and forth between watched and "last intel was 0 seconds ago."
 +
** Thanks to Asteroid.
 +
 
 +
* Fix a bug where you would get weird output if you tried to explore but didn't have any planets left to explore.
 +
** This primarily affects games where Debug: Scout All was used
 +
 
 +
== Version 0.887 Ending Scenes ==
 +
(Released September 7th, 2019)
 +
 
 +
*  If the AI has ships on planets adjacent to your home command station and those forces are significantly stronger then your homeworld's defenses, the AI can try to sneak its ships past your defenses to the homeworld. Only available to AI Difficulties >= 7.
 +
** The AI will only try to do sneaky things like this if there isn't a forcefield protecting that wormhole
 +
** May require some further testing/tweaking
 +
*** Thanks to Zoreiss for the suggestion
 +
 
 +
=== Visual Improvements ===
 +
 
 +
* Previously if the number of units contained inside a unit was changed, or if the mark level of a unit changed, that did not change the icon immediately.  Instead it would wait for something else, like a health change or a mouseover of it, which could be really confusing.
 +
** Thanks to wm46, NRSirLimbo, and (long ago) HeartHunter for reporting.
 +
 
 +
* The older unity post-processing stack is once again in use, but with some alerations to it compared to what we used to have.  It helps smooth out some of the colors that were over-blown, and gives the came a more cool (temperature-wise) look.
 +
** This also does a better job mapping back down from the HDR to the LDR range.
 +
 
 +
* The oldest-style spaceboxes that we had in the game have now been removed, as they were often causing some extreme banding visually as well as sometimes hiding planets or causing other issues.
 +
 
 +
* The intro to the game has been redone very slightly, to just be slightly more polished.
 +
** We were going to do something more epic and different, but it turns out that just changing the colors around a bit and keeping it relatively calm felt the best for now at least.
 +
** You can see it here: https://youtu.be/Jfwg2J7Rtog
 +
 
 +
==== Victory and Loss Screens! ====
 +
 
 +
* Finally we actually HAVE a victory screen!  We may evolve this some in the future, and I'd like to put in some other stats and such for instance, but right now it is customized to your starting planet and your best-performing mobile fleet.
 +
** This is a way more satisfying way to end the game rather than a tiny "you win" notice!  The game pauses while you're in this, if you're planning on playing forward beyond  the victory; and it also lets you enjoy the awesome vocal track by Pablo Vega, performed by Hunter Vega.
 +
** MOST of that vocal track is reproduced here: https://youtu.be/7oedu7g8FXc
 +
 
 +
* Finally we actually HAVE a loss screen!  We may evolve this some in the future, and I'd like to put in some other stats and such for instance, but right now it is customized to your starting planet and your best-performing mobile fleet.
 +
** This is a way more satisfying way to end the game rather than a big fiery "you lose" message and nothing much else.  The game pauses while you're in this, if you're planning on playing forward beyond the loss; I'm particularly pleased with how apocalyptic this turned out, visually in particular.
 +
** You can see it here: https://youtu.be/Pq-Q-qbQegQ
 +
 
 +
==== Much Better In-Game Icon Placement ====
 +
 
 +
* Added a new "Icons Draw Over Everything" main camera settings option, which now defaults to true.
 +
** With this on, which is the default, icons show in front of everything.  If you view ships from a side angle, then you'll see icons from BEHIND those ships in front of them.  This is consistent with most other strategy games, but may not be to everyone's tastes.
 +
** This is required for the next new setting noted below to be possible.
 +
 
 +
* Added "Ignore Icon Y Offsets" main camera settings option, which also now defaults to true.
 +
** With this on, which is the default, icons drop down and show exactly where the ships themselves are.  This is very helpful if 'Icons Draw Over Everything' is ON, but with 'Icons Draw Over Everything' set to off it will make many icons actually invisible since they will clip into their own ships.
 +
** This winds up making things feel a lot more connected, and a lot more Stellaris-liike in terms of the link of the icons to the ships.  Oddly this is overcoming a similar problem that Chris finds he has with Three Houses on the Nintendo Switch, so the problem certainly can be worked around (hence all this being optional), but it does feel a lot more immediately-natural.
 +
** Thanks to a number of players for suggesting this (can't find who it was since this didn't make it into mantis apparently?)
 +
 
 +
* Added a new "Icons Disappear When Camera Lower Than" option, which has a range of 0 to 4000.
 +
** To have an uncluttered view when you zoom far in, you can make it so that all the icons and wormhole names and so forth all disappear once your main camera gets below this height.  Default is 200.
 +
** This feels more like AI War Classic, where the icons disappeared after you zoomed in a certain amount.  But it lets you choose how much of this you really want.
 +
** Thanks to a number of players for suggesting this (can't find who it was since this didn't make it into mantis apparently?)
 +
 
 +
=== Bugfixes ===
 +
 
 +
* GetSafePlacementPoint now returns Engine_AIW2.Instance.CombatCenter rather than ArcenPoint.ZeroZeroPoint.
 +
** This means that when there are problems finding a safe placement point, it will now super-stack units at the center of the grav well rather than placing units way the heck out of bounds where nothing can fight them or find them.
 +
** This takes something unplayable and makes it merely annoying.
 +
** Thanks to NRSirLimbo and Badger for reporting.
 +
 
 +
* The GetSafePlacementPoint code is a lot more sophisticated now, with a multi-tiered process where if it can't find a safe point in the desired radius at first, then it will expand its valid range iteratively for a bit to find a spot that is close to what is desired even if not ideal.
 +
** This uses some more computation on planets that are very crowded, but will prevent issues where things super-stack in the middle (formerly getting placed out of bounds) because the ideal range was too restrictive.  This should be quite noticeable with things like factories that auto-build on your planets.
 +
** Note that this is entirely untested and could lead to deadlocks or other major problems for all we know.  Iterative code is "fun" like that.  So knock on wood, as we do our other internal testing in prior to this next build.
 +
** Thanks to NRSirLimbo and Badger for reporting.
 +
 
 +
* Fix a bug where the hovertext for ARS still talked about cost to claim
 +
** Reported by Uncle Yar on steam
 +
 
 +
* Limit some places where we were showing planet names for planets you haven't explored yet for Astro Train and Dyson Sphere information
 +
** Reported by RockyBst on the forums
 +
 
 +
* Fix a bug where the Devourer Golem could spawn from a Beacon before you awakened the beacon
 +
** Thanks to RockyBst and weapon master for reporting
 +
 
 +
* Put in several more changes that should make absolutely sure that threads know when the work on them is done, so that we don't get errors with some threads trying to start up a thread that thinks it isn't done even though it probably actually was.
 +
** Thanks to NRSirLimbo for reporting.
 +
 
 +
* Fixed a bunch more cases where code calling GetIndexOfMostAnnoyingFaction() was trying to find the faction off of it and then getting a nullref exception when there was not a most annoying faction locally (a very valid case).
 +
** Thanks to Asteroid for reporting.
 +
 
 +
* Don't let the AI Overlord Mark 2 or Usurpers join the hunter fleet
 +
** Reported by Ovalcircle
 +
 
 +
* Put in a fix to a cross-threading indexing exception that could happen in decollision planning.
 +
** Thanks to NRSirLimbo for reporting.
 +
 
 +
* Fixed an issue where the GetMostAnnoyingFaction() method was sometimes having a nullref exception in it endlessly.  This is probably a downstream error from something else that will cause other problems, but it keeps this part of the code running, anyway.
 +
** Thanks to zeusalmighty for the savegame with the problem extant in it.
 +
 
 +
=== Balance ===
 +
 
 +
==== Player Ship Caps ====
 +
 
 +
* Added a new "absolute_max_cap_when_in_fleets" field on ships, which allows us to set it to some value above zero if we want to limit how many of a ship type can be granted at maximum.
 +
** Note that this only affects player fleets, by definition, EXCEPT it would affect drone fleets of the AI and other factions.  If other factions start using fleets more, this would be available in those cases, too.
 +
 
 +
* An absolute max cap when in fleets has been added to the following structures:
 +
** Matter Converters: 10.
 +
** Factories: 3
 +
** Forcefield generators: 4.
 +
** Tractor Array: 20.
 +
** Tachyon arrays: 6.
 +
** Focused gravity generators: 10.
 +
** Minefields (all sorts): 200.
 +
** Sentry Frigates: 9.
 +
 
 +
* Added a new is_disallowed_from_getting_any_ship_cap_bonuses_when_in_fleets, which, when true, will prevent ships from getting bonuses of any sorts beyond whatever their base fleet cap counts are.
 +
** Note that this only affects player fleets, by definition, EXCEPT it would affect drone fleets of the AI and other factions.  If other factions start using fleets more, this would be available in those cases, too.
 +
 
 +
* We already had range_multiplier_to_all_weapons, which we use on the AI versions of turrets to halve their ranges.  Now it's time to add some more differentiators to the player stuff.
 +
** damage_multiplier_to_all_weapons does the same thing for weapons.
 +
** multiplier_to_all_costs does the same thing to metal and energy costs, and ai cost to purchase, and exp gains from killing them.
 +
** multiplier_to_all_healths does the same thing to hull and shield healths.
 +
** multiplier_to_all_fleet_caps does the same thing to FINAL fleet caps after whatever bonuses.
 +
** multiplier_to_all_scales does the same thing to the visual scale of the model, and the amount of area that it takes up in sim space (the circle around it).
 +
** These are fairly large changes and so if you see any strangeness, please do let us know.
 +
** These will help us to balance things in an efficient manner in the future, either between different ship variants (different factions with mulitipliers of one another), or just to change values without manually doing the math.
 +
 
 +
* destroys_self_until_not_over_ship_cap_if_planetary_command now also works on defensive battlestation/citadel fleets.
 +
** Otherwise it was possible to have WAY too many turrets in cases with them.
 +
 
 +
* Player turrets and AI turrets were already separated out so that the AI turrets could have half the range of the human versions.  Now we're going to further differentiate them to avoid the cases where you have things like 500 turrets at a planet because of the GCAs you've been capturing.
 +
** That not only slows the game down performance-wise, but it also is cluttery and is a royal pain in the rear to place them.
 +
*** There were never meant to be this many turrets in the game, as we designed the turret counts as a static thing long before we added in GCAs.  So things got bonkers, and now we needed to scale that back into the realm of what the engine and interface is meant to handle.
 +
*** In certain very large late-game savegames this actually seems to help performance quite notably.
 +
** If we missed anything, or you don't agree with our numbers in how they feel in practice, please do let us know!
 +
** For all AI turrets, things are left the same, but for player turrets the following changes:
 +
*** multiplier_to_all_costs is 5.
 +
*** multiplier_to_all_healths is 5.
 +
*** damage_multiplier_to_all_weapons is 5.
 +
*** multiplier_to_all_fleet_caps is 0.2.
 +
*** multiplier_to_all_scales is 3.
 +
** All of this should seamlessly affect existing savegames, so you'll probably see a lot of your turrets explode right on start of an existing game because of being over-cap.
 +
** Thanks to Asteroid and others for reporting the way-unintentional number of turrets you could wind up with and the tedium that causes.
 +
 
 +
==== Player Energy Generation ====
 +
 
 +
* The energy collector now has is_disallowed_from_getting_any_ship_cap_bonuses_when_in_fleets as true, to avoid us having runaway amounts of energy available to players.  But also, we're lowering the caps of these in general:
 +
** The base one that is used for the home command station has a max cap yof 2 now, instead of the old 3.
 +
** The military station no longer has none at all, rather than having a single one.
 +
** The economic one now has 2 instead of 3.
 +
** The logistical one now has 1 instead of 2.
 +
** Energy was just plain too plentiful even at base, and with fleet upgrades able to affect these structures it was even more out of whack.
 +
** Old savegames may still have the old allowed numbers until a command station is rebuilt or built for the first time.
 +
** Thanks to Puffin, Badger, and others for suggesting.
 +
 
 +
==== Other Stuff ====
 +
 
 +
* Stealth Guard Post now uses an ambush mechanic like Raptors, reload speed 3s -> 2s (so it decloaks itself faster for player convenience), range 3,200 -> 8,000, damage 2,000 -> 800, shots per salvo 1 -> 3.
 +
** The cloaking mechanic isn't a thing right now, and with Fleets would probably be in a different format than an aura effect, so doing this instead, for now anyway.
 +
 
 +
* Inhibitor Citadel weapon jammer effect 6s -> 4s, increases by 4s instead of 6s per Mark, shots per salvo 60 -> 90, damage 450 -> 300.
 +
** This had an odd effect of...well, gaining so much jamming per Mark that it would say it would increase reload time by 30s at Mark 5, but the global cap on the effect is only 20s! Ow. So it kind of stopped improving as much for a silly reason.
 +
** Decreasing the values from 6s to 4s means it will no longer have that oddity, and to compensate for the reduced effect, shot count went up, keeping the total "jamming time" per salvo at all Marks identical to what it was before, under the cap at least.
 +
** So now, these things at higher Marks will have a bigger impact than they did.
 +
*** Thanks to zeusalmighty for reporting this.
 +
 
 +
* Paralysis Citadel effect 3s -> 4s, increases by 4s instead of 3s per Mark.
 +
** Lets it reach the max effect like above by itself.
 +
 
 +
* Drastically increased Astro Train durability and firepower.
 +
 
 +
* Reduced count of Minefields to a quarter, increased damage/targets hit/effect to compensate.
 +
 
 +
* Starting Support Fleets now have a single Combat Sentry Frigate.
 +
 
 +
* Astro Train speed increased 25%.
 +
 
 +
* Dyson Defenders and Sentinels now have is_strikecraft="true" set, meaning they benefit from the relevant balance slider.
 +
** Them not doing so meant the Defenders, which you get by hacking the Sphere, were pretty "meh" compared to everything else.
 +
** The Sentinels need to have the same strength cost, else they'll never be built (due to the budget being spent on the first available thing), so are included.
 +
** This isn't a buff to the Sphere though - it pays more for the strength, and has the same max strength as it always has.
 +
 
 +
* Hive Golems are now a Lone Wolf Fleet.
 +
** Any existing ones will still have their units in their Fleet, but the Objectives list will call it a Lone Wolf. Fixed in new games.
 +
 
 +
* Hive Golems now have 250 Yellow Jackets, up from 50, and build them at nearly 4x the speed.
 +
 
 +
* Hive Golems cost 30AIP to capture, instead of 20.
 +
** Pre-Emptive increase, since...wow, those things can pack a huge punch now.
 +
** These changes still don't make it match Classic, but with Fleet Experience, Puffin is a bit...cautious for now.
 +
 
 +
* Updated the officer fleets so that they no longer are required to seed "at least 7 from player homeworlds and between 3-5 from AI homeworlds."  Instead, they are now required to seed "at least 6 from player homeworlds and between 3-9 from AI homeworlds."
 +
** This should allow them to seed in interesting pockets around the galaxy if the galaxy is one with many corners and distant locations, and in general not always cluster them right by the AI.
 +
** The idea is to keep the officer fleets for pretty late in the game, but not SO late in the game that they're essentially just either icing on the cake or outright pointless.
 +
** Thanks to Asteroid and Badger for reporting.
 +
 
 +
== Version 0.886 Zombie Homebodies ==
 +
(Released September 3rd, 2019)
 +
 
 +
* Add objectives for Minor Faction Beacons (the structures that let you activate minor factions in game)
 +
 
 +
=== "Defensive Zombies" Behavior Option ===
 +
 
 +
* Add a setting for "Defensive Zombies"; if this is on then Anti-AI zombies will only travel to friendly or neutral planets. To compensate, the zombies will attrition much more quickly.
 +
** This is essentially untested, so player feedback would be appreciated
 +
** Thanks to Hearthunter, Asteroid and NRSirLimbo for the suggestion
 +
 
 +
=== Balance ===
 +
 
 +
* Dark Spire and Dyson hacks that grant new ship lines now grant more ships
 +
** The hacks were pretty underpowered compared to ARSs.
 +
 
 +
* If the Devourer Golem dies, a new one will respawn in the galaxy after a while. This is also true for the Zenith Trader.
 +
 
 +
* Allow frigates with a cap of 1 ship to have the cap increase as science is spent. This also allows things like Force Fields to have their caps go up as command stations level up
 +
** Thanks to zharmad and Zoreiss for complaining about this.
 +
 
 +
=== Bugfixes ===
 +
 
 +
* Updated the Quick Starts, since the Praetorians didn't exist in them.
 +
** Unlike before, these don't have random Battlestations and Support Fleets - just the defaults for now. People are welcome to suggest specifics, I suppose.
 +
 
 +
* Add some defensive code for a null reference exception inCalculateEffectiveCurrentFleetStrength()
 +
** Reported by NRSirLimbo.
 +
 
 +
* Put in some really harsh checking to make sure that any xml files that include a ~ symbol will not be loaded.  These tend to always be things that are left behind by an editor as a working copy, and cause various issues.
 +
** Thanks to Badger for discovering that only certain versions of windows were not properly excluding these ".xml~" files even though we were filtering to ".xml".  Fun times.
 +
 
 +
* Put in some changes to allow for much longer-running long-term and  short-term running background threads without them suiciding themselves.  This should prevent some of the intermittent errors that could happen on games that were under a particularly high amount of computational stress.
 +
** Thanks to NRSirLimbo for reporting.
 +
 
 +
* Shifted the DoShortTermPlanning central control code to once again be on a background thread.  This may or may not be needed, but might have a small performance benefit under situations of high demand.  We'll see.
 +
 
 +
* Fixes to the audio mixer stuff not working in the prior build:
 +
** Fixed the steam builds folder to no longer include aiw2sfx as a bundle in the OS-specific folders, nor aiw2voice.  Not sure why it was having old copies there, but it was looking there first instead of the GlobalBundles section.
 +
** Split out the audio mixer stuff into aiw2soundframework, so that's a new bundle in the GlobalBundles section.
 +
** Previously if there was a global version of an asset bundle and a per-platform version, it would prefer the per-platform version.  Now it prefers the global version instead, which should fix any future cases of things being mysteriously out of date in one place but correct in the expected central location.
 +
** Thanks to Badger, Puffin, and others for reporting.
 +
 
 +
* On the galaxy map, the background hexagons now draw earlier in the post processing stack.  So if they fail to draw, then they just mess up the starfield background but not all the stars and such (hopefully).
 +
** Thanks to Badger for inspiring this change.
 +
 
 +
* There is now a Galaxy Camera setting under Personal Settings that lets you hide the background hexagons if you either don't like them or they are glitching out on your specific system.  There's some evidence that they may glitch out and just draw black after a while on at least some linux systems.
 +
** Thanks to Badger and others for inspiring this change.
 +
 
 +
* Generating the data for the intel tab, and for the warning notifications at the top of the screen, can be a rather intensive process depending on how complicated the calculations are and how many ships or structures there are it has to sort through.  We've done a lot to minimize this over the last couple of years, but ultimately there is a cost that is rising to this that we can't stop past a certain point.
 +
** Therefore, to combat this we're now calculating this on a new background thread that runs entirely independently from the main thread, but which double-buffers the data it sends to the main thread so that you don't get flickering data.  Given we have a bunch of pooling and other things going on, it's actually even more complicated than that, but it seems to work well in practice so far, and protects us against any objectives that might be even more CPU-intensive to calculate in the future (that and any warning displays, of course).
 +
** Thanks to Badger for sanity checking this.
 +
 
 +
* Fixed that annoying (but harmless) error in TMPro.MaterialReferenceManager.AddFontAssetInternal.  It was not popping up during the game, but was cluttering game output logs.
 +
 
 +
== Version 0.885 The Audible Bodyguard ==
 +
(Released August 30th, 2019)
 +
 
 +
* Add achievements for how much AIP you can reduce by hacking the superterminal
 +
** Currently untested, like most of the achievements
 +
 
 +
*  When upgrading tech via the Science sidebar menu, the hovertext for a given upgrade now shows the Mark Level Colour for units you already have, and grey for units you don't have
 +
** Previously it was using Green and Red, which wasn't very helpful
 +
 
 +
* Add an expensive hack to destroy an exogalactic wormhole.
 +
** Needs testing and probably some balance work. Requested by Democracy
 +
 
 +
=== Stacking Balance Changes ===
 +
 
 +
* Prevent wasted damage when killing the top unit in a stack. Any extra damage is now passed down to the new top of the stack.
 +
** A quick overview of how Stacking Damage works, for posterity.
 +
*** If I have a shot that does 4K damage to a large stack of max heath 500 ships, but the top ship has only 100 health left, then 100 damage goes into the top ship. 3500 more insta-kills the next 9 ships in the stack, leaving 400 leftover damage.
 +
*** Previously the last 400 damage was wasted. This fix passes the extra 400 damage on to the next unit in the stack, so the top unit would appear with 100 health left.
 +
*** Some weapons have an overkill cap defined in the XML, so they can only insta-kill a certain number of units
 +
*** If this shot was overkill-capped at 3 units then it would happen like this:
 +
*** The first 100 damage goes into killing the top ship. The next 3 ships would also insta-die. We then figure out how much "remainder" damage would be left after the insta-killing (again, 400) so the new top unit in the stack would wind up with 100 health left. The insta-kill cap in this case just means there are 6 extra units in the stack when damage resolves
 +
 
 +
*  Reduce knockback's effectiveness against Stacks. For each 5 stacks, knockback is half as effective. The number of stacks here is a tunable in XML. Otherwise your military command stations could effortlessly keep hundreds and hundreds of stacked units at bay
 +
** Thanks to Zoreiss for the bug report
 +
 
 +
* Give stacks some extra shots so a stacked set of units is more closely similar in power to that many actual units
 +
 
 +
* Stacks with bad status effects (paralysis? Engine stun?) now split down to 3 units instead of 5, and that number is in the XML for easy tuning going forward
 +
** Thanks to Puffin for pointing out that status effects were still too effective against stacks
 +
 
 +
* If a Stack being split has a bad status effect, split unevenly, into a very small stack with the bad status effect and a larger stack ready to continue fighting, rather than into even stacks.
 +
** This should make stacked units more effective fighting against units that apply status effects. Thanks to Puffin for pointing out that status effects were still too effective against stacks
 +
 
 +
* Overkill detection code now takes Stacking into account, so we don't wind up ignoring a stack of 10 units just because the top unit in the stack is low health.
 +
 
 +
* Engineers are no longer allowed to stack
 +
 
 +
=== Praetorian Guard Has Arrived ===
 +
 
 +
* Praetorian Guard is now in the game. The Praetorian Guard is the Bodyguard of the AI overlord. They defend the region right around the AI homeworlds.
 +
* Threat now transfers to the Praetorian Guard when the AI King is under attack.
 +
* If the King is under attack then nearby Guards join the praetorian guard, they don't become Threat
 +
** Previously the AI home planet's defenses would all turn to Threat or Hunter fleet when attacked, so a typical strategy was "Attack the AI homeworld as a feint. Then retreat and wait for all the AI homeworld defensive Guardians to fly off to attack one of your planets. Then attack again". This should no longer work
 +
 
 +
=== ARS tweaks ===
 +
 
 +
* ARSs can no longer be captured, only hacked. This prevents the case of "Player captures ARS but does not hack it yet, AI comes along and blows up ARS", which is not fun.
 +
** Thanks to Democracy for reporting
 +
 
 +
* ARSs can only be hacked by Combat Fleets, not support fleets
 +
** From some discussion on discord
 +
 
 +
* ARSs can't give a fleet more than 5 ship lines
 +
 
 +
* More ship types (both frigate and fleetships) have been made available via ARS. Combat Engineers are also available (rarely) from ARS
 +
 
 +
=== Audio ===
 +
 
 +
* Previously, the audio sources used by the different audio buses in the game had a lot of values just baked in.  And many of them were too low for the "new" (as of a year and a half or more ago) max zoom distance to really be effective.
 +
** Now you can set the spatial_blend (between 0 and 1) directly, and this makes them 2D or 3D or partway between.  3D sounds have a spatial element to them, and attenuate based on distance, as well as letting you hear what direction they're coming from relative to the camera.  Which sounds are spatial versus 2D is unchanged at the moment, but can be changed now.
 +
** The min_distance can now be set, and was previously almost always 1.  Now it's always 500.  This is the distance -- in unity units -- at which a 3D sound is played at max volume before linear attenuation based on distance kicks in at all.
 +
** The max_distance can now be set, and that was previously all over the place, from 1500 to 6000 usually.  Now it's mostly 6000 to 8000 for the 3D sounds (this has no effect on 2D sounds).  This makes for very little distance attenuation, meaning that with headphones on things all sound closer in general, but it also means that you don't get silence during a battle when you're very zoomed out.  Battles thus sound FAR better.
 +
** doppler_level can now be set (between 0 and 5), and all the values are now 0 rather than ever being 1, which they sometimes were before.  This prevents any of the sounds from being choppy as you zoom in and out and the doppler level was trying to kick in and not really doing well when doing so.  It's not an effect you would likely have noticed because the attenuation was too strong before, but we encourage you not to use this feature now that the attenuation feature is fixed.
 +
** Thanks to a variety of people for suggesting things along these lines, including TechSY730, Kahuna, and Mckloshiv.
 +
 
 +
* The volume levels at the lower end of the spectrum, for various audio channels, should now be a lot more reasonable.  If the sensitivity is still not feeling right, we might need to tweak our math a bit more, but this should give you more finesse in an audible range.
 +
** Thanks to TechSY730 and Bobtree for reporting.
 +
 
 +
* A further 11 audio mixing channels from our audio mixer now have their sound effects able to be directly manipulated.
 +
** This makes it so that we can adjust mixing on the fly for things like explosions in combat, the wormhole traversal sounds, etc.
 +
** Right now things may need some adjustment, so if anyone finds some defaults that feel better than what we've now exposed, please let us know!
 +
** Thanks to RocketAssistedPuffin for inspiring this change.
 +
 
 +
* You can actually hear the wormhole traversal sounds, now.
 +
** Some of the other things might be on the loud side, such as combat sound effects in general.  The overall default volume of weapons firing and combat as a whole and so forth have had their relative values adjusted.
 +
** More adjustments may be needed for your setup, or for our general defaults.  Feedback is welcome!
 +
** You can also REALLY hear explosions, now.
 +
** Thanks to Puffin for reporting this one.
 +
 
 +
=== Bugfixes ===
 +
 
 +
* Fix a null reference exception in the AIP History Log
 +
** Prompted by a save game from Zeusalmighty
 +
 
 +
* Warden Fleet and Praetorian Guard do not count as Threat
 +
** Thanks to Puffin for reporting
 +
 
 +
* Patrolling guards now count as 'guards' for the AI LongRangePlanning
 +
 
 +
*  Warden/Hunter now more accurately assess whether they should wait to attack, and will never wait if the king is under attack
 +
 
 +
*  Use the controlling faction (if appropriate) when determining the colour to make planet links, rather than a minor faction with Influence's colour
 +
 
 +
* Fix a bug where the science extraction hack did not work against planets the AI has reconquered
 +
** Thanks to Zoreiss for reporting
 +
 
 +
* Fixed a potential cause of the bug where orders and stance could be lost on ships when a stack was being split or one ship in a stack died.
 +
** Basically in the OnDeath logic we no longer need to clear orders at all.
 +
** Thanks to NRSirLimbo for reporting.
 +
 
 +
* A HUGE amount of rework has been done with how orders are cleared from ships, and also regular move and decollision-move orders have been split out into two types.
 +
** This lets us do things like clear just decollision orders but not other things, and we also no longer have a bunch of things referring to Rally orders, which haven't existed for a while.
 +
** There may well be some bugs relating from this, but hopefully they are now easier to track down because the code is more sensibly-arranged for the current game design.  It's possible that some things were previously working sometimes-but-not-always and will now work never, and that's actually preferable since we can then fix it to work always, once it's found.
 +
** This needs lots of testing, relating to queuing orders and issuing orders of various sorts, and seeing that the AI doesn't do strange things with its own orders, etc, etc, etc.
 +
** It's possible that this fixes the strange decollision logic when you queue a lot of move orders (that worked once upon a time, but has been broken since we revamped a bunch of the game code).
 +
** Thanks to WeaponMaster and RocketAssistedPuffin for reporting.
 +
 
 +
* Decollision-move orders are now explicitly dumped when a ship goes through a wormhole from one planet to another.
 +
** Thanks to WeaponMaster for reporting.
 +
 
 +
* Add some miscellaneous debugging code
 +
 
 +
* Put in a change that seems to make the long-range planning run more reliably on the intervals it is supposed to for factions (AI and otherwise).  There were two different kinds of force-periodicity code styles in place (implemented at different times) that were causing occasional slowdowns to the background threads (in terms of infrequency of them running) even though they are relatively light on the CPU and very-background in nature. This should make the AI and other minor factions seem more responsive to what's going on.
 +
** Seems to improve things for Badger.
 +
 
 +
* Fixed a number of bugs where ships that were transforming, warping out, or stacking were exploding (visually and aurally).  This was often alarming, or just plain confusing, because it seemed like combat was happening or something was wrong, when in fact it was just ships doing their own thing particularly in the case of stacking.
 +
** Thanks to a number of people for reporting this, although I guess not on mantis because I couldn't find any reports with who to credit.
 +
 
 +
=== Balance Tweaks ===
 +
 
 +
* Reduced cost and energy usage of Watchman Frigates.
 +
 
 +
==== AI Types ====
 +
 
 +
* Zombifyer AI now uses its preferred units in Hunter Fleet, Warden Fleet, CPA, Reconquest and Wormhole Invasion.
 +
** Also fixed it having the same Turrets as the Sniper AI.
 +
 
 +
* Ghost AI now uses its preferred units in Hunter Fleet, Warden Fleet, CPA, Reconquest, and Wormhole Invasion.
 +
** Also gave it a seemingly unused group for CloakingHeavyWaves for...well, waves.
 +
 
 +
* Fixed the Sledgehammer AI having that CloakingHeavyWave group. Turns out it was used after all...if in an odd place.
 +
 
 +
* Thief AI now uses its preferred units in CPA, Reconquest and Wormhole Invasion.
 +
 
 +
* Renamed Despiser of Forcefields to Shield Hater, as that's what the internal name is, and also what its achievement is referring.
 +
 
 +
* Removed the ExtraDamageDealingStrikecraft AI ship group.
 +
** This contained only Veteran Snipers, which should be Sniper AI exclusive anyhow, and all the Vicious type units, which should be exclusive to the Vicious Raider AI.
 +
** Both of those units won't show anywhere else actually, except those AIs. For player Fleets, you can still get some of the Vicious stuff.
 +
 
 +
* Vicious Raider now actually has Vicious Raider units, as well as all the other already existing Vicious types, bundled in a single group and fairly common for it.
 +
** Whenever a Raider, Vampire Claw, etc that has a Vicious version would appear, for this AI instead it'll be said Vicious one, since it feels kind of weird for it to have both normal and upgraded variants like that (although other sources like Astro Trains will give the normal ones).
 +
** Oh, and it's actually selectable again in the lobby.
 +
 
 +
* Sniper AI now uses the Veteran Sniper, and has a new Veteran Sentinel Gunboat (uh oh). Also uses the sniper ship groups more (even more uh oh).
 +
 
 +
* Ensnarer now actually uses more tractor units, and like the Vicious Raider, uses its own upgraded version of the Etherjet instead of the normal one where it appears (and no other AI gets it).
 +
 
 +
== Version 0.884 The Helping Hat ==
 +
(Released August 26th, 2019)
 +
 
 +
* Added colorization to the text of the buttons in the in-game escape menu to make it less overwhelming.
 +
** Resume is now a light blue, How to Play is now a vibrant green so people notice that, Debug Menu is now a dully gray so it's less intrusive, and Quit Game and Exit to Desktop are now light orange and red so that they are no longer so mixed up in the list of everything else.
 +
** Overall this should hopefully help people miss things less frequently in this menu, most-particularly the "how to play" bit.
 +
** Thanks to Badger for suggesting.
 +
 
 +
* A new Hacking section has been added to the How to Play part of the game, and it has four topics: Basic, Getting More Points, Closest Hacker Gets The Reward, and The Three Styles.
 +
** Thanks to Badger for suggesting!
 +
 
 +
=== AI Improvements ===
 +
 
 +
*  Tweak hunter/warden logic to allow those fleets to camp on planets adjacent to the target instead of just diving straight in. This should make it harder for units to trickle in slowly and just die piecemeal.
 +
** I expect this logic to require additional changes down the road.
 +
** The problem was pointed out by Zoreiss who provided an invaluable save game for testing.
 +
 
 +
=== Bugfixes ===
 +
 
 +
* Fix a bug where waves weren't spawning units
 +
** Reported by several people, including Starkelp and the Puffin of Grand Velocity
 +
 
 +
* Make sure a unit's stance (eg FRD) is sticky across decollision
 +
** Reported by a lot of people, including mr. dave (Mantis), Hamendar, NihilRex, spleenshark, and minetime43 (steam) and various folks on discord as well
 +
 
 +
* Fixed some bugs where decollision was causing units to do weird stuff; either overshooting or undershooting their destinations
 +
** Thanks to Puffin for reporting.
 +
 
 +
* Fixed a bug where stacked units would be unselected when one of them was killed and the stack thus got smaller.  Have not tested this yet, but should work.
 +
** Thanks to Puffin for reporting, and Badger for finding the problematic code area.
 +
 
 +
* When the Dyson Sphere or Nanocaust cause NormalPlanetNastyPicks on their planet to die in the early game (or whenever, really), it should no longer charge you AIP or have any other on-death negative effects.  Needs to be tested, though.
 +
** Thanks to Puffin for reporting.
 +
 
 +
* Non-player ships that are headed toward a wormhole will never decollide now, no matter what their distance from the wormhole is.
 +
 
 +
* Fixed an oversight (very old logic mixed with new logic) where stacks of ships could not get into transports.  Needs to be tested.
 +
** Thanks to Zoreiss and NRSirLimbo for reporting, and Badger for finding the solution.
 +
 
 +
* AI guardians and dire guardians are now allowed to stack, which also means that other things like nanocaust ships (which are flagged as such) are now also able to stack.  This gives a pretty major performance boost in some games that were previously bogged down because of a ton of those sorts of ships that were not stacking.
 +
** Thanks to Puffin for finding this one!
 +
 
 +
* Added SmallShipNotStackable and LargeShipNotStackable, which don't have the other AIGuardian logic or flags, but which prevent stacking of them.
 +
** Currently applied LargeShipNotStackable to: dark spire ships (is this needed?), dyson ships (is this needed?), macrophage harvesters (is this needed?), nanocaust ships (this is needed, for now at least, to not let them stack across different spawners).
 +
** Thanks to Badger for reporting the problems that the change to AI Guardians stacking logic could cause with some of the other factions.  This makes the performance worse (for now) with the nanocaust again, but it does make it so that guardians are stackable.
 +
 
 +
* Added SmallShipYesStacks and LargeShipYesStacks, which are like their non-stacking variants but do stack.
 +
** Now applied LargeShipYesStacks to: dark spire ships and dyson ships.
 +
** Macrophage ships are not supposed to stack, and are rare enough that they don't even need to.  Nanocaust stuff will be dealt with later on, made to stack but only with extra conditionality.
 +
** Thanks to Badger for clarifying the needs here.
 +
 
 +
* Hold fire mode, stop-to-shoot mode, group move, and the preferred targeting type now get copied over to replacement entities in many more cases (hopefully all of them): things like a stack splitting, one ship from a stack dying, ships respawning from a regenerator, etc.
 +
** The one exception is the hold-fire mode for ships that are coming out of a flagship (transport or otherwise) or being spawned at a flagship; those don't inherit the hold-fire mode.
 +
** Needs testing.
 +
** Thanks to Zoreiss for reporting.
 +
 
 +
* When ships are being ordered to load into a transport, they now should ignore the stop-to-shoot mode just like they ignore pursuit mode.  Needs testing.
 +
** Thanks to Zoreiss for reporting.
 +
 
 +
* Make sure ARSs can only be successfully hacked once. Being able to grant bonus ships to all of your fleets would be much too strong
 +
** Puffin noticed that you could hack repeatedly
 +
 
 +
=== Balance Tweaks ===
 +
 
 +
* Greatly decreased Warp Gate durability.
 +
 
 +
* Increased durability of AI Command Station to match that of the Reconquest variant.
 +
** Oddity.
 +
 
 +
* Decreased durability of Data Centers, Coprocessors, and Communication Nodes.
 +
 
 +
* Super Fortress is now Mark 7.
 +
** Thanks to zeusalmighty for suggesting.
 +
 
 +
* Fixed Agile Transport Flagship not being faster than normal.
 +
 
 +
* Sentinel Gunboat and Ranger tachyon range increased a bit.
 +
 
 +
* Astro Trains are now shown on the galaxy map.
 +
 
 +
==== Starting Fleets ====
 +
 
 +
* Cloaked starting Fleet now has 80 Gunbots, up from 30.
 +
 
 +
* Raid starting Fleet now has 80 Turbo Stingrays, up from 30.
 +
 
 +
* Parasitic starting Fleet now has 4 Muggers, down from 8.
 +
 
 +
== Version 0.882-0.883 Research and Reconquest ==
 +
(Released August 20th, 2019)
 +
 
 +
* Add a "Autobuild Factories" setting, to go with Autobuild Energy Collectors
 +
** Suggested by PokerChen
 +
 
 +
* Added Magnifiers and Alarm Posts back in, thanks to the new shiny icons.
 +
 
 +
* Updated the Facepunch Steamworks library to the very latest version, which has been heavily reworked in the last few months.
 +
** This should now function properly on OSX and Linux, although we've not directly tested this yet.  It does work on windows, we know for sure.
 +
** On osx and linux, our hope is that even if it throws some sort of error while starting up, it will now properly show the main menu ships-flying background (not the main menu on a blank space background), and just more gracefully say that you didn't log in successfully for whatever reason.
 +
 
 +
=== UI Improvements ===
 +
 
 +
* Slight improvement to the GCA hovertext and science type hovertext
 +
 
 +
* Add an Objective for hacking the Dark Spire to get a ship type. Hopefully this will encourage players to note the other hacking options available for the Dark Spire as well.
 +
 
 +
* 75 new ship icons have been added to the game, only 4 of which are actually going into immediate use (ARS, GCA, Faction Beacons, and Zenith Matter Converters).
 +
** The other 71 icons are for modders, us as devs -- whoever -- to be able to choose from and use in the future as needed.  They fit with the feel of the game but can be used later as needed.
 +
** Whenever people were adding new ships they usually had to reuse icons, previously, but now they should have much more flexibility.  This brings the total number of icons up to 221, not counting flair modifiers.
 +
** If you want to browse them for choosing, look in /AIW2ModdingAndGUI/Assets/Icons/OfficialGUI/GUIShipsWhite.  Then just use the term Official/WhateverTheFilenameIs.
 +
 
 +
=== Get New Ship Lines: Advanced Research Stations Return! ===
 +
 
 +
*  Add Advanced Research Stations to the game. Each of these gets a Frigate or Strikecraft type; hacking the ARS grants that ship line to the hacking flagship.
 +
** The number seeded in the galaxy is tunable in the game lobby.
 +
** Cancelling this hack does not destroy the ARS (so that if you start with the wrong flagship you can cancel w/o penalty)
 +
** Note these will only appear in new games.
 +
 
 +
=== Balance ===
 +
 
 +
* Nerf the amount of energy the Dark Spire gets from killing anti-AI zombies.
 +
**  RockyBst's report: Dark spire gets stuck in a feedback loop. Spire ships move to human planets, get zombified, move back to spire worlds and die spawning more spire ships, move to human planets, get zombified... Within an hour a 3,000 strength strong wave of spire rolls over the human homeworld. Catastrophe indeed.
 +
** This should no longer be possible
 +
 
 +
* Hacking a specific target (like an ARS) is now done by the flagship closest to the target. This gives players better control over which flagship should be used.
 +
 
 +
* Hacking disables the cloaking system on the Flagship in question
 +
** This was mentioned as something that made the game easy by RockyBst. Some additional balance work may be needed here, if disabling cloaking entirely isn't desirable.
 +
 
 +
==== Reconquest Improvements ====
 +
 
 +
*  When the AI reconquers a planet, its Guard Posts will 'Warp In' over the next 10 minutes, each bringing with it a small company of guardians.
 +
** It was frustrating (particularly on high-mark planets) for the AI to instantly get hundreds of strength of defenses on a planet after reconquering. This now gives you a window to counterattack and destroy the helpless Warping In guard posts
 +
 
 +
* Fix a bug where reconquest waves were using the Strength of a Usurper instead of the AICostToPurchase when spending its budget
 +
 
 +
=== Bugfixes ===
 +
 
 +
* Put in a new destroy_on_load_if_more_than_this_number_on_planet xml flag that is used on the various guardians and eyes that can transform into other types, and set it to generally be around 10 for them, at least for now.  In savegames where there were 27000 or similar of these, it now strips those down on load.
 +
** This is obviously just a band-aid in the main, but it's a useful tool for fixing existing savegames if nothing else.
 +
** Thanks to Ribald for reporting.
 +
 
 +
* Put in a change that should make sure that units that are transforming, or being killed because of being hacked, or things along those lines, should definitely always get removed at the end of the frame when they are told to despawn.
 +
** There's not a huge amount of evidence for this functioning properly yet, but it seems to in preliminary testing.  Basically if you are playing and start seeing way too many temperamental guardians again, then this is probably not working as well as we hoped.
 +
** Thanks to Ribald for reporting.
 +
 
 +
* CPAs now use AICostToPurchase instead of Strength when calculating how many units to spawn
 +
** This is a significant buff to CPA strength. This bug was noticed due to some comments from zharmad.
 +
 
 +
* For ships with more than one order queued up, you can now see the types of all the orders if you are viewing the non-abbreviated version of the tooltip for that ship.
 +
 
 +
* Fixed a likely bug that was causing some AI movement orders to get queued up like crazy on ships, which was probably not the best for performance.  If you have any issues with queuing orders or giving orders while a ship is rallying to the transport or whatever, please let us know with steps to repro.
 +
 
 +
* Fixed several bugs where move commands could be set to the far lower left corner, particularly on decollision logic or assist logic.
 +
 
 +
* In the escape menu, you can now see a list of how many of each gamecommandtype has been issued, and watch those count up as more are issued.  This is helpful for knowing when a background thread is spamming the network/game-sim in general.
 +
 
 +
* Special faction logic is no longer run while the game is paused.
 +
 
 +
* Fixed a nullref exception in Helper_SendThreatOnRaid.  We're actually really surprised this wasn't coming up in more savegames.
 +
 
 +
* Fixed a bug that was causing temperamental guardians to duplicate themselves many times over, but also probably was causing some other issues.
 +
** Essentially it was possible for the DoEntitySecondLogic logic to run even on entities that were scheduled to be removed because they were dead or had just transformed, etc.  This is no longer possible.
 +
** But also we now ensure that entities are properly processed into being removed even when the planet they are on is in the tier 2 or tier 3 battle status.  The introduction of these had caused a delay in removal that was leading to this problem, so we fixed it from both ends.
 +
** Thanks to Badger for discovering the root of this.
 +
 
 +
* Added a new Mat.DistanceBetweenPointsSIMD( ArcenPoint P1, ArcenPoint P2 ) method, which uses hardware-accelerated floating point math to get a distance between two points.  This won't be quite sim-perfect, but given our correction algorithms that are planned the slight drift should be ok.  And this does seem to be faster than Mat.ApproxDistanceBetweenPointsFast( ArcenPoint P1, ArcenPoint P2, Int32 ShortcutsBeyond ) in at least some cases.
 +
 
 +
* We had an old method called FastGetIsPointOutsideGravWell(), and that was very frequently not noticing some places where ships could be placed out of the gravity well.  Mainly to the southeast for some reason?
 +
** We're now using a replacement method, GetIsPointOutsideGravWell_SlowButCorrect(), which is using DistanceBetweenPointsSIMD to try to offset the slowness at least some.  This keeps all the ships actually in the gravity well.
 +
** Thanks to zeusalmighty for the report that led to this discovery.
 +
 
 +
* On load of savegames, there's now a new FixAnyShipsOutsideOfGravWells_OnLoadOnly() method that is run that brings any ships that were erroneously outside the gravity well back into the gravity well.
 +
** Thanks to zeusalmighty for reporting.
 +
 
 +
=== Performance Work ===
 +
 
 +
* Put in a performance improvement to when there are really huge numbers of units on background planets; it now calculates their system status enabled/disabled stuff on frames that are being run if it's coarse-running them.  Overall this is a much smaller part of the main-thread sim, now.
 +
 
 +
* Started building out some performance-logging code that works kind of like a built-in simplistic profiler.  It has less power than a true profiler, but vastly better performance and is something we can run more or less all the time so long as we're careful how we do it.
 +
** Right-clicking the time/paused button at the bottom of the screen now gives you that output.  This is useful for savegames that are running slow for some reason, for us to be able to see where the load is.  We do need to put in more granularity on that before we truly get fully useful data out of this, but it's a start and it has helped us find a few things.
 +
 
 +
* Put in a lot more usability features with our new built-in profiling.  It now splits out the profiling between nonsim, sim, and background threads.
 +
** This is something a regular profiler could never do, really, because those are too generalized anyway.  At this point we can see how each of those three areas relate to each other, and to their constituent parts.
 +
** It's still not remotely clear why the sim is running very slowly in some specific late-game savegames (other than that there are a lot of ships in those savegames), but we're making some progress. Since the general framerate stays up, it's probably a matter of it waiting on background threads, or the sim steps having some sort of timing issue.  That's part of what this profiling is for figuring out.
 +
** On the plus side, this does accentuate some areas where we recalculate certain UI elements WAY more frequently than needed; that's not causing the slowdowns we're seeing, but hey it should be easy to optimize in the coming days and will have some savings on people's CPUs.
 +
 
 +
* Put in several optimizations that reduce the total tick count used by the UI to about a third of what it previously was (and now only about twice what the sim tick count is).  Interestingly, this doesn't help our sim speed at all in most cases; we had thought that perhaps there was a contention issue with frame spacing causing timing issues with the sim.  Looks like that's not the case, but a bit less load from the UI is certainly welcome in any case.
 +
 
 +
* The ships sidebar ui is still lighter-weight than it was before, but some of the centralized code that was helping all of the ui be a bit lighter was causing a feel of lag in the tooltips even after we fixed things like tooltip flickering.  So we're just going with the kind of middle-ground savings of ticks.
 +
 
 +
* More investigation into the performance drops in certain circumstances. Curiously, there are some savegames which register 10x more ticks in the sim and simbg threads, and they run at perfect speed while these other games are running at 10% speed.
 +
** We added a lot more instrumentation in, and then tested turning that off to see if the instrumentation was slowing things down, and there was no appreciable difference.
 +
** We also added a number of small speed additions like making Gamecommands serialize more efficiently, not allowing the LookupSwaps to slow things down, and so on. None of this was really terribly effective in the short term with the problem saves, but it's stuff that is helpful to have in general.
 +
 
 +
* The code timings window now properly includes the long-range-planning in the "MAIN SIMBG" category.  Technically it's not actually part of that group, but close enough for now.
 +
** The findings for this show that these are extremely low load, which is what we had thought for a while, but some recent savegames were making us wonder.  But the truth is these are absolutely trivial in size, which is good and the idea.
 +
 
 +
* Additionally, the code timings window now lists how long each faction's long-range planning thread took the most recent time, which as you can see is slowly updated over quite a bit of time.  The times are absurdly low and efficient even in very slow savegames at the moment.
 +
 
 +
* Fixed an issue where some threads, particularly the long-range-planning ones, were lingering for 30 seconds and then dying while in a combo state of Background,WaitSleepJoin.
 +
** We're now detecting the WaitSleepJoin status and considering those threads terminated when they enter it.
 +
** This prevents us from using Thread.Sleep(ms) on background threads, since those would also get picked up by the above, but we haven't been using that and don't need to anyway.  What seems to have been happening is that the threads are in Join status, and we needed to notice more quickly that they were gone without having aborted themselves.
 +
** The short of it is that this fixes some rampant "Thread 'specialFactionContext_4_AntiAIZombie' is in state Background, WaitSleepJoin after 30 seconds, so killing it now." style errors.  These were happening for loads of threads that were barely doing 20ms worth of work, but then hanging around for 30s.
 +
** This doesn't really seem to help performance, but it should help AI responsiveness and should also help correctness.  It's possible that this was mainly happening in the unity editor instead of the main game executable, but either way it's good to have fixed.
 +
 
 +
==== Decollision Frame-Splitting ====
 +
 
 +
* The number of decollisions that have been scheduled and executed are both now shown in the escape menu.
 +
** This has the side effect of roughly showing how slow it sometimes is to run decollisions (depending on the load of your computer this could be more than 30 seconds for one iteration, which then gets you into ThreadAbortExceptions).
 +
** The number of those which are scheduled versus run is typically higher because they get stale if things run too long (ships die, move between planets, etc).
 +
 
 +
* The decollisions thread is now split out over time like the target list planning thread is.  It's only allowed to check 1000 ships per cycle, and only give 500 decollision orders at a time, now.  With this, we took out the restriction on checking on planets that are tier 3, at least for now.
 +
** In some of our prime test games that run slowly, this process now takes 39 seconds to complete (but split up more over time, which is good for not bogging things down), and so this definitely explains why some people would have been getting ThreadAbortExceptions before when it was trying to run this whole thing in one cycle no matter what; longer than 30 seconds for one thread cycle, even on a long-running thread, and it's going to assume it hung and needs to be killed.  It's meant to time-slice like this to avoid running anywhere close to 30 seconds, normally.  Now each of these is probably a second or two, max, on a background thread per cycle.
 +
** This doesn't really improve overall performance in the bad cases, but it does help reduce the size of the decollision GameCommands being issued in all cases, which is good, and it also really reduces the number of stale decollisions in the slow savegames, since they are executed much more closely to their calculation time.
 +
** All the data for this is also now shown in the escape menu.
 +
 
 +
==== Stacks of Player Units ====
 +
 
 +
* For the stacks that NPCs use, the minimum has dropped to 6 from 10, and the max to 200 from 1000, and the default to 50 from 75.
 +
** In late-game situations, this helps to keep performance a bit better.
 +
 
 +
* Players now also get stacks, but theirs are fleet-based as well as planet-based, and their default is 30 out of a range from 6 to 90.
 +
** This range is a lot lower because of how these are broken up by fleet; but at any rate, they VASTLY improve the performance of a lot of late-game savegames where players get stupidly-high numbers of ships.  Now you can have those stupid-high numbers as much as you want, without it eating your simulation speed.
 +
** This literally can take performance from 10% in some of our test games, all the way up to full speed.
 +
** This also fixed the decollision cycle time from being 39 seconds in one test case to instead being 2 seconds.  Wowzers.
 +
** Thanks to zharmad for suggesting.
 +
 
 +
* To prevent spam of decollision instructions (which now have their own separate gamecommand for easy identification), we now throttle these to only allow them to decollide a specific ship every 5 seconds, or 15 seconds if on a tier 3 planet.  This gives ships time to actually move before getting new orders, and brings the decollision logic down to taking under 1 second where it took 39 seconds before.
 +
 
 +
* The count of units present now includes those that are stacked, and transported units can now transport stacks as well.
 +
** We also put in some performance precaching work on these to calculate these things on the fleets where it is relevant, and only on those fleets.  Performance is still suffering since adding this in, however, so we're having to look at that.
 +
 
 +
== Version 0.881 AI Neighborhood Watch ==
 +
(Released August 12th, 2019)
 +
 
 +
=== Interface Improvements ===
 +
 
 +
* Clicking on the Threat portion of the resource bar will give a popup window listing all of the planets with threat
 +
** Requested by Puffin.
 +
 
 +
* Improvements to AIP, threat and science resource bar clickable popups.
 +
** Add colour and change formatting to make things more readable.
 +
 
 +
* Hovering a Wave notification now highlights the target planet. Clicking on the wave notification now centers you on that planet (if you were in the galaxy view), or jumps you to that planet (if you were in the planet view)
 +
** Suggested by zharmad.
 +
 
 +
=== Balance ===
 +
 
 +
* Allow the Warden Fleet to purchase Golems.
 +
** Only for high Warden Difficulty settings and AIP, like how the Hunter Fleet picks up Dire Guardians.
 +
 
 +
* Rework the way planet Mark Levels are set at game start time
 +
** The game now properly supports having multiple players/AIs in it when assigning mark levels
 +
** Mark VII and VI planets are now only near AI homeworlds, instead of having tons of them at random on the map
 +
** Always make sure that a player has at least 2 mark 1 planets nearby.
 +
 
 +
* Fix a bug with marauders where they would suicide onto neutral worlds without paying attention to whether there were strong enemy forces on it. Slight buff to Marauder income.
 +
 
 +
* Slight buffs to DS Vengeance Strikes on untouched VGs (those with really low conversion ratios.)
 +
 
 +
=== Bugfixes ===
 +
 
 +
* Fix a bug where moving from units from the planet you are watching to a planet without any player units on it was causing units to warp across the map
 +
** Thanks to weaponmaster and zharmad for reporting.
 +
 
 +
* Fix a divide by zero exception when doing Ion Cannon hacking.
 +
 
 +
* Don't let players build structures that would put them in negative energy. Otherwise you can inadvertently turn off your force fields trying to build turrets.
 +
 
 +
* Fix a bug in planet hovertext where it wasn't correctly identifying the allied faction colour for showing strength on planets.
 +
 
 +
* Don't count Dark Spire units as Threat
 +
 
 +
* Add some additional debugging for tracking Threat and for printing out game entities more efficiently
 +
 
 +
* Fixed several possible nullref exceptions in the wave notifications (that were rare, but at least possible).
 +
** Thanks to BadgerBadger for reporting.
 +
 
 +
* Put in some extra instrumentation that should help us know what is going on with the "late game frame freezes" that a few people reported. 
 +
** Thanks to NRSirLimbo, zharmad, and BadgerBadger for reporting.
 +
 
 +
* A new keybind (defaulting to F5) has been added to the Debug section: Dump Info From UI
 +
** Dump all of the info about currrently-displayed UI windows, and anything to do with why textboxes might be blocked as well, both to the log and to a popup window.
 +
** This gives a bunch of info that we should have made dump-able years ago, sigh -- why we didn't think of it, who knows!  But if you're having trouble with a textbox not taking input, or part of the screen being non-clickable, or part of the screen being obscured with a big black background, then please hit F5 and send us the results that it puts into the ArcenDebugLog.txt in your PlayerData folder.  It also will show you visually what is happening in a nicely-formatted fashion, so you might figure it out as you're even sending it to us what is wrong, who knows.  Either way works for us!
 +
** Thanks to Badger for suggesting this, and the report of the black box area; and also thanks to zharmad for what is probably the same report in a different and earlier manifestation (or just two unfortunately similar issues).
 +
 
 +
* Fix a bug where the 'capture a few planets early' objective was always visible. Also improve that objective tooltip to suggest a player capture a few Fleets or GCAs explicitly.
 +
 
 +
== Version 0.880 Belatedly Finding Friends... And Enemies ==
 +
(Released August 9th, 2019)
 +
 
 +
=== Quality of Life Improvements ===
 +
 
 +
* Consolidate the Superterminal AIP log entries so they don't clutter things excessively
 +
** Thanks to zharmad for the bug report
 +
 
 +
* Allow the AIP log to track the AIP floor, since otherwise the AIP log could wind up reporting numbers below the AIP floor if you'd done a ton of AIP reduction, which was confusing.
 +
** Note this will only be visible for AIP changes in new games or things that happen with this patch installed. Old events will keep the old behaviour
 +
** Prompted by a save game from zharmad
 +
 
 +
* Neutral planets under the influence of a minor faction now appear as the colour of that minor faction, not neutral grey
 +
** Thanks to Zharmad for the suggestion, and props to Zharmad for lots of good bug reports and suggestions that appear in this release!
 +
 
 +
* Fixed a confusing thing where you had to have the fleet selected as-a-fleet in order for transport loading and unloading to happen.  This meant that things like hitting the "m" key to select all mobile combat units, or even drag-selecting to select a variety of ships, would not let them load and unload anymore.
 +
** Now as long as the flagship is selected, then it will work to initiate loading and unloading; still selecting a fleet as-a-fleet will work fine, but also just selecting the flagship-as-a-ship works.
 +
** Thanks to Zoreiss and Sigmar213 for reporting the confusion here.
 +
 
 +
*  Each Hunter/Warden fleet is restricted to only purchasing units available to its AI type
 +
** This will promote diversity among the various Hunter/Warden fleets
 +
 
 +
*  Allow the hunter fleet to purchase Dire Guardians.
 +
** Only for high Hunter Difficulty settings (7 or higher) and only at higher AIP levels (300 AIP or higher at difficulty 7)
 +
 
 +
=== Bugfixes ===
 +
 
 +
* Add some additional defensive coding to the decollision planning threads
 +
** Prompted by a save game from zharmad
 +
 
 +
* Fix a null reference exception in the neutral planet science hacking code that was preventing the AIP from updating
 +
** Thanks to zharmad for the bug report
 +
 
 +
* Put in some defensive coding against hostile/friendly checks causing an out of range exception in some cases for things like shots that were dead, etc.
 +
** Thanks to NRSirLimbo for reporting.
 +
 
 +
* Flagships are no longer nesting dolls that create copies of themselves on level up.
 +
** Thanks wm46 for the fix!
 +
 
 +
* Fixes the bug causing bonus units to appear when you upgrade ship tech.
 +
** Thanks Badger and Puffin!
 +
 
 +
* Fix a bug where Exogalactic Strikeforces weren't pressing home their attacks properly
 +
** Thanks to Puffin for reporting
 +
 
 +
* Fix a null reference exception when cancelling hacks
 +
 
 +
* Put in some code that should prevent some of the bouncing around of the background threads reading about metal flows on factions.
 +
** This probably only affected the UI and we were already buffering to avoid that being an issue, but just in case this is now fixed here, too.
 +
 
 +
* Fixed an issue where the minimum number of planets to explore were often not being enforced properly on maps with a lot of choke points, or on snake maps in particular.  It was making those maps have to be explored a single planet at a time, which of course is insanely hard to do.
 +
** Thanks to zharmad for reporting and for the savegame to repro.
 +
 
 +
* Fixed a super longstanding bug where if you had an exception on map load (for instance during a quickstart starting), then it would not just give you the initial error, but would also corrupt all the icons on the sidebar and will give you infinite endless popups of error messages relating to the planet and/or entity hover boxes.
 +
 
 +
* Fixed a bug where if you tried to create new quick starts, the game would give you three copies of the same main fleet rather than properly giving you the correct support fleet and battlestation to start out with in addition to the main fleet.
 +
** Thanks to Nyteblade and RocketAssistedPuffin for reporting.
 +
 
 +
=== Performance Boost: Coarse-Processing of BG Planets ===
 +
 
 +
* Added a new setting to the Performance section of the galaxy map: "Advanced: Coarse-Process BG Planets"
 +
** Unless you are having a problem with the simulation for some reason, this should be left on.  This makes background planets take up far less processing than they otherwise would, particularly when a bunch of third party factions are battling and you can't even see.
 +
 
 +
* When the coarse-processing is on, then planets are divided into three tiers:
 +
** Tier 1 planets have a player looking at them or at least at them, and they work like normal.
 +
** Tier 2 planets have player ships at them but no player there.
 +
** Tier 3 planets have no player or player ships there.
 +
** Tier 2 and 3 planets both skip creating shots for any shots that are headed to any non-player ships, and just have them insta-hit.  Same for AOE damage, etc.  This is the number one performance-improver out of all this.
 +
** Tier 3 planets use very cheap square ranges instead of the usual circular ranges for everything from ships to gravity effects to collisions, which saves some processing power during big battles between unseen background factions in particular.
 +
** Tier 2 and 3 planets ony run updates every 10 sim steps, rather than every sim step, but act like they are on 10x speed for the sim steps they are on.  All those planets are batched so that 1/10th of the planets get processed every sim step.
 +
** The overall savings on one of our test case games was to improve performance from 31% to 68% or more.
 +
*** It really seems like we ought to be able to get these numbers even higher, but we're not sure just at this moment exactly what is sucking up the performance.  Anyone who wants to pick at this and use more of the planet.BattleStatus_ProcessThisSimStep logic on non-long-term-threads and non-per-second methods is definitely welcome to look at it.
 +
*** We also wanted to go ahead and get this in place sooner than later not just so that people can see the performance benefits immediately, but also so that if there are bugs resulting from this we have time to fix those.
 +
 
 +
* A bunch of the shot-hitting logic, AOE logic, and related have been moved into the open-source parts of the game.
 +
 
 +
* The escape menu now shows the counts of tier 1, 2, and 3 planets, the number of shots that have hit (since game load), and the number of entities that have died (also since game load).
 +
** This way you can get a sense for how things are progressing in the background if things are slow, for instance; and to be sure that shots are actually hitting and killing things.
 +
 
 +
=== Discoverable Factions ===
 +
 
 +
*  Some factions are now Discoverable in the game. This means that if the player doesn't explicitly request this minor faction in the game lobby, a unique structure for that faction will be seeded in the game and hacking/destroying that structure will cause them to become active.
 +
** So if the player requests the Marauders, they get the Marauders. If they don't request Marauders then they'll get a Marauder Structure seeded on the map, and destroying that structure will enable the Marauders.
 +
** Currently the Devourer, Nanocaust, Human Resistance Fighters and Marauders are available this way
 +
 
 +
=== Balance Tweaks ===
 +
 
 +
* AI purchases from the Zenith Trader no longer give AIP
 +
** Thanks to Democracy for the suggestion.
 +
 
 +
==== Mercenaries ====
 +
 
 +
* Changed a few of the named character Mercenaries to actually have varying units:
 +
** Lobar the Wolf now spawns a mix of Heavy Fusion Bombers and Vanguards.
 +
** Arnaud de Cervole now spawns a group of Aggressors and Paralysers.
 +
** Hereward the Wake now spawns a group of Velociraptors.
 +
** Xenophon now spawns Porcupines and MLRS Corvettes.
 +
 
 +
* Xenophon is back to using the WarpOutAfterBattle behaviour. In addition, he can be hired twice as much.
 +
 
 +
==== Hacking ====
 +
 
 +
* Hacking Response strength increased 50% on Diff >= 6.
 +
 
 +
* Swapped the primary and secondary hack interval and response of the Super Terminal.
 +
** Now it starts to get stronger at a much faster rate, and should be a more significant challenge.
 +
 
 +
* The Superterminal hack now comes with periodic exogalactic strikeforces, to make it harder to fleetball everything on the superterminal planet
 +
 
 +
== Version 0.879 Many Fixes and the Tutorial Rework Starts ==
 +
(Released August 7th, 2019)
 +
 
 +
* The swap ship line interface now shows you how many ships are in the cap of each line you might be trading.  This way you can more easily see the actual relative powers of ships with the same line type, for instance, but different caps.
 +
** Thanks to AnnoyingOrange for suggesting.
 +
 
 +
=== Balance ===
 +
 
 +
* The "Officer Fleets" with the Arks and Golems should now generally be 3-5 planets away from the AI homeworlds, rather than directly adjacent to the AI homeworlds frequently like they were before.
 +
** There are still very very few of them, and if they feel like an afterthought then we really need to pump them up in terms of power. But they're expensive and far away so that they can be late-game ringers for you, exciting last conquests, essentially.
 +
** Thanks to AnnoyingOrange for reporting.
 +
 
 +
* The "multiplied_frigate_ship_cap_for_mobile" and "multiplied_strikecraft_ship_cap_for_mobile" have been removed, as these were things that caused the number of ships to be increased at specific centerpieces.
 +
** Prior to us being able to swap units between lines, that was no problem.  But now it's something that was just confusing, and there are better ways to accomplish the equivalent thing.
 +
** For Arks and Golems (officers), having larger fleets isn't really the point anyhow; they should be bigger and scarier on their own, and the fact that their fleets are not really better or worse than other fleets is fine.
 +
*** In the future, we can make it so that they pull from a separate set of fleet designs that have larger caps built in, if we want, and the good thing is that then when there are ship swaps between fleets, the extra ships will transfer properly.  There doesn't seem to be a need for that right now, but the important note is that it's actually possible if  we do feel inclined.
 +
** This change is going to reduce the ship counts on a lot of the fleets, in existing savegames as well.  If this is a problem, then please let us know and we can adjust the seeding count ranges on the fleet designs in order to rectify that.  But in general it MAY be that people were having a few too many strikecraft and such anyhow, and that Golems/Arks are underpowered; we want you to feel inclinded/excited to pick up those officers in the late game, but it may have been that the regular ships were so plentiful that it wasn't really worth it.
 +
** Thanks to zharmad and AnnoyingOrange for reporting.
 +
 
 +
==== Other Tweaks ====
 +
 
 +
* Updated some non-player units to have more relevant metal costs for Metabolization effects.
 +
 
 +
* Plasma Turret and Beam Cannon health increased 50%.
 +
 
 +
* Mercenary Flagships now have radar dampening, like Space Planes and Fortified Tesla units.
 +
 
 +
=== Bugfixes ===
 +
 
 +
* Tweaks to hacker behaviour. A unit doing hacking now can move but cannot go through wormholes. Also unit hovertext now tells you if your unit is hacking. Also fix a bug where cancelling a hack didn't always clear the Active Hack, leading to units believing (incorrectly) that they were still hacking.
 +
** Thanks to zharmad, ArlenTektolnes and linux-tyyppi for bug reports.
 +
 
 +
* Fixed a bug where if you started from a quick start but did not save your game, then it would remember your last saved game as being an invalid path based on the quickstart you chose.
 +
 
 +
* Fixed a bug where transports with orders to attack (aka send unloaded and constructed units to attack) would move to the bottom left of the screen. This affects all ships that can receive attack orders that don't have weapons (currently just the transports).
 +
** Thanks to  Diazo for the report.
 +
 
 +
* Add some defensive code for a null reference exception in the entity hovertext
 +
** Thanks to AnnoyingOrange for reporting.
 +
 
 +
* Previously if there was an exception that happened during the loading of xml data table info, then it would throw an invisible error and just have the interface sit there on the loading timer, never progressing. This led a lot of people to assume the game was frozen, which it kinda-sorta was but it really was still alive but just not in a state where it was showing you info properly or letting you progress.
 +
** Now it finishes loading properly, and then shows you the error message about whatever happened.  You probably shouldn't play the game if this happens, but at least it won't be just invisibly hanging.
 +
** A lot of times you can cause these things if you're messing around with modding things yourself, and so modders were particularly likely to accidentally cause this for themselves if they had a typo or something.
 +
 
 +
* A more CPU-expensive range check is now used for forcefields, which is also more accurate and prevents ships from getting stuck on the edge of them.
 +
** Thanks to trillioneyes, BadgerBadger, and Zoreiss for reporting, and WeaponMaster for fixing it.
 +
 
 +
* Previously it was possible to make trades in such a way that you could indirectly cause two ships of the same line to be in a given fleet.
 +
** This was meant to be disallowed, but we missed a case of it, and as expected it led to all sorts of wonky results.
 +
** Fixed this so that it now shows the disallowed trade items, but in red so you know they are invalid (not just mysteriously missing), and you can click them to get an explanation of why they are invalid.
 +
** Thanks to zharmad for reporting.
 +
 
 +
=== Tutorials ===
 +
 
 +
* Over on the right-hand side of the main menu screen, by the How To Play button, there is now a new Tutorials button.
 +
** Clicking this pops open a categorized selection of tutorials that you can play in order to learn more about the game.
 +
 
 +
* When clicking the tutorials button, it now gives you the message "Tutorials Are Not Ready Yet!", "We're still working on the tutorials, and they're in no way ready to play just yet. There are some tutorials in place, but they're not functional; they're just there so we and any direct testers who want to mess with the new tutorial system can do so.  This message will be removed when the real tutorials are in place."
 +
** Otherwise Chris was just going to keep delaying releasing other features while these were worked on, but that didn't seem like a great idea.
 +
 
 +
* Autosave now works in tutorials, as does auto-building of units.
 +
** Basically we wanted things to be as consistent between tutorials and the main game as possible.
 +
** Tutorials also now save into campaigns that are auto-named based on the tutorial itself.
 +
 
 +
==== Tutorials Framework/Code Rework ====
 +
 
 +
* The old "tutorial scenario" is no longer used, but instead the default scenario that regular games use is in place.
 +
** Same thing with the map seeding logic.
 +
** Generally speaking, we want the game to act the same in the tutorial and in non-tutorial games, and so having certain things just turn off in tutorials is a lot easier to do rather than trying to have a mostly-duplicative branch for tutorials.
 +
 
 +
* The actual methods for generating a tutorial are now really different, and use the new tutorial objects themselves, which are completely configurable via xml.
 +
** These now let us add non-standard factions with custom data as needed, such as a friendly devourer golem or whatever we want.
 +
** It also lets us change the default data on specific factions, or remove factions that are normally there, all by xml.
 +
 
 +
* The normal "try to seed special entities" logic still happens in tutorials, now, but doesn't complain at you if it can't find room to place whatever it is it wants to place.
 +
** Presumably you'll use  a fixed map generation seed and thus always have the same result, and/or you'll (later when we add this ability) define some specific things on specific planets.
 +
 
 +
* The old "external data" used by the tutorial scenario is now gone, and there's something a bit more direct and consistent that is being built into the main game engine itself.  We still have more to do on that before tutorials are fully working again, though.
 +
 
 +
* The map type "Tutorial_01" now reads in special map definition data embedded in the tutorial definitions themselves.
 +
** This lets you set up planet names, a map that is manually defined in any organization you wish, with planets linked as desired, and so on.
 +
 
 +
* It's now possible to define which faction owns each planet in a tutorial galaxy, whether those were auto-created or manually defined.
 +
 
 +
* For Dyson Spheres, if those are granted planets as part of this, they now get full control of those planets (for the moment).  We can always adjust that or make that optional, but it does work and could be handy for now.
 +
** The Dyson Spheres were largely used as a test bed for putting in additional non-default factions that own planets, for the moment.
 +
 
 +
== Version 0.878 Fleet Customization ==
 +
(Released August 3rd, 2019)
 +
 
 +
=== Usability / New Players ===
 +
 
 +
* Added a detailed new "How To Construct Ships and Structures" tip to the Getting Started section of the game tips.
 +
** Thanks to RocketAssistedPuffin for suggesting this.
 +
 
 +
* Added an even-larger new "AI War 2: The Full 101-Level Explanation" tip to the Getting Started section of the game tips.
 +
** Thanks to RocketAssistedPuffin and _Zorbaz for writing this!  If anyone has anything else they think we should add or change, please let us know.
 +
 
 +
* Added a new "How To Scout New Planets" tip to the Getting Started section of the game tips.
 +
** This does seem rather important.
 +
 
 +
=== Ability To Swap Ship Lines Between Fleets ===
 +
 
 +
* The long-awaited ability to swap ship types between mobile fleets has now arrived!
 +
** With this new ability, you can now fully theme your fleets as you like, while still having to work within the constraints of what you find.
 +
** Note that when this ability is invoked, it scraps all of the ships that are being swapped across; this prevents you either from having orphaned ships way across the galaxy that you then have to get to the proper place by hand, OR from having the new ability to teleport ships across the galaxy inappropriately.
 +
** Also please note that you can't swap in more ships of the exact same type that already exist in that fleet.  So you can't have two groups of Raiders in one fleet, for instance.  But you could have Raiders and Daggers (a Raiders variant) in there.
 +
*** While we can see the appeal of having 3x raiders all in one fleet or something like that, it would be programmatically very difficult because you'd wind up losing a slot in the fleet with double-raiders, OR the display would get all funky.
 +
** Thanks to RocketAssistedPuffin and MaxAstro, and a lot of other people as well, really, for suggesting.
 +
 
 +
=== Transport Improvements ===
 +
 
 +
* Fixed a variety of oversights where if you issued things like Load/Unload orders to transports it would only work on the planet you were looking at, and not at all if you were on the galaxy map.  Same with things like changing pursuit mode on and off for selected units, etc.  Now all these things work properly for all the units you have selected, as you would expect.
 +
** Thanks to Yog-Sothoth for reporting.
 +
 
 +
* Transports now have a "loading mode" where everything is trying to load into it, and the things that are part of its fleet will skip all decollision logic even better now during that mode.
 +
** So if a ship is on the way to loading into a transport, you shouldn't see it knock anything out of the way or get knocked out of the way at all anymore, or something is off.
 +
** Thanks to Yog-Sothoth for suggesting.
 +
 
 +
* The explanations for how transports work have been updated to reflect the new mechanics in this build.
 +
 
 +
* When a fleet is in "attempting transport" mode, it now says that in the tooltip for the fleet as well as in the tooltip for the flagship of the fleet.
 +
 
 +
* When you had a fleet in attempting-transport mode, and there were still some ships on the way to the transport to load up, but then you hit unload before those ships get there... now it gives them the same orders that the ships being unloaded are getting.
 +
** Actually, hitting L and then U is now a really quick way to copy all the orders from the flagship to all the ships on a planet in its fleet.
 +
 
 +
* When a fleet is in "attempting transport" mode, then any new ships that would be spawned at the fleet just go into the transport immediately rather than appearing by the flagship.
 +
** This is really useful so you don't leave a trail of constructed ships in your wake of your transport as you fly off to fight an enemy if you've still got some ships constructing as you go.
 +
** Thanks to Yog-Sothoth for suggesting.
 +
 
 +
* In the fleet sidebar popout window, it now doesn't cause ugly line-wrapping when you are transporting ships.  Additionally, it now has an explanation with some tooltips about transporting ships, too.
 +
 
 +
=== Ability to Set Preferred Targets ===
 +
 
 +
* The ability to set "Prefers To Target" types on your ships has been added.
 +
** This is a feature from the original AI War that just never made it into this game.  But basically when you give orders to a ship or group of ships to target an enemy, that ship will then prefer targeting that ship type until you give it a different direct order (movement or attack).
 +
** This has not been extensively tested, but seems to work (it's possible that we may need some additive priority changes rather than multiplicative in some cases, though).  It also does show you the status of the preferred targeting on the interface for ships when you look at them, now.
 +
** Thanks to Zoreiss for suggesting.
 +
 
 +
* When the orders are copied from one ship to another, it now also copies the preferred target type over.
 +
 
 +
=== Balance ===
 +
 
 +
* Snipers are now far more rare on the AI side, in terms of their likelihood of being chosen as a ship type at any given planet.  And all the sniper variants.
 +
 
 +
* Removed Etherjets and Thiefs from the player fleet types (will only affect new savegames).  These are much more interesting in AI hands.
 +
 
 +
* Removed AutoBombs and Nanoswarms from the BasicOffensiveMix, so that they are never part of the general fleets that get rolled.
 +
** These still show up in some specialist fleets, but in general won't be clogging things up for you anymore.
 +
 
 +
* ZPG Rebalance:
 +
** Zenith Power Generators (as they existed before) no longer are purchasable from the Zenith Trader; they can only be found in the wild and captured.
 +
** A new variant of Zenith Power Generators, called Lesser Zenith Power Generators, are now purchasable from the Zenith Trader.  These cost 1m less metal to construct, and produce 100k less energy.  They also have a cap of only 2 per galaxy that you can construct.
 +
*** The purpose of making these a split-out variant is so that the per-galaxy cap doesn't get mixed up between ones you capture and ones you construct.
 +
*** The per-galaxy cap feature is new, and is an xml tag called galaxy_wide_cap_for_players_constructing.
 +
**** Note this has not yet been tested, so if there are problems please do let us know and send a savegame.  But it should work!
 +
** Thanks to Rune and firespier for reporting the exploits you could get up to with ZPGs prior to now.
 +
 
 +
* Tachyon Sentinels are now shot at again by factions.
 +
** This was relevant before Fleets, where these were the main roadblock to the player scouting, but isn't useful anymore and instead just kinda weird.
 +
** Thanks to Democracy for mentioning this.
 +
 
 +
==== Watchman Frigates At All Your Command Stations ====
 +
 
 +
* Added a new "Watchman Frigate" to the station-keepers section of all command station types that players can control.
 +
** Description: Small, fast station-keeping Frigate that aids in cleaning up straggler enemies that might otherwise camp out on your planets or hide just out of range of your turrets.
 +
** Your military and home command stations get 4 of these, logistical gets 3, and economic gets 2.
 +
** Why add these?
 +
*** The only other built-in station-keeping frigates were the Station-Keeping Assault Frigates, and those were never available on economic command stations.
 +
*** The assault frigates are stronger and more expensive, and let your project significant force.
 +
*** The idea of the watchman frigates is that they are cheaper and weaker, but available everywhere; they may be too strong at the moment, but we can adjust those down as needed.
 +
*** The core purpose behind the watchman frigates is to give you a small number of mobile ships on every planet, without you having to move fleets around, so that if a small ship or two gets past your defenses into your inner economic planets, you can defend against them without having to withdraw a fleet or try to play "chase me with turrets."
 +
*** On the one hand you could argue that you need to be better at creating a shell around your economic planets, but frankly making an "annoyance tax" for stray units isn't how we'd really like to enforce that.  The idea of these watchman frigates is to help with the minor cleanup where only a mobile ship will do, and we almost called them "Janitor Frigates" for that reason.  If it's more than the janitor can handle, then hopefully your turrets are in good positions.  If not, then... well, the onus is on you, and/or the AI did a good job of slipping your defenses.
 +
*** The TLDR is that this is supposed to alleviate the annoying case where there's some small set of AI ships just out of reach on a planet of yours, and you need something, anything, that is mobile.  But it's not supposed to be some major combatant or something.
 +
** Thanks to Diazo for suggesting.
 +
 
 +
==== New And Adjusted Player Fleet Designs To Discover ====
 +
 
 +
* Discussion that led to this is here: https://forums.arcengames.com/ai-war-ii-gameplay-ideas/fleet-thoughts/msg221011/#msg221011
 +
 
 +
* The "cloaked mix" player fleet design was never including any frigates, because no frigates were set up as compatible.
 +
** Now there are several different cloaked frigate options, including a new Cloaked Mugger frigate type.
 +
** All of the other player fleet designs (the randomized ones) included potential frigates already, so this was the only one needing that fix.
 +
 
 +
* Added a new "HydraOffensiveMix" themed fleet design for player fleets, with 5 tickets (so quite rare still), and ONLY hydra type ships in it of various sorts, including new Warbird Hydra Frigates.
 +
** Thanks to Diazo for inspiring this addition.
 +
 
 +
* Added a new "ClassicTrioMix" themed fleet design for player fleets, with 10 tickets (so a bit more common), and it ONLY has the old core trio of ship types in it (v-wing, bomber, concussion corvette), but then also gets some interesting frigates to tag along as needed.
 +
** Thanks to Diazo for inspiring this addition.
 +
 
 +
* Added a new "SlowHeavyStrikeMix" themed fleet design for player fleets, with 10 tickets (so a bit more common), and it has no frigates but has more strikecraft types (or just more strikecraft if not more types), and is focused on ships that don't die very fast.  (Vanguard, Pulsar Tank, all-new Heavy Fusion Bomber, all-new Heavy Stingray, all-new Tarantula).
 +
** Thanks to Diazo for inspiring this addition.
 +
 
 +
* Added a new "AntiLargeStrikeMix" themed fleet design for player fleets, with 10 tickets (so a bit more common), and it has no frigates but has more strikecraft types (or just more strikecraft if not more types), and is focused on fighting large opponents.  (Pike Corvette, Porcupine, all-new Parasitic Pike Corvette, Fusion Bomber, Gunbot).
 +
** Thanks to Diazo for inspiring this addition.
 +
 
 +
* Added a new "AntiSmallStrikeMix" themed fleet design for player fleets, with 10 tickets (so a bit more common), and it has no frigates but has more strikecraft types (or just more strikecraft if not more types), and is focused on fighting small opponents.  (Ablative Gatling, Concussion Corvette, Stalker, MLRSCorvette)
 +
** Thanks to Diazo for inspiring this addition.
 +
 
 +
* Added a new "AntiStructureStrikeMix" themed fleet design for player fleets, with 10 tickets (so a bit more common), and it has no frigates but has more strikecraft types (or just more strikecraft if not more types), and is focused on fighting structures.  (Fusion Bomber, Anti-Shield Pulsar Tank, Paralyser, all-new Parasitic Fusion Bomber, all-new Heavy Fusion Bomber).
 +
** Thanks to Diazo for inspiring this addition.
 +
 
 +
* Added a new "CrowdControlStrikeMix" themed fleet design for player fleets, with 10 tickets (so a bit more common), and it has no frigates but has more strikecraft types (or just more strikecraft if not more types), and is focused on fighting large crowds of opponents.  (Zapper, Grenade Launcher Corvette, Harasser, Molotov).
 +
** Thanks to Diazo for inspiring this addition.
 +
 
 +
* Added a new "DebufferMix" themed fleet design for player fleets, with 10 tickets (so a bit more common), with the same ship type distribution as the most common designs, and entirely filled with units using things like knockback, engine stun, and so on (Brawler, Inhibiting Tesla Corvette, Terrier, Barnacle).
 +
 
 +
=== Bugfixes ===
 +
 
 +
* For weapons that bypass enemy shields at least partially, it no longer says "assuming shields are down" if they also have a bonus to hull damage.
 +
** These were two semi-unrelated pieces of text that were combining in the auto-text-generation code on fusion bombers to write something contradictory, incorrect, and confusing.
 +
** Thanks to TechSY730 and DEMOCRACY_DEMOCRACY for reporting.
 +
 
 +
* The selected ships/fleets window on the bottom right corner now shows up even when you have ships selected only on other planets than your current one.
 +
** That not appearing was confusing as heck, and also a legacy accidental piece of code we carried forward from an old selection model.
 +
 
 +
* Fixed a super annoying bug where when you were selecting fleets via hotkeys it could retain part of your old selection of other fleets, or other strange things like that.  It should now just work correctly in all cases.
 +
** Thanks to Zoreiss, Rune, Jaunty Jaun, and uhamster9 for reporting.
 +
 
 +
* Put in new code that fixes issues with scrollable modal popups being pre-scrolled down partway when you are opening a subsequent one.  Aka, you read to the bottom of one long tip, then open a new tip and it starts scrolled down rather than at the top.  That was definitely disorienting!
 +
 
 +
* The pause keybinds now respond to player in put while the modal info windows are open. This is useful in particular during the metal flows screen where you might want to pause the game with it open to stop it from moving around on you.
 +
 
 +
* The self-updating modal window is now able to basically keep showing the last "positive data" for a developer-set amount of time, and only then switch over and show "negative data."
 +
** In practice, we're using this for the metal flows screen so that we only switch over to showing "no metal flows" after a full 2 seconds of no metal flows, and instead show whatever the last metal flows text was.  There is some sort of cross-threading issue that leads to there frequently not being any data to show to the ui for the metal flows for part of each second, and this is okay, but having it constantly flipping over and showing that rather than the data it had just a part of a second ago was... suboptimal to say the least.
 +
** It wasn't actually glitchy before, but it felt like it because it was showing nothing during the updates of data on background threads, or something to that effect.  Now it doesn't feel glitchy and you still get updates as often as needed.
 +
 
 +
* Fixed a bug where the fleet bonus/penalty was rapidly flickering in the UI, as was the number of fleets at a planet.
 +
** This was probably not affecting gameplay, but was definitely annoying.  We're basically just now double-buffering the calculations.
 +
 
 +
* Fixed a couple of bugs that were causing ships to not shoot at targets that had extremely low health, thus leading to invincible units because the overkill code was kicking in improperly.
 +
** Thanks to Zoreiss for reporting the "invincible guard post" issue.
 +
 
 +
* Added a new "Show incoming-shot debug data in unit tooltips" debug option in the personal settings, for seeing shots that are headed to a target.
 +
** Even with the overkill protection logic, there were some orphan shots still apparently hanging around in some way?
 +
 
 +
* Fixed a bug that has been around since who knows when, where AOE attacks that failed to appear visually would never be removed from the sim.
 +
** This could lead to game slowdowns as well as all sorts of other problems (targeting issues, for instance).
 +
** This was likely causing problems when there was a lot of background combat, or combat on planets you were not viewing in general, since they would not even TRY to show up visually and then of course would fail to disappear.
 +
** Who knows how much of a drain this was on the sim in general, but it was also causing some correctness issues.  All fixed now!
 +
** Thanks to Zoreiss for the report that led to this discovery.
 +
 
 +
* When you hack a GCA, then upgrade the granted ships to a higher mark, they now get the bonus ships as intended.
 +
** Thanks wm46!
 +
 
 +
==== Performance Boost From Guard Self-Duplication Fix ====
 +
 
 +
* The game now tries to deploy AI reinforcements in stacks (of up to 100 per stack), rather than as individual units that might then have to be stacked after that.
 +
** This keeps things like warden ninja hideouts from absolutely bogging down the simulation.
 +
** Thanks to Ribald for reporting.
 +
 
 +
* If there are more than 10k units in a single reinforcement point somehow, then it will show an error message and reduce the number of units of that type in that point to be "merely" 10k.
 +
** There were some cases where there were several million units in one stack in the warden ninja guard post, which was definitely an error.  The error popups will probably be annoying, but we want to know and fix these things if they happen.
 +
** The gap of 10k units in there keeps the error message from being absolutely constant in these cases, though.
 +
** Thanks to Ribald for reporting.
 +
 
 +
* The ship counts in the escape menu now include ships that are contained in transports or in guard posts and other reinforcement points.
 +
** The difference in the counts is pretty telling, often tens of thousands or even hundreds of thousands more ships.
 +
** Also in the escape menu, it now shows the number of contained ships, and the number of containers, on the line right below stacks.
 +
** Thanks to Kesseleth and Ribald for helping us discover we needed this.
 +
 
 +
* Fixed a pretty darn severe bug where the ships in the warden fleet (or any other AI guards, really) could multiply like crazy if it tried to put a stack of units into a guard post.
 +
** If there was a stack of 10 units, it would put 10 into the guard post but only destroy 1 of them.  Then the next frame it would put 9 in and destroy 1, etc.
 +
** Most of the time this was not severe enough to notice, but if you were aggroing an AI planet really heavily and it was having ships coming in and out for various reasons, then it could easily get into situations of adding more than 10k ships in under 5 seconds.
 +
** This was probably slowing down the simulations of all sorts of savegames, but mainly those in civil war mode more than anything else.  The stuff that reduces the reinforcement counts will help some, but older savegames are still going to be bloated most likely if they were problematic before.
 +
** This doesn't affect most savegames, but for those that it did affect it's going to be a good idea to just try something less off in its data.  It's unclear how much of a performance problem we'll have with civil war mode on in a fresh savegame with this off.
 +
** Thanks to Kesseleth and Ribald for reports that led to this discovery.
 +
 
 +
== Version 0.877 The Strikecraft Goldilocks Zone ==
 +
(Released July 30th, 2019)
 +
 
 +
=== Bug Fixes ===
 +
 
 +
* If building a command station would cost the player AIP, they get to scout when they pay the AIP price.
 +
** This typically happens if a hostile minor faction took out an AI command station and the player then captures the then-neutral planet
 +
 
 +
* Remove mention of Scouts from the Intel tab
 +
** Reported by Puffin
 +
 
 +
*  Make sure Swirl maps are fully connected
 +
** Reported by Puffin
 +
 
 +
* Prevent shots from flying to the bottom left of the screen when they can't find valid targets
 +
** Reported by a number of people, including Diakon, Ovalcircle, Apthorpe and ptarth
 +
 
 +
* Don't let AI drones join the hunter fleet; they'll just go off planet and die
 +
** Reported by zeusalmighty. This might have already been fixed, but it's Even More Fixed now.
 +
 
 +
* Make invulnerability checks more responsive. This prevents Eyes from sometimes staying invulnerable too long or not becoming invulnerable appropriately.
 +
** Reported by a number of people, including zeusalmighty, democracy and weaponmaster
 +
 
 +
* Fix a bug where hunter/warden fleets were using the old Strength budget mechanism instead of the CostForAIToPurchase mechanism when getting new units. This was causing those fleets to be much weaker than they should be
 +
** Thanks to Democracy for reporting
 +
 
 +
* Remove mention of destroying the ai command station from the Counterattack Notification hovertext
 +
** Thanks to Democracy for reporting
 +
 
 +
* Fix a bug where in civil war mode, the AI could get into a loop spawning endless waves
 +
** The wave spawning code was trying to let hostile AIs share warp gates, but the "Has the warp gate been killed?" code doesn't allow sharing hostile warp gates. So we would schedule a wave, then immediately discover it was invalid and repeat infinitely.
 +
** Thanks to Ovalcircle for reporting
 +
 
 +
* If you have a tip open, the escape key (Or whatever you changed it to) will close the tip. If there is no tip open, it closes the menu entirely.
 +
** Thanks UFO for reporting.
 +
 
 +
* Prevent the Tutorial AI from being an option in the game lobby
 +
** Thanks to Badger and majordomo for the report and Dominus for the fix
 +
 
 +
* Tweak Warden Fleet pathfinding to make it less apt to fly into defended positions
 +
 
 +
* Put in several fixes to deserialization of some semi-older savegames (a month or so old), along with some added debugging outputs in general for savegame loading when there are issues.
 +
 
 +
* Put in some code to fix when the game tries to read an invalid savegame and could get an out of memory exception when trying to read an absurd number of strings because of the malformed savegame.  Now it fails more gracefully and doesn't ask your OS for way too much RAM.
 +
 
 +
* You can now issue attack orders to your weapon-less fleet leaders (aka transports), although it's not yet clear if those will stick around.  The point with this is to be able to queue up attack orders so that ships that come out of the transport (or get spawned at it via a factory) will attack the target assigned to the transport, even though the transport itself won't have anything to attack.  We haven't tested this yet, though, and it probably needs more work.
 +
** Thanks to WeaponMaster for reporting.
 +
 
 +
* Yet more robustness has been built into loading savegames after a weapon or other system has been removed from a ship.  This particular fix is for ships that still had systems (like cloaking), but which had a weapon in the list prior to the cloaking system before.  That was causing savegames to be un-loadable now, but now they'll load fine.
 +
** Thanks to HeartHunter7 and BadgerBadger for reporting.
 +
 
 +
* Fixed an exception that could happen when unselecting units, based on some cross-threading race conditions.
 +
** Thanks to NRSirLimbo for reporting.
 +
 
 +
=== UI Enhancements ===
 +
 
 +
* In the galaxy map, viewing a planet's hover-text info with the 'show full detail' button held will tell you the AIP cost for capturing the planet. This is very handy if minor factions have been taking planets and the AI has been recapturing them....
 +
** Badger has been lusting after this feature ever since he added the nanocaust.
 +
 
 +
* Clicking on the AIP section of the resource bar now brings up a popup with the complete AIP change history
 +
** The game now tracks additional information about AIP changes, including which faction caused the change and the planet. This information is only recorded for AIP changes that happen after this patch is applied, so older events on existing save games will have less information
 +
 
 +
* When in the planet view, a planet under the influence of a minor faction will have the planet name over the wormhole correctly coloured
 +
** So if you are next to a marauder or nanocaust planet, the wormhole name will be coloured appropriately when you look at that wormhole.
 +
 
 +
=== Nanocaust Changes ===
 +
 
 +
* Instead of using FrenzyFleets, the nanocaust will just attack anytime, anywhere it feels like it has an advantage.
 +
** This makes the Nanocaust scarier. Much Scarier.
 +
 
 +
* The Nanocaust now gives the Dark Spire less energy when fighting on DS planets
 +
** Reported by zeusalmighty
 +
 
 +
* The Nanocaust isn't allowed to attack the player until > 30 minutes into the game, lest they player just die early to a unlucky nanocaust spawn location.
 +
** That number is in the xml
 +
 
 +
* Fix a bug in the nanocaust income logging
 +
** Thanks to Puffin for reporting
 +
 
 +
=== Macrophage changes ===
 +
* Cap the number of Telia per planet based on intensity (low = 1 per planet, med = 3 per planet, high = 5 per planet)
 +
** This is only for new Telia; if you have an existing game with lots of Telia on a planet then you'll have to live with it
 +
*** Requested by a number of people, most recently firespier on steam.
 +
 
 +
* Tweak the base macrophage income (ie without counting harvesters)
 +
** Higher intensities get a bit more income, lower intensities get a bit less
 +
 
 +
=== Balance Tweaks ===
 +
 
 +
* Siege Frigate range 12,000 -> 10,100.
 +
 
 +
* Tractor Guardian Hull/Shields 57,500/5,000 -> 10,000/52,500.
 +
** So Fusion Bombers work on them, since they were given a higher albedo for the purpose of fighting Tractor units long ago...and Puffin kept forgetting to do this.
 +
 
 +
* Orbital Mass Driver durability increased 150%.
 +
** Makes player captured ones last longer, since unlike Ion Cannons these do not have Marks with which to gain health.
 +
 
 +
* Ion Cannon and Orbital Mass Driver hacks now take only 15 seconds, and now only cause a tiny completion response.
 +
** Since it's a bit odd for the thing you are hacking to be easily capable of crippling the Flagship you need to do said hack. Ion Cannon is included for consistency.
 +
** Response is greatly reduced, since it feels pretty bad for the shiny toy you just stole to spawn a bunch of ships, which could destroy said toy quickly unless you sat a bunch of units right next to it every time.
 +
 
 +
* Increased ai_cost_to_purchase of Paralyzers by 50%.
 +
 
 +
* Increased ai_cost_to_purchase of Strikecraft.
 +
 
 +
* Default Strikecraft hull/shield multiplier reduced to 2x, default attack multiplier reduced to 1.5x.
 +
** The experiment with this has given some good data. The feeling of chaft is very much gone, but it was possibly overdone, causing stories of enormous power AI Waves that Turrets simply cannot defend against.
 +
** So we're going to try an intermediate setting, and see how feedback on that is. If defending is still problematic, then possibly we'll look at changing Turrets themselves.
 +
** Of course, anyone can change these to whatever they like, and feedback on any of it is very much appreciated.
 +
** Lastly, it appears with the way this setting is set up, that if you were using the default, it'll adjust existing saves to the new one.
 +
 
 +
* Auto Bombs now have a 2x Stack Damage Bonus.
 +
 
 +
* Ships that are getting into transports now move 3x faster than usual.  This affects balance, but also makes it so that loading transports is a lot more convenient for you.
 +
** Thanks to Yog-Sothoth for suggesting.
 +
 
 +
==== Defenses ====
 +
 
 +
* Plasma Turret and Beam Cannon mass 0.3 -> 2.
 +
** Now resistant to Paralysers. Also a bit more fitting since they're notably larger than normal Turrets.
 +
 
 +
* Pike Turret damage 320 -> 416, reload time 4s -> 3s.
 +
 
 +
* Nucleophilic Turret damage 240 -> 900, reload time 3s -> 6s.
 +
 
 +
* MLRS Turret shields 6,750 -> 9,000.
 +
 
 +
* Concussion Turret shields 6,750 -> 7500, reload time 9s -> 6s.
 +
 
 +
* Grenade Launcher Turret hull/shields 5,400/13,500 -> 9,450/23,600, damage 184 -> 330.
 +
 
 +
* Tritium Sniper Turret hull/shields 3,600/4,500 -> 2,700/6,750, damage 92 -> 138.
 +
 
 +
* Spider Turret hull/shields 3,600/4,500 -> 2,700/6,750.
 +
 
 +
* Beam Cannon reload time 6s -> 4s.
 +
 
 +
* Plasma Turret damage 3,500 -> 5,500.
 +
 
 +
* Tractor Array health increased 50%.
 +
 
 +
* Gravity Generator hull 21,000 -> 30,000.
 +
 
 +
* Command Station Pike Turret count 15 -> 24.
 +
 
 +
== Version 0.876 Counterattacks Ate My Waves ==
 +
(Released July 16th, 2019)
 +
 
 +
* Allow friendly minor factions that take planets to scout for you.
 +
** Thanks to Exlium for the bug report
 +
 
 +
* Player units will no longer automatically target Ion Cannons and Mass Drivers.
 +
** Thanks to NRSirLimbo for reporting.
 +
 
 +
=== Counterattack Refinements ===
 +
 
 +
* counterattack_min_strength is now properly respected, so you won't get a counterattack if you lose a single fleetship somewhere.
 +
** Thanks to Puffin and Exlium for reporting.
 +
 
 +
* Counterattacks now build strength based on the base strength of the destroyed ships, before multipliers. This drastically reduces the AI's unintended advantage when you raise the multipliers.
 +
** It also is based on the mark 1 strength of your ships, because otherwise it was penalizing you for using better ships in essence.  We'll see how that part feels over time.
 +
** Thanks to everyone who reported!
 +
 
 +
==== Neutering Returns ====
 +
 
 +
* Regular and reconquest AI command stations now no longer enable counterattacks.  This was preventing "neutering" planets, which is a really important part of the game that we overlooked when thinking about this.
 +
** Instead, just guard posts themselves, and the AI king command stations are what cause counterattacks.  This makes it so that essentially you still have the same counterattack mechanics, but the ability to neuter planets like before.  The command stations are super weak in general anyway, and are simply what causes you to get AIP; so it doesn't make sense for them to be something you're required to kill, since they are so trivial compared to the guard posts anyhow.  The AI king command station is of course the exception, so hence it remaining on the list.
 +
** This is why we love having players constantly commenting and evaluating what we're doing; neutering is an absolutely essential part of the game and always has been, and it was an accident that we made that impossible.  And thankfully a really simple fix once it was brought up!
 +
** Thanks to CowForceSeven, Izaon, and themouthofsauron for reporting and suggesting this fix.
 +
 
 +
=== Bugfixes ===
 +
 
 +
* Put some defensive coding in GetCountOfPlayerFleetsAtPlanetWithCenterpiece() due to a null reference
 +
** Thanks to trillioneyes for reporting
 +
 
 +
* Fixed GCA hack always being hidden.
 +
** Thanks to Badger for reporting.
 +
 
 +
* Added a new "is_combatant_despite_no_weapons" xml tag, which, when set to true, causes the ship to be selectable with other military units even if it has no weapons on it.
 +
** This in turn lets us remove the weapons from transport flagships, which should cause them to start working properly when in pursuit mode.
 +
** This is untested for the moment, so let us know if it doesn't work!
 +
** We also have applied this to combat factories for the time being, since selecting them and having them come seems useful; but it could be taken back off those if that doesn't feel desirable.
 +
** Thanks to AnnoyingOrange and RocketAssistedPuffin for the reports.
 +
 
 +
* Fixed things up so that if you remove a weapon from an existing ship type, and it was the only system on that ship, then the older savegames will still load just fine.
 +
** Thanks to Puffin for reporting.
 +
 
 +
* Really major refactor of how waves are generated, since it needs to know what is in the wave before it can decide what to do with it... and it also needs to know where the wave would be coming from now before it knows how strong it is and what is in it... so basically a lot of things had to be reorganized in order to make it so that it can tell which end is up.
 +
** The overall logic should be the same, but it's just more accurate now in terms of actually using real numbers for strength calculations rather than trying to use estimates or approximations.  The waves can vary a lot more than we can accurately estimate now, so that was definitely needed.
 +
** The two major downsides of this revision are firstly that this does a lot more calculations on a background core of your CPU, but frankly it still should be pretty trivial; and secondly that there's a good chance we introduced some major new bugs with waves in all this.
 +
** We have tested this and basic waves function as well as apparently reconquest waves, but we haven't checked hacking waves, waves in response to alarm posts, etc.  Knock on wood that those should work.  This is at least a step up over last version, where it was sending no waves at all because the approximation code got moved around without a full refactor (oops).
 +
** Thanks to Badger and HeartHunter7 for reporting.
 +
 
 +
* Fixed a bug in the strength counting code where it could try to look out more hops than exist on certain planets.
 +
** This may be indicative of orphaned planets of some sort on certain map types (it's happening on Swirl maps), and so that may just lead to yet more errors, but at least this one is fixed. And we can presumably find the mapgen error, if there is one.
 +
** Or it's possible that it simply is a very small map somehow, with very few hops on that size of map, and thus it's not a matter of being orphaned, but simply not having that depth of neighbors (a valid case, then).
 +
** Thanks to UFO for reporting with a line number.
 +
 
 +
* AI guard posts or guardians with drones will no longer put "DumpFleetContentsIntoFactionLoose" debugging messages into the debug log when they are destroyed.  This is a perfectly valid thing to happen and doesn't need to be reported.
 +
** Thanks to WeaponMaster for reporting.
 +
 
 +
== Version 0.875 Counterattacks You Can Taste ==
 +
(Released July 12th, 2019)
 +
 
 +
=== Waves Thematization ===
 +
 
 +
* Individual planets now store specific AI ship groups for the waves that will come out of them, same as the planet factions do for reinforcements and whatnot.
 +
** This isn't actually applied to waves yet, but it is applied to counterattacks and make them thematically sensible things that you can deal with rather than just a mishmash of everything.
 +
 
 +
* When you load existing savegames (or quick starts), it now is able to do some AI "defense placer" logic to assign any data that might be missing.
 +
** At the moment this is useful for assigning the wave types to each AI planet in old savegames.
 +
 
 +
* When waves are created, they now have a specific planet that they use from which to launch their wave.
 +
** That can be overridden or changed depending on context, but regardless a planet is chosen eventually.
 +
** Since each planet has ships that are valid for waves defined in it now (same as they have ships valid for reinforcements), this now determines what sort of ships are able to be in that wave.
 +
 
 +
* The "Wave Composition" lobby option has been removed (it was Homogeneous/Varied as an option), since now waves are based on planets and are instead tight groups of ship types rather than what they were before.
 +
 
 +
* For wormhole invasions, it picks a planet completely at random in order to use it for the waves that will be sent.  This keeps you on your toes with those, for sure.
 +
** Additionally, for anti-minor-faction waves it does the same, for the same reason.
 +
 
 +
* The purpose of all these changes with waves is to make it so that they are more varied in different parts of the galaxy, BUT so that they are more predictable at specific planets, and thus something you can plan for.
 +
** In general it also keeps them more consistent and not just "a big blob of a whole bunch of different things."
 +
** This needs a lot of testing to see how it feels, as we may need further tuning, but it should hopefully give players a greater sense of agency and ability to plan, without it making the entire galaxy feel stale and repetitive.
 +
** For a while we had an idea about Wave Mainframes and some other things to accomplish similar stuff, but that would have added more complexity for players and would have been less-contextual in terms of the parts of the galaxy feeling different.  This approach as-implemented should get at the same goal, unless there are bugs or oversights, but it should do so in a manner that doesn't require extra thought on the player side (chasing around yet one more thing on the galaxy map), and without the problem of so darn much stagnation around the whole map in terms of what waves are like.
 +
** It's entirely possible that we may need to do yet more in order to make waves something that are the correct balance of predictable (so you can plan) and varied-across-the-map (so that different parts of the map feel different and the entire game isn't repetitive), but this should be a good start at the very least (bugs notwithstanding).
 +
** Thanks to RocketAssistedPuffin and MaxAstro for outlining the problems that the old style of wave composition were causing in the way that players are able to anticipate them and plan for them.
 +
 
 +
=== Counterattacks From the AI Replace Reprisal Waves ===
 +
 
 +
==== No More Salvage ====
 +
 
 +
* The general concept of salvage has been removed.
 +
** For AIs, we're introducing a new style of counterattacks instead of reprisal waves.
 +
** For players, we've already got plenty of ways for them to gather metal, and salvage was quite confusing as well as just cluttering the ui.
 +
** In some ways for players, the EXP stuff takes the mental place of salvage while being different from just generating metal, anyway.
 +
 
 +
* The Scrapper Combat Factory has been renamed to just being another Combat Factory, since it no longer gathers salvage (given that's not a thing anymore).
 +
 
 +
==== Reprisal Waves Removed ====
 +
 
 +
* The prior style of Reprisal Waves has also been completely removed.
 +
** A new Counterattacks mechanic is instead added, and doesn't use the wave framework -- it works pretty differently in general.
 +
** AIs still gain "counterattack budget" in the same way that salvage was previously gained.  However, there are some new multipliers that give more or less of this based on the AI difficulty level.
 +
** As the AIs on a planet destroy player ships, it now turns those into counterattack forces that it will actually send against you.
 +
** Each AI difficulty has a minimum strength amount that is required for them to build up before they even start showing the counterattack stuff.
 +
** There is also a minimum AIP that you have to hit before the counterattacks start becoming a thing, too.
 +
 
 +
==== Counterattacks Added ====
 +
 
 +
* The new counterattack mechanic works a lot like the old reprisals one, but it is per-planet rather than global for an AI, among some other differences.
 +
** Basically as you lose ships against a planet, it will build up an increasingly-strong force that it will want to send against you in a counterattack.  If it doesn't reach the minimum threshold of scariness for the difficulty of that AI, then it won't even tell you about it.
 +
** If it reaches the minimum threshold for scariness, and it outnumbers you at least 5:1 with what it would send versus what you have on that planet, then it will start a 2 minute countdown and then do a marauder-style spawn on that planet off to the side somewhere and start wrecking you badly.
 +
** Note that the cost for the ships that the AI has to spend is independent of the mark level of the planet, so the strength will rise much faster if you attack a planet that is far outclassing yourself.  If you attack a mark 4 planet in the very early game and don't quickly destroy the command station and guard posts, you could be seeing a game-ending counterattack.
 +
*** Then again, now that you can see the strength of the counterattack rising as you fight, and see that it's stalled out by your presence early on in, this gives you a chance to disengage and fight off the counterattack versus just being absolutely swarmed with a reprisal wave that is game-endingly strong like used to happen.  It still can happen, but now it's your fault rather than something out of the blue. ;)
 +
** The cool thing is that if you can kill the command station and all the guard posts while the counterattack is either stalled or hasn't reached zero on the countdown timer, then the counterattack completely evaporates forever and the AI just loses those theoretical ships it would have had.  So you have a brief and interesting window of opportunity.
 +
** Most of this stuff is explained in the in-game tooltips for the warning on a counterattack that is forming.
 +
** This is very different from reprisal waves in its role in the game until now; the old reprisal waves were inevitable and AI-empire-wide, and we may do something along those lines again in the future in a revised way.  But the new counterattacks are more local and are a... basically a new risk or disincentive to attack targets you're not strong enough to take, at least when it comes to trying to wear them down via attrition.  You can still do it, absolutely, but you just need to go for the throat a bit faster.
 +
** And finally, bear in mind that this is brand new and may not be balanced ideally yet.  It may need to be toned down in some fashion, or made more dangerous in certain circumstances, but in the limited testing we've done thus far it does make sense what it has generated.
 +
 
 +
* There is a new counts_as_part_of_player_strength_at_planet_for_counterattack_blocking that determines if factions are able to contribute to how much strength the player supposedly has at a given planet for purposes of blocking the AI.
 +
** Basically this lets the human resistance fighters, and also enemy-to-ai zombified ships, and also mercenaries, help block counterattack waves.
 +
 
 +
* Added a new "Write Counterattack Info In Planet Tooltips" option in the debug section of the settings menu.
 +
** This gives you info on what is going on behind the scenes with the counterattack calculations, which is useful for debugging purposes especially in these early days when we're balancing things with this new feature.
 +
 
 +
=== New Hacks ===
 +
 
 +
* Adds two hacks for capturing Orbital Mass Drivers and Ion Cannons, respectively.
 +
** Captures all Ion Cannons on this planet for your own faction, permanently -- until and unless enemies destroy them, of course.
 +
** Captures all Orbital Mass Drivers on this planet for your own faction, permanently -- until and unless enemies destroy them, of course.
 +
** These currently only cost 10 hacking points which is on the low side, but it seems like we needed some cheap hacking stuff that is of... questionable use depending on the situation.  Sometimes it will be really useful, but other times this is kind of a "candy hack," so making it cheap and attractive is interesting.
 +
** It's also interesting because in the first game you could get these units just by taking over the planet, but in this game you don't -- but now you can still capture them, but have them on your side for DURING planet capture, if you want.  There are several interesting pros and cons, strategically, to the new approach.
 +
** Big thanks to Quinn for thinking of these as well as adding them.
 +
 
 +
* Hacking OMDs or Ion Cannons now only works for planets of mark 6 or lower, and also costs a base of 5 Hacking Points that increases by 5 for every mark level of the planet.  So this is a little more balanced hacking-points-wise, while still being very cheap in the main.  Exploits using this against the AI homeworlds are also no longer possible with these changes.
 +
 
 +
* These hacks use Hacking_TakeOverWeapon as a base. This means that if you want to be able to take over a new weapon or entity in the same fashion as you can with these, just copy it over and change unit_tag_target to the tag of the unit you are after. Currently, unit_tag_target only supports a single tag, however.
 +
 
 +
* Adds a hack to explore all planets that have a coprocessor. Currently costs 5 points per unexplored coprocessor.
 +
** This hack is another fancy generic one, like Hacking_TakeOverWeapon. Simply copy the XML over, change the values of the tags, and it will work the same way. It also features support for different pricing based on planet mark levels
 +
 
 +
=== Interface Improvements ===
 +
 
 +
*  Add a setting to always show planets in the galaxy map
 +
** Requested by Baleur, James and ZeroTheHero on Steam. Possibly others as well.
  
* There are a variety of ships/units that don't have final graphics at the moment, though they all have their icons.
+
==== Fleet Management and Tooltips ====
  
* We're in progress with refining things with fleets more to remove things that are annoying or tedious about themMore info on that is [https://bugtracker.arcengames.com/view.php?id=21310 here].
+
* The fleet management screen now allows you to change the keybind that fleets are bound to, and also allows you to bind more than one fleet to a single keybindThis has been planned since the very start of even having fleets, but it's really nice to finally have this added!
  
== What's this phase all about? ==
+
* The fleet sidebar tooltip now shows if the centerpiece of the fleet is crippled or missing.
 +
** It also says if the construction status is paused because of it being crippled or because of it being manually turned off.
  
The fleets work of the prior phase turned out to be a much larger undertaking than initially expected, but we also refined a whole bunch of other areas of the game at the same time. Finally implementing the new lobby and how a lot of that works, for instanceSo a whole bunch of great things happened.
+
* The fleet sidebar tooltip also now says how many factories are in range of the fleet, since that's a big deal on whether or not construction happens with them.
 +
 
 +
* The fleet management sidebar popup now shows all of the same info about a fleet that hovering over the fleet would show (in terms of the members of the fleet and their statuses), but now also includes tooltips for each line item.
 +
** So you can quickly get a bunch of status information for any of your fleets' specific ship types just by opening this window from any planet.
 +
** For the battlestation fleets and the command station fleets, that's pretty much the end of the functionality for the fleets management screen, at least until something else gets pointed out.  Mobile offensive fleets are another matter.
 +
 
 +
* For mobile fleets, in the fleet management screen there are now buttons by all of the non-centerpiece unit types that allow you to pause construction or let it resume as normal.
 +
** In the tooltips for fleets, you can also now directly see if a line item is paused.
 +
** There's also another button, "Swap," which has a "coming soon" message, but will let you do some other cool stuff soon.
 +
** But already, at this point this lets you customize what is actually being constructed in your fleets, which is a pretty big deal.
 +
*** The goal of the past builds has been to make it so that 90% of the time, if not even more, you always just want to have everything building at all times.  We probably are in that ballpark nowBut the ability to turn off certain things from building is definitely a must-have, no matter what.  Thanks for your patience while we didn't have that -- the general utility of things like low-mark ships is probably higher now because of us skipping that for a while.
 +
** Thanks to BadgerBadger, Alreadyded, Nameless Terror, and tons of others for requesting this feature.
 +
 
 +
==== Techs and Related ====
  
The downside was that there were still some things that were [https://bugtracker.arcengames.com/view.php?id=21310 decidedly annoying] that we know we want to tackle, and that's what this phase is aboutMaking sure that nobody's playstyles are removed or invalid, and that everything feels balanced, and that there's enough to capture and think about, and that there's no substantial "netflix time" where you're just waiting around (unlike the first game).  A lot of the initial discussions about all this were [https://forums.arcengames.com/ai-war-ii/my-personal-issues-with-fleets/ here], but other discussions were on discord and other places.
+
* The techs tab of the sidebar now shows any techs that would benefit ships that you have NOT captured yet, but which you have discovered and which are capturable by youThis includes ships in fleets you could capture.
 +
** For each tech, the tooltip shows you if you have any ships that would benefit from it, and how many ships you COULD capture that would benefit from this, too.
  
We're also continuing to just fix other bugs and annoyances, and in general working on refining everything now that we're out of beta for the new fleets-based paradigm.
+
* Uncaptured fleets now calculate out values that are for the local ui only, which basically show what the strength and ship caps and whatnot of those fleets WOULD be if you captured them.
 +
** Since different players in multiplayer can have very different versions based on what techs they have upgraded, this is purely non-sim visual-only data.
  
== Version 0.874 ==
+
* You can now directly see what the ACTUAL strength would be of a fleet you would capture, and all its ships in it and what their caps and mark levels would really be, rather than the basic mark-1 defaults that it was showing before.
(Not yet released -- we're still working on it!)
+
** Thanks to Yog-Sothoth for suggesting.
  
 
=== Bugfixes ===
 
=== Bugfixes ===
  
* Fixed Global Command Augmentors being able to add 20 Sentry Frigates...sheesh.
+
* Fixed GCA and IGC hack costs. They should now cost 120 and 90 respectively when owned by the AI (or if command station of the AI was destroyed by something other than the player), and 30 when owned by player (or presumably if the player has destroyed the AI command station but not captured the unit itself).
** Thanks to minetime43 on Steam for reporting.
+
 
 +
* Fix for a nullref exception in Inner_CheckForCollisionOrMakeEntityMove that probably was just happening when checking against a ship that is being disassembled.
 +
** This shouldn't actually have been causing any problems in the gameplay, other than the annoying popup, but the popup is probably now fixed. In general if entities were being torn down on one thread (after dying), then there was a rare chance of them having this issue in the decollision checking, but now it just accepts the incongruity and moves on.
 +
** Thanks to AnnoyingOrange and arsdor for reporting.
  
* Fixed up the multipliers for ship types in a fleet based on their centerpieces so that those happen AFTER any added ship type cap additions from outside sources (GCAs, etc).
+
* Added a new only_show_once_per_planet_with_multiple_entities_granting_this xml tag that sets a bool OnlyShowOncePerPlanetWithMultipleEntitiesGrantingThis on hacks.
 +
** On GameEntityTypeData, it precalculates HasAHackThatOnlyShowsOncePerPlanetWithMultipleEntitiesGrantingThis automatically based on if the entity has any hacks with this new flag on it.  This will let us pre-sort these really easily.
 +
** Added a new HasAHackThatOnlyShowsOncePerPlanetWithMultipleEntitiesGrantingThis EntityRollupType, which in turn checks the value on GameEntityType.  Now our hacks code for the UI can check the small number of units on a planet for which this is relevant really easily.
 +
** That said, actually a solution far simpler was just adding hackingTypesAddedThatAreSingleOnly on the hacking sidebar and making sure that hacks of the same type only get added once.  Easy peasy.  But the other lookups were left just in case we need to iterate those entities efficiently for whatever reason.
 +
** Thanks to Quinn for inspiring this addition.  It works with the mass drivers and ion cannon hacks now, so that if there are more than one on a planet there's only one thing on the planet still (and it captures all of the ones on a planet).
  
* Fixed up the multipliers from Ingra-Galactic Controllers (that give extra ship caps for turrets or whatever) so that those happen after the GCAs as well.
+
* Fixed several potential cross-threading bugs that could lead to (relatively harmless) nullref exceptions in fleet code as ships died on another thread.
 +
** Thanks to trillioneyes for reporting.
  
* Fixed a bug where GCAs were granting 1 too few turrets or whatever else if the turret wasn't a native type for the command station in play.
+
* Transport Flagship weapon disabled, weapon range increased to sniper levels.
** Thanks to WeaponMaster for reporting as well as finding the issue.
+
** It's still there, so  it still counts as a Combatant for the purposes of selecting all Military units, but will no longer try to charge into combat or anything like that if set to Pursuit mode.
 +
** Thanks to Annoying Orange for reporting.
  
* Fixed a bug that was letting small ships sit inside large onesMainly affecting things like Golems and Arks having other ships sitting inside them.  
+
* Fixed a bug where the start fleet transport flagships had multipliers of 1.3 for their frigate and strikecraft countsThis was giving you more than advertised or intended when you actually got into the game.
** We noticed this quite a while ago, but thanks to WeaponMaster for finding the fix.  The current fix is untested but should probably work.
+
** Thanks to WeaponMaster for reporting.
  
* Fixed a display bug where if a ship was not upgradeable because it was markless, but it was set to be upgradeable via fleet EXP, then it was saying both that it could not be upgraded and that it could be upgraded by fleet EXP.  Now it just says that it can't be upgraded.
+
* Fixed an oversight where unclaimed flagships would make the fleet count increment while you were on their planet trying to capture them.
 
** Thanks to trillioneyes for reporting.
 
** Thanks to trillioneyes for reporting.
  
* The Home Forcefield Generators were previously completely un-upgradeable, as they were markless. They now are upgradeable by fleet EXP, but only up to mark 3 maximum.
+
* Put in error catching for an exception that could happen in StrengthCounting under certain circumstances.  This doesn't fix the error, but it will tell us where the error actually is and should also prevent the "endless further errors" problem that was otherwise happening after that.
** They are already wicked powerful to begin with.
+
** If anyone can duplicate this error in the new version once that is out, and then send us the new error message that it generates, we can fix the actual problem.  It seems to be happening on swirl maps for whatever reason.
** Thanks to trillioneyes for suggesting.
+
** Thanks to UFO for reporting.
 +
 
 +
* Fixed a bug where if you had captured a GCA that was granting a ship type cap of some amount, and you had hacked a different GCA to get ship cap added for that same type, it would start infinitely counting up your ship count added.
 +
** We were using RefPair as if it was a value type (AddRange), when it fact it was a reference type (it's right in the name of the class, sigh, and we made it ourselves).  Perils of coding while tired?
 +
** Thanks to zeusalmighty for reporting, and WeaponMaster for figuring this out.
 +
 
 +
* Fixed-position forcefield generators should no longer be pushed around by flagships.  This hasn't been fully tested, so if you see it more, or other variants, please let us know!
 +
** Thanks to AnnoyingOrange and WeaponMaster for reporting and investigating it.
 +
 
 +
* Logic in waves has been changed so that if there are any guardians in the normally-strikecraft section of the code, then it will just ignore them in terms of the "max guardians with a wave" logic goes.
 +
** This lets the Royal Guardians spawn en masse as expected for the Royal AI type, instead of randomly sending 0 strength waves followed by apocalyptic ones later on.
 +
** This is untested, but should in theory work.
 +
** Thanks to WeaponMaster for reporting and diagnosing.
 +
 
 +
* Upgraded the hacking code framework a bit, so that it's now possible for it to not just say "I can or can't be hacked," but also "show me or don't show me in the list if I can't be hacked."
 +
** A lot of things that no longer make any sense contextually, like trying to hack something that you control now, should just be hidden and now are.
 +
** Other things like "did I already hack that dark spire thing?" should show a reminder of "yes, you already did, so you can't again," since that's relevant info.
 +
** And of course this doesn't get into things like "you can't afford to hack it right now" or whatever other problems like a missing hacker of the moment.  Those things always show, but just redded-out, still.
 +
** Note that this isn't tested yet, so if there are problems please let us know.
 +
 
 +
* Combat Sentry Frigates, which get sent out with support fleets, should no longer die to remains.  That's very much at odds with how they are actually used, and was actually really confusing.
 +
** Thanks to WeaponMaster for reporting.
 +
 
 +
=== Balance Tweaks ===
 +
 
 +
* Plasma Turret damage 1,500 -> 3,500, reload time 9s -> 2s, no longer has area of effect. Also reduced count given by Command Augmenters.
 +
** Really unsure about these things. In player hands they don't really have a job.
 +
** Regardless, they now do almost as much DPS as their optimal performance beforehand, but at all times and even against single targets, so hopefully they're better?
 +
 
 +
== Version 0.874 Basic Fleet Management ==
 +
(Released July 9th, 2019)
  
 
=== New Hacks ===
 
=== New Hacks ===
Line 76: Line 2,802:
 
** Global Command Augmenters (GCAs) are fairly common structures that give you more turrets and other defenses at all your command stations while you have them captured and held.  Normally they disappear forever once killed, but if you'd prefer them to die to remains to make for less pressure on protecting them, you can enable the no-permadeath option here.
 
** Global Command Augmenters (GCAs) are fairly common structures that give you more turrets and other defenses at all your command stations while you have them captured and held.  Normally they disappear forever once killed, but if you'd prefer them to die to remains to make for less pressure on protecting them, you can enable the no-permadeath option here.
 
** Bear in mind that these can also be hacked in order to give you the bonus without you having to hold them, so normally that's supposed to be the workaround if you just feel you can't (or don't want to) protect them on the planet you find them on for whatever reason.
 
** Bear in mind that these can also be hacked in order to give you the bonus without you having to hold them, so normally that's supposed to be the workaround if you just feel you can't (or don't want to) protect them on the planet you find them on for whatever reason.
 +
 +
=== Updated Tips and Strategies ===
 +
 +
* Game tip improvements and corrections based on recent changes to the game:
 +
** Improved the tip for "Military Command Stations Matter!" in order to mention the bonuses they get even with GCAs.
 +
 +
* New tip in the Defensive Strategies Section: Capture or Hack Global Command Augmenters (GCAs)
 +
** Feeling like your command stations don't have many defensive options?  It's time to go get the rewards from some Global Command Augmenters (GCAs) in some fashion.
 +
** The simplest approach is just to go over to that planet and hack it to get the benefit at no AI Progress (AIP cost), and with no risk of ever losing the benfit.  This gives you a bunch of new turret types and/or minefields and other defensive options at ALL your command stations.  But it costs a heck of a lot of hacking points, so you're going to be limited in what other options you can do with hacking.
 +
** The hacking-point-free approach is to go over and capture and hold the planet.  If you do that, then you get all the same benefits from the GCA, but you've increased AIP instead of spending hacking points.  So... that's definitely a tradeoff.  But you also got whatever else was on the planet, including new metal harvester points, so that's good.... right?
 +
** However, depending on your permadeath settings in the lobby options, by default if you are holding a GCA and it gets destroyed, then you lose its benefits forever.  This can be a major blow!  Once you've captured the planet, or at least paid the AIP for kicking the AI off, you're able to hack it for a fraction of the normal hacking point cost.
 +
** All of those options have pros and cons, but one thing is certain: GCAs in general are absolutely key for your ability to defend yourself.
 +
 +
* New tip in the Returning Players section: Global Command Augmenters (GCAs) Are Critical For Defending
 +
** In the first game, you had per-planet caps of turrets and other defenses.  You got more by unlocking new ship lines.
 +
** In this sequel, you really get very little for defending yourself at the start of the game.  You can use battlestations, but there are very few of them in the galaxy.
 +
** Instead, what you want to do is either capture or hack (both have pros and cons -- see the defensive strategies section) Global Command Augmenters (GCAs), and it will give you some additional turrets, minefields, or other defenses at ALL your command stations.
 +
** This is basically the same sort of per-planet cap system as before, but it's driven by capturing or hacking GCAs rather than spending science.  More than on GCA might give you to a specific turret type, which in turn would just additively give you a larger cap for that type.
 +
** Even beyond this, however, the type of command station you use gives you a bonus to the turret types you get from this.  Logistical get the default amount.  Military get 2x the default amount.  Economic get half the normal amount.
 +
 +
* The older "Battlestations and Citadels" tip has been rewritten completely:
 +
** Battlestations and Citadels can be important, but are rare.  You can capture these to get a mobile force of turrets, forcefields, minefields, and whatever else to use on your planets or enemy planets.
 +
** These can be great for beachheads on enemy planets or to help defend chokepoints on your planets.
 +
 +
* Added a new quick tip: Global Command Augmenters (GCAs)
 +
** Global Command Augmenters (GCAs) are super important, as they grant more turrets and other defensive options to ALL your command stations.  You absolutely need to capture some of these if you want to defend more than a few planets.
 +
 +
=== Balance Tweaks ===
 +
 +
* Some nerfs to reprisal waves; make them more expensive for the AI and less powerful when they arrive.
 +
** These aren't huge nerfs, but hopefully they'll tone things down a bit. Prompted by learning that Zeus was debug-murdering giant reprisal waves (s)he found "unfair"
 +
 +
* Golems, Arks and Spire Frigates now cost 20 AIP to claim.
 +
 +
* Golems and Arks now have larger Fleets in general.
 +
 +
* Increased starting Metal from 540k to 2 million.
 +
** Building the units for the starting Fleet would starve you in every case, then trying to build any defenses, or a Command Station would just prolong this. It was a pretty unnecessary delay.
 +
** Thanks to ptarth for suggesting.
 +
 +
* The Home Forcefield Generators were previously completely un-upgradeable, as they were markless.  They now are upgradeable by fleet EXP, but only up to mark 3 maximum.
 +
** They are already wicked powerful to begin with.
 +
** Thanks to trillioneyes for suggesting.
 +
 +
=== New Starting Fleet Option ===
 +
 +
* New Starting Fleet: Consumer Fleet
 +
** Mostly focused on eating enemy ships and structures, but also has a healthy complement of bombers for smashing things, and a large sniper starship for adding fire support from afar.
 +
** 40x vicious metabolizing gangsaws, 40x absorbers, 30x fusion bombers, and 1x tritium sniper frigate.
 +
** Thanks to zeusalmighty and Puffin for suggesting.
 +
 +
=== UI Improvements And Additions ===
 +
 +
* Added a new piece to our UI toolbox, which is a modal textbox popup where we can have players able to type whatever and then have it commit the changes if they hit save.
 +
** This might seem like an extra step compared to just directly using a textbox, but it solves a couple of problems:
 +
*** Firstly, when a textbox is active we need to generally make the other hotkeys not work, and this makes it really obvious when that's the case.
 +
*** Secondly, when a textbox is being edited and we don't have an explicit "save now" button, we want to sync these changes over the network only when the player is done editing that textbox.  That's easier to handle via this mechanism in some cases, such as for fleet names for instance.
 +
 +
* Added another new piece to our UI toolbox, in the form of a new Window_ModalSelfUpdatingTextWindow.
 +
** This works like the tall modal popup for the most part, except that it's able to self-update its own text on a periodic interval.
 +
** We're able to thus use this for things like the metal flows popup, and have that look the same but be updated in realtime rather than being static until you close and reopen it.
 +
 +
* The metal flows window that you can get by clicking the metal resource label at the top of your main window now updates itself ever half second, so that you can see things in realtime.
 +
** There is also some colorization in them to now help you more easily read what is happening as it updates.
 +
 +
* Also adjusted the metal flows window to show more human-readable text for the "purpose" of what each ship is spending metal on.
 +
 +
* A bunch of the sidebar text will now scale down if it gets too long to where it would wrap.
 +
** This applies to things like fleet names, ship names, etc.  There are still cases where we'll want to use the sidebar display name to have a larger brief text display for a ship, but for fleets we don't really have that option most of the time.
 +
** Anyway, this prevents things from wrapping inappropriately, and lets custom names up to 30 characters in length for fleets still be quite legible.
 +
 +
==== Very Basics Of The Fleet Management Screen ====
 +
 +
* Left-clicking the fleets in the sidebar now opens a new next-to-sidebar popout for the fleet management screen.
 +
 +
* For the mobile and battlestation fleet types, you can now edit their name using the new "textbox popup" window from the fleet management screen.
 +
** Note that for planet type fleets, it doesn't let you rename them because it's the name of the planet that is shown instead.  It shows that you can't do that in there, too.
 +
 +
* The fleet tooltips on the sidebar now show you what the maximum total fleet strength is, and what the current total strength out of that maximum is.
 +
 +
* The fleet tooltips on the sidebar now show you what the current EXP boost or penalty is, based on how many fleets are at their planet.
 +
** Note that this is only SORT OF accurate, because it's based on the centerpiece, and if there are ships from that same fleet on other planets from the centerpiece then they might see different numbers.
 +
** Normally if you look at the target you would be destroying, it shows what the EXP boost or penalty is based on the fleets at THAT planet, which is most accurate.
 +
** But assuming that you keep your centerpiece on the same planet as your fleet most of the time, the new display at least gives you a pretty good idea.
 +
 +
* The fleet management screen now includes lines for the same things that are in the fleet tooltips, but with tooltips for individual line items to explain their mechanics more.
 +
** There are some notes on mechanics relating to fleets that are explained in here that aren't really elsewhere in the game, and which should help make some things way more obvious just by seeing the screen, even.
 +
 +
* The fleet management screen now has a toggle that allows you to turn on or off all construction for that fleet from any factories.
 +
** Previously you could only do this by keeping them away from factories, or turning off all the factories.  So glad to finally have this!
 +
 +
=== Bugfixes ===
 +
 +
* Fixed Global Command Augmentors being able to add 20 Sentry Frigates...sheesh.
 +
** Thanks to minetime43 on Steam for reporting.
 +
 +
* Fixed up the multipliers for ship types in a fleet based on their centerpieces so that those happen AFTER any added ship type cap additions from outside sources (GCAs, etc).
 +
 +
* Fixed up the multipliers from Ingra-Galactic Controllers (that give extra ship caps for turrets or whatever) so that those happen after the GCAs as well.
 +
 +
* Fixed a bug where GCAs were granting 1 too few turrets or whatever else if the turret wasn't a native type for the command station in play.
 +
** Thanks to WeaponMaster for reporting as well as finding the issue.
 +
 +
* Fixed a bug that was letting small ships sit inside large ones.  Mainly affecting things like Golems and Arks having other ships sitting inside them.
 +
** We noticed this quite a while ago, but thanks to WeaponMaster for finding the fix.  The current fix is untested but should probably work.
 +
 +
* Fixed a display bug where if a ship was not upgradeable because it was markless, but it was set to be upgradeable via fleet EXP, then it was saying both that it could not be upgraded and that it could be upgraded by fleet EXP.  Now it just says that it can't be upgraded.
 +
** Thanks to trillioneyes for reporting.
 +
 +
* In all aspect ratios, the tall modal popup window now fits fully on the screen rather than hanging off the bottom slightly.
 +
** Ditto for the in-game escape menu.
 +
** Thanks to Dominus Arbitrationis and others for reporting.
 +
 +
* The game now passes in some extra debugging info to some of the deserialization methods so that when we get the "rowNamesByOldIndex null" error or similar we can tell why.
 +
** Thanks to trillioneyes for inspiring this change.
 +
 +
* There was a nullref exception that was harmless in the prior build of the game, but definitely annoying.  It happened when loading a savegame, but then the second time trying to load the savegame would not throw the error.  The error didn't actually hurt anything.
 +
** This is now fixed for future versions of the game, where it would have started hurting stuff.  It won't fix the errors from that one version of the game, but will keep them from happening from versions saved in new builds.
 +
** Thanks to trillioneyes for reporting.
 +
 +
* The DoForFleets() logic now includes a FleetStatus parameter that can restrict it from including un-owned planets.  Have not tested this, but it should solve issues like the count of turrets benefiting from a technology being wildly too high.
 +
** Thanks to ptarth, WeaponMaster, and Badger for figuring this one out.
 +
 +
* Put in a fix to the focused gravity generator to fit into a single line on the sidebar.
 +
** Note that the xml winds up looking like this:
 +
*** Already there: display_name="Focused Gravity Generator"
 +
*** Add this: display_name_for_sidebar="Gravity Generator"
 +
** This sort of thing lets us have longer names for ships, but some form of abbreviation specifically in the sidebar where we don't want things to wrap.
 +
** Thanks to Dominus Arbitrationis for reporting.
 +
 +
* Fixed a mostly-invisible bug where a warning was thrown about the escape menu having two references to the same control on starting up the game each time.  You'd have had to look in the log to even see it.
 +
 +
* Also fixed a bug in the metal flows window that was causing some duplicate info to be shown in some cases.
 +
** And another bug that was causing some empty metal flows to show up periodically.
  
 
== Version 0.873 Battlestation Overhaul ==
 
== Version 0.873 Battlestation Overhaul ==

Latest revision as of 15:30, 11 October 2019

Contents

Next Release Notes

AI War 2: Pre-And-Post Launch Polish

What was this phase all about?

The fleets work of the prior phase turned out to be a much larger undertaking than initially expected, but we also refined a whole bunch of other areas of the game at the same time. Finally implementing the new lobby and how a lot of that works, for instance. So a whole bunch of great things happened.

The downside was that there were still some things that were decidedly annoying that we knew we wanted to tackle, and that was initially what this phase was about. Making sure that nobody's playstyles are removed or invalid, and that everything feels balanced, and that there's enough to capture and think about, and that there's no substantial "netflix time" where you're just waiting around (unlike the first game). A lot of the initial discussions about all this were here, but other discussions were on discord and other places.

Eventually this also just became a period for continuing to fix other bugs and annoyances, and in general working on refining everything now that we're out of beta for the new fleets-based paradigm. And figuring out a whole new way to do tutorials, and get those back in, was a big piece.

Version 0.899 Intel Objective Difficulty Ratings

(Released October 10th, 2019)

  • Hacking waves can include Guardians again.

More Tutorial Work!

  • Fifth tutorial is added, although perhaps not quite finished.
  • A number of other miscellaneous tutorial tweaks from Puffin.

Scouting Improvements

  • Logistical Command Stations now Watch adjacent planets
    • Prompted by a long and periodically civil discussion on the Forums.

UI Improvements

  • The Metal Flow popup window now shows how much Metal your ships have Metabolized, and your per-planet metal income
    • Requested by zeus almighty
  • Objectives in the Intel sidebar now give an estimate of 'how hard this objective is', and are sorted from easiest to hardest within a category.
    • The estimate is a colour/heuristic number combination, similar in principle to the hacking difficulty estimate
  • Some tweaks to various colours in the Objectives to make things more consistent.
  • The selected planet no longer blinks.
    • Thanks to Badger for suggesting. It was bugging Chris, too, and it was Chris's idea.
  • On the galaxy map, you can now see the number of units stacked or contained inside of things like your fleet leaders. This keeps their icons consistent with those in the main game view.
  • On the galaxy map and planet view, the control group number no longer replaces the stack count -- which also is the count of ships contained in transports. That was pretty critical information that was being hidden!
    • Now, assuming that the fleet leader doesn't have an overlay icon on it already, the control group number shows up as an overlay on the ship.
    • Thanks to several folks for suggesting.
  • Animated galaxy map links for potential and incoming waves now use a more discreet scrolling texture instead of a pulsating line.
    • Tweak by Asteroid

Bugfixes

  • Added a potential fix for an issue where ship stacks could not be properly overkilled, only one ship would die when the whole stack should have died.
  • Fixed the AI Hunter / Killer and Fenrir prototype not actually doing any damage with the point beam.
  • Fixed a rare index out of range exception that could happen in GetCanHitByDesireOrNot_AndIAlreadyKnowIAmAWeapon.
  • Fixed a nullref exception that was possible to get in SendMessageToAllClientsAndSelf when you were quitting to the main menu out of a particularly heavy game.
  • Fixed a rare timing bug that could cause a nullref in CalculateHasAnyContents.
    • Thanks to NRSirLimbo for reporting.
  • Fix a bug where Combat Engineers weren't properly assisting in battles
    • Thanks to listsandlists for reporting, and Weapon Master for some very helpful debugging
  • Improve the hovertext of the minor faction beacons to make it clearer what they do.
    • Suggested by kmunoz and puffin
  • When the Science sidebar checks for entities that would be upgraded by a given Tech upgrade, count units in Loose fleets like Metal Harvesters
  • Add some defensive code to CalculateTransportedContentsCount
  • Update the Auto Build Engineers setting to be a boolean toggle instead of an integer, since the integer version didn't really work anymore
    • Reported by WeaponMaster
  • Fix a bug where the Tech menu would always list an incorrect number of each Command Station Type
    • Thanks to Asteroid for reporting

Balance Tweaks

  • Stealth Guardian engine 18 -> 9.
  • Spider Guardian engine 18 -> 14.
  • Macrophage Harvester mass 4 -> 7.
  • Normal Guardians (i.e not Dire) mass 6 -> 5.
  • Rippers paralysis now works on mass < 6, rather than < 5.
  • Dire Specter mass 5 -> 6, Eidolon 5 -> 7.
  • Dyson Bulwark mass 5 -> 6, Bastion 5 -> 7.

Unit Variants

  • Add the Ramifier variant of the Tritium Sniper Frigate.
    • Ramification - "a subdivision of a complex structure or process." Synonym for radiation, and in this context also used for shattering a target.
  • Add the Impactor Citadel.
  • Add the Drainer Citadel.
    • Thanks to zeusalmighty for suggesting all 3.

Version 0.898 Galactic Linkages

(Released October 7th, 2019)

  • All Quick Starts containing double AIs now has the second AI using a colour that isn't so easily confused with the first.
    • Thanks to I-KP, ArnaudB, and maybe someone else for reporting?
  • Default Nanocaust colour is now gold rather than a blue, as this could cause confusion with the default player colour in the Quick Starts.
    • Thanks to kmunoz for reporting.
  • Because of the above, two of the Fun With Factions Quick Stats have had the relevant factions (Nanocaust and Marauders) changed to use colours that you can actually tell apart now.
  • Updated the nanocaust beacon to be a lot more explicit on some of the risks and rewards that it might yield, while staying in-character for the game. We still need to do this for the other similar beacons.
    • Thanks to kmunoz and Puffin for suggesting.
  • The Nanocaust will now patrol the inside of its empire more evenly, searching for new enemies to conquer

Balance

  • The AI no longer generates Threat against Macrophages (they work like the Devourer in this regard)
    • This was annoying Badger, since the Macrophages were causing a ton of high-mark AI ships to just wander around the map in the early game
  • Allow Nanocaust units and Marauder Raiders to stack.

Bugfixes

  • Start work making the Fleet health estimation code (used for the % numbers in the selection window) aware of stacking; as is the estimates are wildly off since it counts all stacked ships as dead
    • Thanks to kmunoz for asking questions about this.
  • Fix a bug where large stacks with bad status effects were splitting unevenly, which isn't the goal. The uneven splitting code is intended for stacks that were unlikely to split otherwise, and are only splitting due to the bad status effect
    • Thanks to Asteroid for the bug report.
  • Fixed a bug where ships loaded into transport were not properly counting towards your fleet's current HP
    • Now you will properly see the fleet's HP as 100% (or whatever the true fleet HP is at that time) instead of only seeing the transport's HP vs total fleet HP.
  • Fixed a bug in Decollision Planning where if the DataForMark was null (which happens validly after entities die), then in recent builds it was able to cause a nullref exception. This was then causing some other unrelated downstream errors.
    • Thanks to I-KP for reporting, and Badger for finding the spot.
  • Fix two typos on loading screen, and one in resources tooltip.
    • Thanks to Asteroid for fixing.
  • Fixed a typo in the third tutorial.
    • Thanks to RabidSanity for reporting.
  • When stacked ships go into a transport, it now properly puts the whole stack in (but this is untested).
    • It also now properly takes the stack out as a whole (also untested).
    • It also now should properly count the extra ships in the stack for GUI purposes, factories, and other conditions (also untested, and this is where more bugs might be creeping in, because these were a ton of changes).
    • Huge thanks to ulu for reporting, Asteroid and Badger for furthering it along, and then WeaponMaster for hunting down what the actual issue was.

More Galaxy Map Improvements

  • Added a new "Icon Scale On Galaxy Map" setting on the galaxy map camera section of the settings menu.
    • Description: Depending on the size of your monitor, you may prefer the icons on the galaxy map (planets and otherwise) to be larger or smaller. The default is 1.5 since smaller than that was feeling a bit too tiny for anyone not on huge monitors.
    • Note: changing this doesn't undo what things were done in the prior release. It's still scaling the planet and its icons as a group, which is now more efficiently-packed and sized better RELATIVE to each individual part, regardless of what scale you choose. So it's kind of the best of both worlds.
    • Thanks to a variety of players, including Asteroid, for suggesting that we add something along these lines, and that the new scaling is a bit on the small side for their taste in a default sense.
  • You can now hover over the links between planets on the galaxy map and see a tooltip that explains directly what their status is. It also causes the names of the planets at both ends to appear.
    • Huge thanks to Asteroid for adding this!
  • The visuals for the links between planets that are actively under attack (via a wave that's incoming) now show as an animated pulsing line.
    • Thanks again to Asteroid for adding this!
  • Hovering over a planet on the galaxy map now makes its name show up automatically, so you can read it there rather than having to see the tooltips.
    • Thanks to Asteroid for inspiring this change.
  • When hovering over a link between two planets, the link now gets extra thick to give you even more of an indication of what you're hovering over.

Version 0.897 Commanding From The Galaxy Map

(Released October 4th, 2019)

  • ARSs can now grant up to 6 ship lines per Flagship. There are a lot of flagships that come with 4 ship lines already, which decreases the ability to customize your fleets efficiently.
    • Requested by Ozone. The 5 number was capriciously chosen anyway.

UI Improvements

  • Clicking on the AIP section of the resource bar now also shows the current AI mark level, and the AIP for raising the AI mark level.
  • Tweak the detailed metal spending text to improve readability and include colour.
  • Allow the metal planning flows display to work even with the game paused. Note you must have unpaused the game at some point for this to work.
    • Requested by the almighty zeus
    • This might also fix some nasty errors reported by NRSirLimbo.
  • Appreciably less verbose version of the weak against/strong against info. Combine multipliers when several attack bonuses accumulate.
    • Thanks, Asteroid!
  • Quick side diversion for Chris: two more of the startup-sequence funny/thematic text bits are now randomized rather than always being the same thing. Can you tell we start this game over and over again?
    • One of them is always something about "distant planets," which is the game loading in the planets data. We keep this on a specific theme so that we can know what part it's on if something fails.
    • One of them is always something about "ship parts," which is the game loading in the ships data (but not the visuals part -- and it used to just be "sequencing nanosphere," which got really old). We keep this on a specific theme so that we can know what part it's on if something fails.
    • Badger's favorites:
      • Ruining Perfectly Good Ship Parts
      • Wearing Ship Parts On Head
      • Offending Sentient Ship Parts
      • Violating Ship Part Bylaws
      • Maliciously Weakening Ship Parts
      • Demoting Insubordinate Ship Parts
      • Holding Ship Parts For Comfort
  • The tooltip for the fleets tab on the sidebar now has this added notes: "This tab is for management of your fleets, so left-clicking a fleet opens the fleet management window. If you want to select a fleet from this screen, you can, but you'll need to right-click it."
  • The selection bandbox is now blue instead of green. This feels way more in keeping with the visuals of this game, and a lot more modern. How did we not ever think to do this??

Bugfixes

  • Replace a few instances of 'Mercenary' with 'Outguard'
  • Put in some extra debug checking, and a possible nullref fix, inside target list planning. If the exception happens again it will no longer affect the actual flow of the game under the hood (just an annoying popup now), and we'll know where the actual exception is.
    • Thanks to Badger for reporting.
  • Fixed an issue where some tips could wind up not showing you the bottommost lines if there was a lot of word-wrapping.
  • Fixed a bug where holding shift was hiding the contents of the selected ships window, but not the window itself.
  • Fixed a pair of issues in the prior versions where decollision logic would not be run ever for ships with a current speed of 0 (from tractoring or whatever), so they would still stack up; and then also ships that were on the way to a wormhole or transport but then also had a current speed of 0 would STILL not be able to decollide.
    • These both combined to make it so that ships were stacking up like crazy still when they were being bombarded by spiders, widows, or tractor beams. This in general looked awful and made it hard to see what ships were there, making it also a usability issue.
    • This DOES of course mean that ships will be able to escape from tractor range some of the time, and that's regrettable, but generally if your tractor beams are in the direction the enemy is headed (the most common case) that's not possible anyway. The most likely scenario is ships trying to flee from a planet actually getting away from you when you were trying to stun them.
    • Thanks to WeaponMaster for reporting.
  • Fixed an extraneous space in the text for a lot of damage bonuses.
    • Thanks to RabidSanity and nomad_delta for reporting.
  • Fixed a bug where part of the placement icon could remain visible in the galaxy view when you switched in there while in build mode in the main view.
    • Thanks to Stormking2010 for reporting.
  • Fixed an incredibly annoying issue where the thing you're trying to place would disappear when you mouse over an existing ship.
    • Thanks to NRSirLimbo for reporting.
  • Eliminated some super annoying lag between selecting a fleet and all of its members actually being selected. This was most apparent on the new galaxy map drag-selection, but is now nice and snappy. It was something you could also feel when double-clicking a flagship, though.

Galaxy Map Improvements

  • The planet icons are now 75% as large as they used to be, on the galaxy map.
    • On a lot of screen resolutions these did feel too large and crowded, so let's see if this helps.
  • The icons for ships and fleets are now 60% as large as they used to be on the galaxy map.
    • Again with the crowding.
  • The icons for ships and fleets on the galaxy map used to be limited to just 6 per planet, which sometimes we were hitting on small maps with things crowded in (or games where players had a ton of fleets moving around together).
    • Now that these icons are smaller, we're allowing for up to 12 per planet, in three rows of 4 rather than 2 rows of 3.
  • The fleet leader icons on the galaxy map and the planet view now show the number of the control group that they are associated with in a gold color.
    • Thanks to arnaud_defrance for suggesting.
  • The icon for the type of the command station is now drawn on top of human planets (you or allies), so you can see what sort of coverage you have on the map).
    • Thanks to kmunoz for suggesting.
  • On the galaxy map, the display of the planet names and the text to the side of planets is now a bit smaller so that things are less crowded.
    • The text to the sides of the planets now also has a black border around it so that it can be seen better against the lines between planets, which can be quite bright at this point.
  • Fixed an issue on the galaxy map where depending on your camera's angle to a planet its text around it could be offset quite a lot from the icons that are there.
    • This still happens a slight bit, which is fine, but it's no longer so excessive.
  • Selected fleets on the galaxy map now actually show up as selected!
    • You still can't actually select them on the galaxy map, but that's coming soon.
  • Bunches of other small tweaks for the galaxy map planets to make them easier to read and cleaner.
    • The selection circle is less oversized compared to the planet itself (for the planet you're currently at), which also means that the planet can have its numerical text to the sides much closer in.
    • The mark level indicators are less huge and sit at a better position. Etc.
  • The planet that you're currently viewing now flashes slowly, to make it a lot more clear where you are if the galaxy is larger or cluttered.
  • When you use the intel tab to hover over a specific target, it now highlights ONLY that specific target and its planet, rather than all the matching planets. This is way more convenient for finding distribution nodes, etc.
    • Thanks to arnaud_defrance for suggesting.
  • AI planets that are adjacent to a world of yours and missing a warp gate now draw a dashed line to your planet, so you can tell it's protected.
    • Paired with the thicker lines that are there for adjacent planets that DO have a warp gate, you can really tell the difference at an immediate, visceral level which planets are safe or not.
    • When you're hovering to get a path between planets, it uses the thicker lines with no dashes, since it's confusing if that shows up during your pathing info.
    • This whole thing makes a REALLY surprising difference in the feel of the galaxy map, in a good way. Wow.
    • Thanks to Asteroid and kmunoz for suggesting.
  • Fixed a bug that had caused the "mouse over unit in units tab to find it on other planets" function to stop working back in 0.850. That sure is a handy feature for searching the galaxy in general!
    • Thanks to DEMOCRACY_DEMOCRACY for reporting.
  • After the first time the game is switched to the galaxy map (after you load a savegame fresh or start a new game), the game no longer will recenter the galaxy map without your permission just because you switched modes. Aka, you can set up a nice view of the map framing whatever it is you want to frame, and hop in and out of planets without that getting messed up.
    • It's amazing how much this improves the feel of the galaxy map, frankly.
    • Thanks to OzoneGrif for suggesting, and DeathMetallic for helping to inspire it.

Selecting Ships And Fleets On The Galaxy Map!

  • The galaxy map now works exactly like the planet view when it comes to selecting your ships and fleets:
    • You can drag-select, click to select fleets, and so on.
    • You can additively select stuff with shift held, or subtractively do it with alt.
    • Clicking somewhere other than ships or planets or the gui causes your selection to be reset to nothing, just like in the planet view.
    • One notable exception is that it doesn't have any sort of "military only, if there are any miltiary in the selection" limitations. That doesn't make sense here.
    • Also, when selecting fleet leaders, it selects the entire fleet at a time, since only fleet leaders are shown here. Essentially the only way to select lone ships instead of fleets is for structures or similar that get shown on the map.
    • When it comes to giving your ships orders from the galaxy map, that continues to work as it has in past recent releases.
      • Aka, you can give wormhole commands and chain them together, etc. Like the first game.
      • But you can't give attack or assist orders directly from the galaxy map. You CAN select stuff on the galaxy map and then go into a planet and give such orders, though.
    • Thanks to Radioactive, Corbeau, Zoreiss, and WSRainer for suggesting.

More Tutorials!

  • The second tutorial, this one focused on the galactic controls, is now complete and in place.
  • The third tutorial, this one focused on the basics of fleets and building, is complete. As Puffin notes, "it's a fairly...tricky thing to explain, and I imagine this'll be the tutorial with the most steps by far," so it's good to have people seeing it sooner than later and we'd definitely love any constructive feedback on this or any others in terms of things we're missing.
  • The fourth tutorial, talking about resources, technologies and hacking is also complete. This one most likely has some flaws, as Puffin was kind of...typing out the words soon as they came in at this point.
  • Vaguely tutorial related: Added a new "Extra: The Meanings Behind Planet Mark Level Colors" section to the galaxy map section of the "how to play / tips" section.
    • Thanks to ulu for inspiring this addition, since others will also likely be curious.

Tutorials Design

  • Put in some extra verbosity in the "can't hack" internals logic, initially thinking that we'd make some conditions for tutorials checking for things being hacked.
    • We may do that at some point, but in the shorter term this logic is probably better to use: For checking if a ship has been hacked, right now the best thing to do is see if it still exists or not. If it still exists, generally speaking, it hasn't been hacked.
    • If there are specific hacks we need to start checking for in a more robust way, we can base that off of some of the new internal verbosity, but it will probably require some coding on a per-hack basis for a little while. That won't last, but is the case for now.

Version 0.896 Strength and Control

(Released October 3rd, 2019)

  • The check for making sure under-constructions structures aren't eligible for repairs now correctly checks for under construction structures in hold fire mode.
    • In this case I'd bought a Zenith Power Generator from the Zenith Trader but didn't have enough metal, so I'd left it in hold fire more until I could afford it. But I kept being super low on metal...
  • Fix a bug where Instigators could be hostile by default to the Warden and Hunter Fleets in multi-AI games.
  • Put in a fix to hopefully reduce auto-kite making your ships wobble
    • Thanks to kmunoz for the report and save game, and to Varone for reporting.
  • Add a section in the Tips menu about the Galaxy map, and include a tip explaining how wormhole link colours are determined
    • Thanks to Arnaud de France for the bug report

Mercenaries Becoming Outguard

  • In general we now have mercenaries called outguard (if you see the word mercenary in the front end of the game still, please let us know), and soon they will work differently.

UI Improvements

  • The Metal flow planning data in the resource bar UI now reports which units are having metal spent on them.
  • "Toggle Ship Systems Enabled" was a really confusing name for the "hold fire" mode, although hold fire mode is also a bit of a misnomer because this applies to more than just weapons systems.
    • This has now been renamed to "Hold Fire/ Disable Ship Systems"
    • Thanks to Badger for reporting.
  • Indicate whether the AI has a warp gate adjacent to one of your planets by making the line extra thick if there is a warp gate, and extra thin if there is no warp gate. Add a Tip to the Galaxy Map section explaining this.
    • A number of people have wanted an easy way to tell if an AI planet has a warp gate, and this will highlight the relevant case (AI planet next to non-AI planet)

Sidebar Tab Changes

  • The Local tab, previously the Ships tab, is now the Planet tab.
  • The Mercenaries tab, previously the Ops tab, is now the Outguard tab.
    • In general we are re-theming mercenaries so that these are groups of other little factions that you can pick up to help you, NOT people you have to pay.
    • Under the hood a lot of places still refer to these as mercenaries to not break prior savegames, but on all the player-facing stuff we're working on switching it to be outguard.
  • The sidebar tabs now show what shortcut key opens them when you hover over them.
    • Thanks to kmunoz for suggesting.

Control Updates

  • Added a new Tooltips/Details section of the controls setting window, since that's becoming relevant.
  • "SplitSelection" used to be mapped to semicolon, but is now completely unmapped, and moved from the Common to the Selection section.
  • The "P" key no longer pauses the game. We already have the spacebar and the pause key mapped to that, and we need more keys for other things!
  • The Local tab, previously the Ships tab, is now the Planet tab. Instead of opening it with F, you open it with P.
    • Thanks to kmunoz for inspiring this change.
  • The Fleets tab was previously opened by R, but is now opened by F.
    • Thanks to kmunoz for suggesting.

Hold R to See Strengths and Weaknesses

  • Holding down the R key while hovering over a ship, or while in the tech screen, now shows you what ships the item is weak against (if you're looking at an enemy) or strong against (if looking at your own ships or an allied or neutral ship).
    • This is undoubtedly going to require a fair bit more work, and ships without specific attack strengths or weaknesses currently just show as "none," which is not super duper helpful. But it's definitely a starting place, and a big step up for now.
    • Thanks to a lot of people for requesting this, and Asteroid for implementing the weak-against version.

Version 0.895 Major Progress On Tutorials Framework

(Released October 2nd, 2019)

  • Hacking to make a dark spire VG vulnerable no longer gives your fleet the ability to build a new Vengeance Generator.
    • Thanks to NRSirLimbo for the bug report.

Bugfixes

  • Put in a potential fix for an exception in the AI long range planning, and some extra debugging lines. Haven't tested it yet, though.
    • Thanks to OzoneGrif for reporting.
  • Fixed a variety of bugs that were causing the local player name to not show up where "human remnant" was showing, and a related one causing tutorials to not let you select ships properly.
    • Thanks to Puffin for reporting.
  • Fix several crashes and error messages for the Test Chamber.
  • Ships and structures now use the same logic for their decollision as they do for their collision checks during placement mode, which should prevent them from being validly placed but then moving away from one another.
    • We did turn off some logic they had about decolliding at decollision destinations, though, so they may move around more now. We can adjust that again if need be.
    • Thanks to WeaponMaster for reporting the inconsistency. This needs more testing for sure.
  • When there are wormhole orders in the queue ahead of an attack or assist order for an entity, it will always consider the attack or assist order as valid.
    • This should keep ships from losing their attack orders on the way to a planet. Needs testing, though.
  • When you're placing static structures, it now tries a LOT harder to find valid nearby places for them, which is particularly important when trying to stack in a ton of them at once.
    • Quite often before it was saying it couldn't find enough room for things like area minefields when you were placing even just 5 of them in a kind of busy area.
  • If ships have a decollision move order as their first order, they now are still able to move even if they are otherwise stunned or tractored. This should keep ships from stacking like crazy when engine stunned and whatnot without letting them go TOO crazy.
    • This might be a horrible idea, though, so we'll just see.

UI Improvements

  • Continued incremental improvements to improving the colouring of the AIP history to reflect which factions did what
    • Also use the player's account name instead of just saying "Human" in the history log. Note this should play nicely with multiplayer.
  • When you're in a tutorial, a bunch of the stuff in the escape menu (factions list, etc) doesn't show up anymore.
    • Now in place of those things, it shows a list of all your previously-completed tutorial steps and their text, along with the text of the current one you're working on.
    • Thanks to Badger for suggesting -- we finally have that log he's been wanting forever!
  • In the tutorials, it now shows the step you're on as having the first step as 1 rather than 0, which feels way more appropriate.
  • Added a new "Build 10x Units" button, which defaults to the alt key.
    • If you hold this in combination with the existing "Build 5x Units" button (ctrl key), then it will now build 50x at once.
  • When you're in placement mode, it now has a little message showing what you're placing, and the keybinds for placing multiples (5, 10, or 50).

Stacked Unit Death Improvements

  • Stacked units now die 'off the top' instead of the bottom (ie the visible GameEntity no longer dies, but the number of squads in the stack decreases as one would expect). This prevents shots aimed at the stack from being lost when the bottom of the stack dies dies and a new unit replaces it from the stack. Significant balance implications; stacks seem to die much much faster now.
    • There are also now explosions visually and aurally generated when ships die this way.
    • Thanks to NRSirLimbo for the report and Arnaud_defrance for a useful testing save.

Tutorial Design Framework

  • Tutorial Design: added a variety of new should-be-fully-functional (but untested) step conditions:
    • Documentation here: https://wiki.arcengames.com/index.php?title=AI_War_2:_Tutorial_Step_Conditions
    • PlayerHasCountOfSpecificShipAnywhere
    • PlayerHasCountOfSpecialEntityTypeAnywhere
    • PlayerHasCountOfShipTagAnywhere
    • PlayerHasCountOfAnyShipAnywhere
    • PlayerHasCountOfSpecificShipOnPlanet
    • PlayerHasCountOfSpecialEntityTypeOnPlanet
    • PlayerHasCountOfShipTagOnPlanet
    • PlayerHasCountOfAnyShipOnPlanet
    • PlayerHasResearchedTechNumberOfTimes
    • PlayerTotalEnergyAtLeast
    • PlayerNetEnergyAtLeast
    • PlayerControlsAtLeastXPlanets
    • PlayerControlsSpecificPlanet
    • GameIsPaused
    • GameIsUnpaused
    • GameIsWon
    • GameIsLost
    • EnemyCombatantsOnPlanetLessThanOrEqualTo
    • EnemyShipsOfSpecificTypeOnPlanetLessThanOrEqualTo
    • EnemyShipsOfSpecialEntityOnPlanetLessThanOrEqualTo
    • EnemyShipsOfShipTagOnPlanetLessThanOrEqualTo
    • HostileStrengthToSelfRatioOnSpecificPlanetIsAtLeast
    • HostileStrengthToSelfRatioOnSpecificPlanetIsLessThan
    • HostileStrengthToSelfAndAlliedRatioOnSpecificPlanetIsAtLeast
    • HostileStrengthToSelfAndAlliedRatioOnSpecificPlanetIsLessThan
    • PlayerHasSelectedCountOfSpecificShip
    • PlayerHasSelectedCountOfSpecialEntityType
    • PlayerHasSelectedCountOfShipTag

Actual First Small Tutorial!

  • A new "Examples" category for tutorials has been set up with non-tutorials in there. We can also put inwork tutorials in there.
  • The first tutorial, from Puffin, is now ready and covers the very basics of movement and controls. We're keeping these bite-sized on purpose so that people can go through things in small chunks and skip things that is not of interest to them.
  • The warning about tutorials not being ready has been removed from the button on the main menu, so now you can get into the tutorials directly without it giving you a warning off about it. We need more tutorials, and those are certainly coming, but for now there's at least one in place.
  • The ending scenes are no longer allowed to play during a tutorial, if you win or lose. That definitely seemed like overkill for those.
  • The last stage of a tutorial now tells you how to exit, and even lets you click directly on it to open up the tutorials list and choose another.
    • It saves you quite a bit of tedium with going into the escape menu and hitting quit and so on, as well as potential confusion.

Version 0.894 Desaturation And Cross-Planet Move Orders

(Released October 1st, 2019)

  • The reinforcement cap for AI planets is now modified based on the AI difficulty for the AI in question
  • ARS now allow merging ships lines if the flagship has 5 ship lines already
    • kasnavada (and probably others) pointed this out
  • Fix a null reference exception in the hovertext for ARS objectives
  • ARS can no longer provide your ships with Combat Engineers in new games. Existing games still keep them.
  • Add "Autobuild Watchman Frigates" and "Autobuild Assault Frigates" settings
    • Note that you probably never want Autobuild Assault Frigates unless it's late game and you have tons of metal and energy to spare...
    • Requested by Yog-Sothoth
  • Fixed a really longstanding bug where sometimes the planet tooltip could throw a nullref exception deep inside TextMeshPro because we were passing in a null.
  • Instigator Bases are now always visible even on planets you've only explored

UI Improvements

  • Remove an incorrect warning message in marauder hovertext
    • Thanks to Ozone for reporting.
  • Improve the AIP change history to include the faction colour of structures that have been killed. Note this will only affect things killed on this patch; older things killed won't show colours
    • For the multi-AI case it's kinda fun to see which AI factions you've done more damage to.
  • There are now icons on the build menu, over next to the existing text that was there.
    • Thanks to Asteroid for adding this, and for being the first person to actually update a ui prefab directly other than Chris! ;)

A Long-Requested Feature: Cross-Planet Move Orders

  • Improve the galaxy map UI for showing queued moves; should handle additive and non-additive moves correctly now.
  • Fix a bug where the galaxy map wouldn't correctly change the link thickness between planets if you had queued moves
  • Add support for cross-planet move orders; if you have ships selected on planet B and issue a move command on planet A, the ships on planet B should now move to the correct point on planet A.
    • It would not surprise me if there were still some bugs in here, so please let us know if there are any problems seen (a save game and reproduction instructions, like "Load the game, select fleet X and try to move it to planet Y" would be great)
    • Requested by a lot of people, including Asteroid and I-KP
  • Fix a bug where queueing many wormhole commands on the galaxy screen could cause confusion if the ships were on different planets
    • Thanks to Puffin for reporting.

Border Thickness Around Icons

  • The borders around ship icons (and planet icons on the main map) are now half as thick as before. This makes the shapes of the ships a bit more apparent, and hopefully will not inspire people to want to shrink their icon scale in the in-game view (because then things really do become impossible to see unless your screen is giant).
    • The idea is to still have the two-tone colors for ships and planets, which is there, but not have it be all that aggressive or too "soft looking" in a fashion that seems "less serious."
    • Thanks to Arquebus X for suggesting.

General Saturation and Brightness

  • Added two new settings to the Display section of the settings menu:
    • Display Saturation
      • The entire game will become more or less saturated based on your choice here, which can have an effect on how 'colorful' or 'serious' the game feels. Tune to taste between 0.1 and 1; the new default is 0.8.
    • Display Brightness
      • The entire game will become more or less bright based on your choice here, which can affect the mood of the game OR compensate for your monitor being brighter or darker than average. Tune to taste between 0.6 and 2, with the default being 1.
    • This is something that, combined with the icon border thickness, should help to make the general presentation of the game feel more "serious" with the defaults that the game now has. Some people felt that things were too colorful and that detracted from the military feel of the game. This lets the default be a bit more warlike and depressing in style, fitting the theme of the game, but allowing for the full color brightness (or even more brightness) if people want that.
    • Thanks to a variety of players for suggesting this over the last year or so.

Tutorial Design Framework

  • Tutorial Design: On the main tutorial node itself, there are now some things for skipping the seeding of specific stuff that is seeded around the galaxy during normal games. This stuff is all faction-specific:
    • skip_macrophage_telium (the macrophage won't work if you enable this but don't actually specify some planets to have telium on yourself, but this lets you choose the planets yourself).
    • skip_nanocaust_hives_and_beacons (the nanocaust also won't work if you don't spawn a hive somewhere yourself manually, or if they're on-but-not-enabled, then you should put the beacon somewhere so that players can find them and wake them up.)
    • skip_dark_spire_vengeance_generators_and_wards (the dark spire won't work without VGs being spawned somewhere, and if you want the AI to have its usual dark spire ward on its homeworld then you'd also need to put that in manually).
    • Thanks to Puffin for suggesting.
  • Integrated System.Linq.Dynamic into our main project; apparently it's not normally part of .NET.
  • The earliest parts of actual steps in a tutorial, and conditions that go inside them, are now implemented. These will have some dynamic text, but for now we've just been testing out our new framework for finding and exporting said text.
    • There's a new debug_all_step_text_on_load bool that can be set to true on the general tutorial object, and in that case when you first load up a tutorial it will dump all the text silently to the log, thus letting you look at the log to then identify any errors in it.
  • The game engine has been extended so that we can now click text sections without them having to fully be a button. This lets us have expandable areas like the "ongoing text" section in the upper right corner be clickable without losing their special functionality.
  • The tutorials now actually show the text associated with their steps, and the count of steps, in the same fashion that they used to. But this time it's data-driven.
  • The tutorials no longer advance automatically when all of the conditions are met for the stage they are at. In fact, it's possible to have condition-less tutorial steps, now.
    • The final action for any tutorial step is to click somewhere on the tutorial text box, where little non-obnoxious flashing text appears when you meet the criteria for the step.
    • In the old tutorial system, people were often missing things because the text would advance automatically when they happened to meet all the criteria when they got to it. Now that can't happen.
    • We went with just a clickable big text area because adding in a visible button would compete for space in that area.
  • Tutorial Design: added a variety of new fully-functional (but not all tested) step conditions:
    • PlayerViewIsOnGalaxyMap
    • PlayerViewIsOnAnyPlanet
    • PlayerHasSidebarMenuOpen_Local
    • PlayerHasSidebarMenuOpen_Build
    • PlayerHasSidebarMenuOpen_Tech
    • PlayerHasSidebarMenuOpen_Hacking
    • PlayerHasSidebarMenuOpen_Merc
    • PlayerHasSidebarMenuOpen_Intel
    • PlayerHasSidebarMenuOpen_Fleets
    • PlayerViewIsOnSpecificPlanet

Version 0.893 Usability and Tutorial Prep

(Released September 30th, 2019)

  • Make Dark Spire hacks more interesting by allowing more of those hacks to scale in difficulty off of the amount of hacking points you've spent already
  • Fix a bug where we weren't correctly handling multiple queued Wormhole movement commands issued from the galaxy screen.
    • Still some work to be done in this area though
      • Thanks to Ozone on Steam (and probably others) for reporting.

UI Improvements

  • Continued incremental improvements on improving Objective hovertexts.
  • Play the AIP log from Most Recent to oldest (so the most recent changes will be at the top).
    • Suggested by Ozone on steam.
  • Fix an issue where the hovertext for Tech Vault hacks on planets without hackers was not helpful
    • Thanks to Asteroid for reporting.
  • Rework of how the hacking difficulty estimation is done. We now keep a table of all the current 'best difficulty estimates', then compare the estimated hack difficulty with our table. The table contains only approximations because it doesn't know the target faction when we compute things (example: in the multi-AI case, different AIs will respond with different strengths depending on AI difficulty/number of hacking points spent already. This table doesn't know which AI will be hacked, so it's inaccurate).
    • If the estimated difficulty of the hack you are looking at is comparable to the bottom fifth of the table, use the colour that indicates Weakest Response. If your estimate is comparable to the top fifth then use the colour that indicates the strongest response, and so on.
  • More discoverability for hacks:
    • Hackable objects display the name of the possible hacks - including sabotage - in their tooltip.
    • Hacks display what they will target in their tooltip.
    • Sabotage displays the list of potential targets.
    • Fixes problem whereby two Coordinators could be generated on the same planet and you couldn't know which would be targeted by which hack. The same problem is perhaps possible with GCAs, in which case this won't help because they all have the same name.
      • Thanks to Asteroid for this enhancement.
  • Holding down the shift key now hides the planet tooltip, the "ongoing text display" that could be in the upper corner telling you about lengthy warnings, the notifications list at the top of the screen, and the selected ships window in the bottom right corner.
    • Essentially all of those things are quasi-useless without tooltips, and are things that might be obscuring your view, so the neighborly thing is to get them out of the way.
    • This should solve a couple of complaints about the "ongoing text display" being in the way on the galaxy map in particular, but hopefully it doesn't become irritating on any other aspects of it. Thanks to zharmad for reporting this one.
    • The planet tooltips not being hide-able were particularly wrong, since they said they could be hidden. Thanks to I-KP for reporting that.
  • Additionally, the intel tab tooltips now actually say that you can hold shift to hide their tooltips, which is useful for when you're wanting to view the planets they highlight. The intel tab tooltips already DID work this way, but they didn't have any visual indication.
    • Thanks to I-KP for reporting.

Map Generation Major Good/Bad Distribution Rework

  • The entire mapgen code logic for what ships block which other ships has been redone.
    • Previously it was very hard-and-fast in terms of "you can go here or not," which wasn't super helpful on crowded maps or on very small maps.
    • Now it instead looks at things which are completely blocking early -- namely an entire faction taking over a planet, which is rare -- and then it gets more flexible with everything else.
    • After it seeds those early things, it then makes a strong attempt to keep the number of big good things spread apart, but no longer tries to separate them from big bag things. We also have small good and small bad things that we try to keep spread apart in their own category, but that we don't care about overlapping beyond that.
    • This actually will add more texture in ALL games, not just crowded or small-map ones. Essentially you're more likely to see some planets that are "extra good" with lots of cool stuff, or "a real mixed bag" with awesome stuff and super scary stuff, whereas before thosee were always kept rigidly separate.
    • This also fixes the issue of a lot of small maps being unable to generate because they didn't have enough room to seed everything.
    • Thanks to NRSirLimbo, Ribald, UFO, Asteroid, for inspiring this change.

Tutorial Design Framework Expansions: Map Design Completion

  • Tutorial Design: skip_seed_special_entities has been added to tutorials, which lets us say "don't seed any of the special capturables in the normal fashion" if we don't want that to happen.
  • Tutorial Design: command_station_point has been added to the planet_ownership_and_spawning nodes. If left at 0,0 then it will seed using the automatic logic. If specified as something else, it will be offset from the center of the planet by the amount specified.
  • Tutorial Design: test ships only seed on the human homeworld now in non-tutorials.
  • Tutorial Design: Under planet_ownership_and_spawning nodes, you can now specify ship_placement that let you specifically put in whatever ships you need.
    • These have a faction attribute which should match the name given to the faction up in the place where you initialized factions (like "FirstPlayer" for instance).
    • They also have a type attribute which is the type of ship/structure to seed.
    • And then a placement_point attribute which specifies the offset from the center of the planet, or you can omit it or leave it as 0,0 to have it randomly place the entity somewhere.
  • Tutorial Design: Added the following boolean flags for planet_ownership_and_spawning planet nodes that allow you to turn off various things on the human home planet in tutorials:
    • skip_player_home_forcefield
    • skip_player_home_engineers
    • skip_player_home_factory
    • skip_player_home_human_settlement
    • skip_player_home_human_cryogenic_pods
    • skip_player_home_initial_combat_fleet
    • skip_player_home_initial_battlestation
    • skip_player_home_initial_support_fleet
    • Note that if you turn off the initial combat fleets you can wind up with something that is absolutely unplayable because you can't attack. So you need to have it seed another combat fleet in its place, which can be hand-designed or randomized as you wish.
    • If you want to manually-position things or give the player an atypical start, you can use these to turn all the stuff off. Otherwise it's a good idea to leave most of this well enough alone because you then have as consistent an experience as possible for players doing tutorials compared to the regular game. But it depends on the tutorial, of course, so it's always a judgement call.
  • Tutorial Design: There are new values, also on planet_ownership_and_spawning planet nodes, which let you define what the starting fleets are of each type for a player.
    • initial_battlestation_fleet, initial_battlestation_fleet, and initial_support_fleet.
    • Since tutorials would otherwise likely choose a random starting fleet of each type, if you're using these starting fleets and want them to have consistency, it's a good idea to set these on the player homeworlds.
  • Tutorial Design: added a new number_of_metal_spots to planet_ownership_and_spawning nodes that lets you set how many metal spots there are on planets. If it's <= 0, then it will be the usual randomized amount based on the map seed.
  • Tutorial Design: added a number of new tags for use on AI planets via the planet_ownership_and_spawning nodes, letting you control if the default seeding for a lot of various things kick in or not:
    • skip_ai_wormhole_sentinels
    • skip_ai_guardians
    • skip_ai_guard_posts
    • skip_ai_initial_turrets
    • skip_ai_initial_non_turret_defenses
    • skip_ai_initial_strikecraft
    • If you want to exactly design what ships and posts and whatnot are at an AI planet, via the ship_placement nodes, then turning off some or all of these would be the ideal.
    • Note that these don't affect later reinforcements of any of these things. They only affect initial seeding.
  • Tutorial Design: On the main tutorial node itself, there are now some things for skipping the seeding of specific stuff that is seeded around the galaxy during normal games.
    • skip_ai_normal_planet_nasty_picks
    • skip_spire_archives
    • skip_civil_war_triggers
  • Tutorial Design: On the main tutorial node itself, there are now some things for skipping the seeding of specific stuff that is seeded around the galaxy during normal games.
    • skip_all_galaxy_wide_capturables_and_obstacles (skips all the stuff that would be seeded as capturables or obstacles around the galaxy that are not faction-specific).
    • skip_mobile_strike_combat_fleet_flagships
    • skip_tech_vaults
    • skip_advanced_research_stations
    • skip_global_command_augmenters
    • skip_battlestation_basic_fleets
    • skip_mobile_support_fleet_flagships
    • skip_mobile_lone_wolf_fleets
    • skip_battlestation_citadels
    • skip_mobile_officer_combat_fleets
    • skip_zenith_goodies (Zenith Power Generator and Zenith Matter Converter)
    • skip_intragalactic_coordinators
    • skip_coprocessors
    • skip_distribution_nodes
    • skip_normal_data_centers
    • skip_major_data_centers
    • skip_super_terminals
    • This pretty much handles all of the non-faction-specific stuff in both a granular and generalized format. Assumedly if you seed a faction other than these into the galaxy, you want to be able to use their things.
  • Tutorial Design: On the main tutorial node itself, there are now some things for skipping the seeding of specific stuff that is seeded around the galaxy during normal games. This stuff is all faction-specific:
    • skip_warden_bases (you might want to place these manually, and you can't easily turn off the warden itself)
    • skip_astro_train_stations (you had better manually place these if you turn off the automatic placement, or astro trains won't work!)
    • skip_mercenary_beacons (if you don't want the player to be able to find these things but you have mercenaries added in, or you want to spawn them yourself).

Balance Tweaks

  • Marauder Outpost Turrets now inherit from the AI ones, and not the giant player ones.
    • They have a flat count cap, rather than a strength one, so these were...troublesome.
    • Additionally, we've stolen their Beam Cannons. The Turret ones, anyhow.
    • In existing games, some of the Turrets will remain in their giant state - an unfortunate quirk of how they were set up originally long ago. New ones should be the AI Turrets, however.
    • Thanks to arnaud_defrance for prompting.

Basic Quickstarts

  • These have been redone a little, now all using the Simple Ensemble AI rather than Full Ensemble.
    • They also start at Difficulty 4, aimed at people who have never played an RTS before, going up to only Difficulty 6 with 2 AIs at maximum, instead of 7 with 2 AIs.
    • They additionally have double the Cryopod and Home Settlements than the default.
    • Lastly, the Start using the Raid Fleet now uses the Classic one.
      • Thanks to arnaud_defrance for prompting.

Version 0.892 All Ship and Structure Visuals Done!

(Released September 27th, 2019)

  • Fix a null reference exception possible with wormhole invasions.
    • Thanks to zeusalmighty for reporting

Visual Upgrades

  • Visual improvement: Parasites have been uv-unwrappped and re-textured in a more mechanical style with glowing purple lights rather than trying to have the entire model use subsurface scattering style that was not showing off very well.
  • Visual improvement: The three macrophage ships/structures have all been completely redone, as well as uv-unwrapped, and now have a green look to them and a sort of crystalline style with some interplay of light and shadow in them using our standard shader to get the effect. Pretty surprising effect, but quite cool, and more thematic for the macrophage. This also lays down some basis for how we'll do the dark spire visuals, although the color schemes are different. Originally we wanted to go more slimy or mold-like with this, and we did have convincing slime set up, but it just looks kind of bland and gross rather than enrapturing like the crystalline style does. So we went crystalline.
  • The AI Warp Gates and Dyson Warp Gates have been updated a lot visually, with all-new shaders and a much more attractive style to them, and there's a new color-shifted version of the AI Warp Gate for the Exo-Galactic Wormhole.

31 New Ship/Structure Graphics

  • Added new ship graphics for the menacing Dyson Antagonizer structure of the AI.
  • Spider Guardians now have their own new model rather than using the widow guardian model.
  • The Paralysis Guardians now have their own new model rather than using the widow guardian model.
  • The Temperamental Guardian now uses its own new graphics, rather than using the (otherwise-unused) EMP Guardian graphics. We'll probably use the EMP Guardian at some point for an actual EMP Guardian.
    • Similarly, the Tantruming Guardian now uses the same new model as the Temperamental one, but with angrier lighting and so forth to show that this is its angry form.
  • The fragmenting guardian now has its own unique visual style, with some bits of zebra-striping that kind of hint at its function a bit.
    • The fragmenting guardian shard is also based on the original material-wise, but is split into a base that is smaller and stripped-down, like a bit of a core left behind after the original broke.
  • A new version of our standard shader has been put together that allows for rim lighting / fresnel effects. We needed something to help design an interesting effect for the Dark Spire.
    • All of our general translucency effects for the spire that are used elsewhere just don't work for the dark spire, since they are predicated on... well, light! Emission and subsurface scattering of light, specifically. So we had to come up with a whole new concept, beyond just doing a color inversion (that looks like an obvious cheap trick when attempted).
    • What we came up with is a sort of "black metallic shell" style, which is cool in the sense that it feels like you're looking at a spire that has encased its luminescent body in a dark protective armor. That seemed fitting!
    • But the problem with that at core is that for it to be properly dramatic, the ships become super duper hard to see against dark backgrounds in particular. So we thought to add in some red rim lighting to make those pop out while still retaining the drama of the darkness, and in the end it's kind of the best of both worlds.
    • Interestingly, as with the Macrophage this wasn't really what we had originally had in mind for materials design for the Dark Spire, but this is what wound up looking best and feeling right as we experimented with things.
    • Thanks to the fresnel effect and the translucency of subsurface scattering both being view-dependent in terms of how they display, this also makes it so that both types of spire have that in common that they look very different from different angles, which is another nice connective thing for them.
  • The four Dark Spire ships -- Wraith, Phantom, Specter, and then Eidolon -- all now have dark-spire-style graphics unique to themselves. They really do feel like an alien presence, and not a friendly one.
  • The Dark Spire Ward, a hybrid AI and Dark Spire ship, now has visuals in place that show how it's an AI structure with some dark spire components grafted on to keep the other dark spire away.
  • The Dark Spire Vengeance Generator/Locus now has its own graphics that are in the form of a spinning mysterious organic lattice spherical gate with the dark spire styling on it.
  • The guard posts now have a new visual base for themselves, and specific guard posts now have their own turrets and materials based on that base:
    • The ones in use are under-construction, pike, sabot, nucleophilic, mlrs, concussion, forcefield, and stealth as far as the non-dire guard posts go.
  • The dire guard posts now all have unique visuals for each of themselves, too. They are larger than regular guard posts and have a very different sort of visual outline, so they should make the entire planet they're on feel very different (ah, fond memories of that in the first game!)
    • There are three that are dire versions of the base guard posts, and they have some things to make a visual connection while being distinct: sabot, concussion, and nucleophilic.
    • Then there are a bunch of new ones that are only ever dire: tesla, spider, tethuida, heavy beam, gravity, shredder, and parasite.

Visual Upgrades For All Planets

  • The planets packages from both Nova Shade and Forge3D have both been updated to more recent versions, fixing various shader issues.
    • We're also using a higher-quality set of textures with these planets, so that things remain looking more crisp and HD when you zoom in. This does use more RAM in general, and slows initial loading slightly, but doens't put much extra load on the GPU realy, and has a pretty high impact on visual fidelity when you're zoomed in in particular.
    • We've also updated these shaders some ourselves to do things like stop ambient light from messing with them, and to turn off the specular highlights that looked super duper unrealistic.
      • So on top of things being updated in general, there's now a whole new level of quality to the shaders, the textures, and so on. Zoom in to your heart's content!
    • There's also a new ice planet in addition to the snow planets, in place of one of the many ocean planets that was getting a bit repetitive.
    • This does change the planet data from being 70mb on disk to being 680mb instead. Whew!
    • Thanks to Asteroid for pointing out some of the shader glitches, and pointing us down this rabbit hole. The game looks far better for it!

Balance Tweaks

  • Devastator reworked to fire barrages of missiles that have both the MLRS and Concussion damage bonuses, instead of just being a Siege Frigate with shield bypass instead.
  • Forcefield Guardians now actually cover stuff.
  • Greatly increased the effects of Spider units.
  • Added a new "WeaponJam" target evaluator, for use on things like the Inhibitor Citadel and Inhibiting Tesla Corvettes.
    • Thanks to Democracy I think for prompting this with a comment in Discord.
    • This is applied to said Citadel and Corvettes, plus the Dark Spire Eidolon, and the Dire units which used it.
  • Speaking of Dire, both of those Tesla units now do the maximum total weapon jam time possible.

4 New Ship Variants!

  • Add the Ram, Fusion Saw, Kite, and Ion Disruptor ship variants.

Version 0.891 Vast Tracts of... Ship Graphics

(Released September 24th, 2019)

  • Start adding colour to the tooltips in the Intel menu. The readability of things like 'flagships to capture' objectives is Massively increased as a result.
    • Still more to do in this area
  • Fixed a bug with the tech unlock hack where it was still costing you science, making it useless.
  • Every 5 minutes the rate at which anti-player zombie attrition unit doubles
    • Prevents AI healers from keeping zombies alive forever. Thanks to Oufee on steam for the bug report
  • Attempt to make queued wormhole orders reflected in the selection-move UI in the galaxy map.
    • I don't think it works very well yet. Asteroid, Delor from Steam and nomad delta (among others I expect) asked about this
  • Fix a bug where sometimes a player's strength values for a planet on the galaxy map would just look white
    • I forget who reported this.

Dark Spire Changes

  • Instigators and Macrophage now provide less energy.
  • The conversion ratio now increases more slowly on lower intensities, and there is a cap to the conversion ratio. The cap includes the AIP when it is calculated so the Dark Spire can get stronger over time.
  • Player structures no longer give energy when dying.
    • It was too easy to trigger dark spire attacks when scrapping turrets, and we want players to be able to move their turrets around without worrying so much about it.
  • When you hack a VG for a ship design, only that VG will start to generate energy permanently, not every VG
  • Allow the player to hack each VG to get additional ship designs up to 3 times, and allow the player to get both the Phantom and the Wraith. The game also now tracks which factions have hacked it, so this should now work nicely with multiplayer
  • After you hack a VG for a ship type, that VG will start to generate energy every few seconds regardless of whether there is combat going on. The more times you hack the VG the faster energy is generated
  • Thanks to NRSirLimbo for a spirited lament about Dark Spire balance, which prompted these changes

35 New Ship Graphics!

  • Astro Train Depots now have their own unique visuals and look large and exciting.
  • The "AI Controller" model, which we had been using for guard posts, no longer has issues when you zoom out from it too much.
  • Global Command Augmenters now use what was (looong ago) the Advanced Starship Constructor, but with some cool shader changes that make it look more glassy/alien in a cool way.
  • Zenith Power Generators now use what would have been the Planetary Cloaker visuals, but we never wanted to implement that unit (it's annoying as heck). It has shader changes to make it look more appropriate as a ZPG.
  • Zenith Matter Converters are now based on what was the Human Controller, super long ago, but with some visual updates to be more fitting for the new use. Always loved this particular visual.
  • Stingrays, AutoBombs, and Parasites all now have their own unique graphics that are cool and thematic and all-new.
    • Parasites are going to be recolored in the next version, though their shape will stay the same. It doesn't look quite right yet.
  • Risk Analyzers have new graphics that are basically a heavily-greebled cube with glowing evil-looking bits, all of it spinning on two axes and deforming slightly as it does so. It's very menacing, which is fitting for such a freaky structure.
  • AI Eyes now have unique graphics for each type (plus two unused "generic" eye models if we need to use those in the future temporarily for whatever reason), and they now look different when they are alerted and not alerted. Alerted eyes gain a second iris/pupil on the back of the robotic eyeball, and start spinning.
  • Astro Trains now have unique graphics for each of the three types, plus an unused "basic" type that also looks super cool and that we can use as a temporary stand-in if we ever need to. We're really pleasd with how thematic these turned out, while still sticking to the purple shuttle/train theme that was originally envisioned for them back in 2009.
  • Nanobot Centers and Hives now have their own unique graphics, with a new technical/corrupted green animation that is part of them, along with some mechanical insect-like appendages sicking out of core space station designs, to fit with the new visual theme that is for this faction. Thanks to Chris's daughter for helping make these as creepy as possible. Elementary schoolers rock. :)
  • Nanobot Aberrations and Abominations now have their own unique graphics, looking like guardians or large frigates that have been partly corrupted by the robot-insect/technical-corrupted animation on them.
  • Nanobot Mutations now look like color-shifted V-wings that have also got a mechanical-insectoid growth coming out of them. Creepy!
  • Similar for Anomalies as variants of Bombers, and Deviants as variants of Concussion Corvettes.
  • The Ambush Turret now has its own graphics (finally!), and is appropriately kind of flamethrower-like in most ways.
  • The Instigator Bases now have their own graphics, as a vaguely command-station-like base that is spinning menacingly.
  • The troop accelerators and distribution nodes now have their own unique graphics.
  • Marauder Outposts now have their own unique look, with new graphics. We didn't go SUPER evil with these, kind of a muted-angry instead, since a lot of people play with these as allies. The general look of their base is that they are powerful and rogue-ish, hopefully.
  • All three minefield types now have unique mines shapes and lighting, for the first time having appropriate graphics at all that makes sense for these. Now you can actually see those minefields you made!
  • The Macrophage Telium now has real graphics for the first time, looking like a cross between a spore and a sea anemone, sort of. It's a very strange organic alien structure.
  • Same with the Macrophage Spores, which now look like a strange and sickly-colored... well... giant space spore!
  • The Macrophage Harvesters are now vastly more clear in terms of what they are, thanks to all new visuals. Basically they're an upgraded, angry spore. This takes the base of the spore and lets it grow essentially some menacing tentacles that look a lot more ship-like, and makes the color a lot more aggressive.
    • The macrophage stuff is all going to be recolored in the next version, as it doesn't look quite right yet. This goes for all three units of it.

Version 0.890 Lighting and Darkness

(Released September 19th, 2019)

Balance

  • Add the Technology Vault structure; hacking this will grant +1 to a tech line to the player.
    • Suggested by Zeusalmighty.
  • Brought back an element from the first game, at least for now, in an experimental sort of fashion: anything that is firing out from under a forcefield now does only 50% of the damage it would normally do.
    • This makes it advantageous to keep some of your turrets outside of forcefields, or at least to have them COME out from under forcefields as shields shrink. It also keeps forcefields from being such a force-multiplier that it really throws off the strength ratios that ships have.
    • We'll see if we keep this; if people hate it, we either won't or we'll make it optional. But this is something that served us well in the first game.
    • Thanks to overzot for bringing this to our attention.
  • If you kill an AI, that AI stops spending income and goes rogue, becoming hostile to all the other AIs. This is only pertinent for the multi-AI case (or if you want to kill a single AI then conquer the rest of the galaxy, that will now be easier)
    • Note that once you kill an AI, the other AIs are likely to become more powerful
    • Thanks to zeusalmighty for suggesting
  • Hacking an ARS to get a new ship line is now slightly cheaper
  • Reduced Fusion Tech costs to that of Concussion.
  • When calculating AI income in the multi-AI case, the AI gets reduced income only based on the number of allied AI factions (so in the civil war case, the AIs all get more income)
  • Marauder outposts now get fewer drones and more turrets. Goal is to have it be power neutral, but to reduce the number of ships flying around; they look messy and are a performance drag on planets with lots of outposts

Instigator Balance

  • Instigators now spawn every 80 minutes for difficulties 1-5, 70 minutes for difficulties 6-7 and 60 minutes for difficulties 8-10. Also put in a bit of randomness where they can spawn up to 6 minutes later, so it's not quite so predictable
  • Instigator bases are now prefer to spawn on mark 1 or 2 planets before 150 AIP, and mark 1, 2 and 3 planets before 300 AIP.
    • They can violate this rule if there are no valid choices, however
      • Thanks to discussions with kasnavada for prompting these changes

Energy Generation Clarity

  • Energy collectors are now deprecated and only exist in older savegames but do not grant any energy anymore.
    • The tech for energy collector upgrades is also deprecated, and Human Cryogenic Pods no longer get upgraded by any tech.
    • Human Home Command Stations now generate 350k energy rather than 50k energy. This offsets what the energy collectors they had used to generate.
    • Economic Command Stations now generate 400k energy rather than 100k energy, and have level-up energy amounts that also offset the energy collector losses.
    • Logistical Command Stations now generate 200k energy rather than 50k energy, and have level-up energy amounts that also offset the energy collector losses.
    • Military Command Stations still just generate 20k energy (ouch!), since they had no energy collectors.
    • Thanks to Asteroid for suggesting, and kasnavada for inspiring this change.

Command Station Differentiation

  • To make for more tension now that energy collectors aren't a standalone thing, the health of economic and logistical command stations have been cut in half (hull and shields).
    • The descriptions on economic, military, and logistical command stations are all now more verbose and explain more of the situations where they would be useful, including some of their pitfalls. We should wind up seeing not nearly so many all-military-station savegames in the future, hopefully.
    • Thanks to Badger for suggesting the health changes.

Techs

  • Rebalanced the Science cost for each Tech line, to match the current Mark scaling.
    • What was live before was for the old Mark scaling, which was kind of like Classics. The new one had much smaller jumps, so the costs were...crazy.
  • Added a new Medium Tech line.
  • Every mobile combat unit benefits from one weapon tech (i.e Disruptive, Fusion), and one hull tech (Light, Medium, Heavy).
    • The weapon techs are a bit cheaper and as noted above, scaled to be fair for each Mark appropriately. The hull techs are priced as if units are upgrading to Mark 6 and 7.
    • Having it done this way fixes a problem the cheaper costs would've exacerbated, mainly that it would've been extremely easy to upgrade some units to high Marks for cheap using the weapon techs, while others are stuck with just the one line.
    • This also means every one of those units can now actually GET to Mark 6 and 7!
    • As of writing, Turrets have not been included.
  • Weapon techs are now spread about more evenly, and since units now only have one they benefit from, there's...less effect from some.
    • Although it was rather absurd - Disruptive benefited 19 (!) units by itself, Subterfuge not far behind, and everything else was about half those.
  • Light, Medium and Heavy Techs now only go up two times, down from four.
    • These are now intended for use to get units up to Mark 6 and 7, rather than something you do early on. It can still be worth it I suppose, since one of these is now on every mobile combat unit.
  • Reduced the cost of Engineering, Sentries, Minefields and Tractor Beams to match the new scaling of weapon techs.

UI Improvements

  • The C-Click screen for the Tech Menu now much more efficiently shows the stat changes for leveling up a ship line.
    • Thanks to Asteroid for improving this!
  • I've made the game estimate the difficulty of a hack, then colour in the time estimate based on that estimate. The goal here isn't to let the player gauge exactly how hard a hack is, but to have a sense of "Oh, this one will be really hard" or "This should be easy".
    • Definitely needs some feedback to see how reasonable the estimates are. If you have feedback (for example "This hack was really easy but flagged as Orange or Red" or "This hack was flagged as grey but was really hard") then please give me a save game and the hack/planet in question
      • Thanks to NRSirLimbo for the suggestion
  • The Astro Train in Flight notification now tells you the planet that the train is on if you have vision there
  • Pressing escape while in the fleet management window will now close it rather than opening the system menu.
    • Same with the self-updating modal window used for things like C-clicks and various other things like metal flows.
    • Thanks to Asteroid for suggesting.
  • For the Planet Hovertext in the galaxy screen, if you have both Allied and your own forces, the Allied strength is now printed in the allied faction's color
  • The technologies all have categories that are also colorized that help to break them up more. Not only do we have weapon and hull technologies with names with those in it, but we also have things like command station, defense, etc. This should help make them way more visible throughout the UI, as well as the actual tech menu a lot more navigable.
    • Thanks to Badger for suggesting.

Vision Changes

  • The game now tracks which AI units the player knows about, and only reports those numbers on the galaxy map.
    • This means that if you are attacking a planet that is only Explored, and you last saw it 10 minutes ago, the AI might have moved 10K threat onto that planet that you won't know about until your fleet actually shows up. This makes Watching planets much more valuable.
    • The previous behaviour can still be used, by enabling "Minimal Fog of War", a Galaxy Camera Setting Menu. Only cowards and Manchester United fans would do such a thing though.
    • The Resource Bar still reports "All the Threat in the galaxy", but clicking on the resource bar will only show you the visible threat
  • Icons for units on the Galaxy Map now also honour whether the player can see them (Astro Trains, for example).
    • Some unit types are Always Visible, even on explored planets. This can be set in the XML. At the moment, it's only applied to the Devourer and the Zenith Trader. I think the Zenith Trader should probably be always visible. I'm kinda tempted to make the Devourer only visible if the player is Watching the planet or has units there. The thought of "Surprise Cookie Monster!" is appealing to me

Bugfixes

  • Fix a bug where sometimes units going through a wormhole from A to B would wind up flying off to the location of the entrance wormhole on A, but on planet B
    • Thanks to weaponmaster (and probably others) for reporting
  • For the science upgrade c-click menu, show the cap increase.
    • Thanks to weaponmaster for suggesting
  • Fixed an oversight where ships with cloak inside transports would not respect the rule to only regen cloak if they had run out and were visible to the enemy
    • Transports with cloaked units can still be used to cheese the AI (especially the cloaked transport starter fleet) , but it's very hard to keep all ships alive.
  • Fix a bug where lots and lots of astro train stations would spawn
    • Thanks to arsdor for reporting
  • Add some defensive code for a problem in TryWiringUpShotToTarget
    • Reported by NRSirLimbo
  • Put in some protection for shot graphics being put back into the pool twice and thus having a nullref exception.
    • Thanks to NRSirLimbo for reporting.
  • Put in some protection in planning metal flows against a very strange nullref exception that doesn't make a whole lot of sense.
    • Thanks to NRSirLimbo for reporting.
  • When calculating safe placement points for structures that will auto-build, it now ignores mobile entities with a lower collision priority than the structure being placed; those will be able to decollide out of the way, after all, after the structure is auto-built.
    • This is untested, but should work well and should keep factories and such from getting placed too far away when there are a bunch of small ships around the command station.
    • Thanks to NRSirLimbo for reporting.
  • Put in a likely fix for forcefields to not get bumped around by other ships that are being built. It was the same fix that we put in for flagships, so presumably this should work.
    • Thanks to overzot, NRSirLimbo, and Asteroid for reporting.
  • You can no longer place units overlapping on top of one another. Previously it was allowing you to do that, which could lead to all sorts of accidental structural placements as things moved out of the way of where you invalidly put them.
    • There's now proper interface feedback about this and everything.
    • Thanks to RocketAssistedPuffin for reporting.
  • Additionally, fixed a bug where auto-placing a group of units would let them partially overlap as well. All of the logic is now centralized to not have that happen.
    • Thanks to RocketAssistedPuffin for reporting.
  • Fix a bug where once you Watched a planet, it was always Watched. It affects the previous 2 releases
    • Thanks to Democracy for reporting
  • Updated a number of things from recent work with DiffLib and LINQ so that those are no longer attempted to be integrated into our external code project. Instead this is all wrappered and in the main game executable.
    • This is kind of a pain, but for whatever reason we're unable to build a generic dll that is cross-platform that works with LINQ directly, and so this sort of indirection is required.
    • Until now, we simply have not been able to use ToList(), Any(), or Where(), but now we've got wrapper methods that are able to call into the central project dlls, which link against platform-specific LINQ dlls and thus let us do that properly.
    • This lets us actually compile (outside of visual studio) via our compile scripts that use the Roslyn compiler directly.
    • The irritating thing is that if we want more functionality from DiffLib or from LINQ, then basically Chris has to make wrappers for those first, but in the end that's a small price to pay to actually get the functionality in a cross-platform style that actually compiles and works across all the platforms.
  • Fixed a bug from the last month or so where ships dying on other planets were not playing their distant death sounds properly.
  • Fixed a bug from the last recent while where ships were not exploding consistently. Now they seem to always explode, both visually and aurally.
  • Fixed a bug from who knows how long ago that was causing the icons of ships that are dying to not go through their proper explosion animation.

Visual Improvements

Lighting and Bloom Overhaul

  • LOTS of changes are being made to the lighting of the game in general, and the bloom in particular.
    • Over the last year or so, as we've upgraded between various unity versions, the visual styling has become more and more silhouettish without us realizing it. The bloom was also too heavy, but in general you just couldn't even see the textures on a lot of ships anymore unless you caught them at just the right angle. A lot of this was because of upgrades to the PBR lighting pipeline in unity, which resulted in some of our custom shaders giving a different result when having the same inputs put in.
    • This does unfortunately mean we have to touch most every ship's material to get it straightened out, but that's better done now than later on.
    • This has also resulted in some minor improvements to the visuals on the main menu and loss and victory screens, although you'd have to see them side by side to truly note the difference. The reason for changes that subtle is that we had to recreate a few things with a new lighting style that includes ambient as well as directional lighting, and the result was a bit different and better.
    • The overall effect should not be such dire contrast between ship lights and the rest of the ship hulls, and in general bloom that isn't painful on the eyes but still gives a pleasing look.
    • Thanks to Sounds for reporting.

Planet Visuals Improvement V1

  • All of the planets have been subtly tweaked in their visuals.
    • Their atmospheres no longer have such a sharp glow that can be distracting anymore.
    • The rings and main bodies of the planets no longer react to ambient light (which was previously zero anyhow), but do now have a bit of ambient grayness applied to them that makes their shadows less harsh in general.
    • Jungle5 has more attractive colors on it, now.
    • Several have atmosphere glow diffusions that are more sensible and attenuate properly over the body of the planet now.
    • The normals and the tangents are recalculated fresh for the planets, making any sort of artifacting based on the underlying 3D models no longer a thing.
      • However, they were apparently already pretty smooth, so there's not much visually different from this bit. If you zoom in a lot on the planets, you see some lack of details mainly due to the fact that we've downsampled the textures to be 1k in size instead of 4k, thus saving literally hundreds of megs of RAM and VRAM.
        • The eventual solution to this would be to make the planets shrink down a bit as you zoom in, so that at full zoom the planets become about half their current size; the visuals of them would remain nice and crisp were we to do that.

Updates To Every Single Ship Visual

  • Every last stinking ship and structure in the game has been reworked in their shaders, and have a much brighter look to them in general.
    • The overall cell-shading style is more apparent throughout many of the visuals.
    • Frankly the levels and coloring have been adjusted on pretty much EVERY ship, so there's not much point listing them all.
    • The Major Data Centers deserve a particular shoutout for suddenly looking like this amazing glass structure.
    • Also a shoutout to the Rorqual Hegira for looking a lot more vibrant than before.
    • And Gyrn, the Voidhome for having glass in-game again.
    • And for Thanatos, something about it just feels more akin to the rest of the game, now.
    • Citadels now have a different look (mainly coloring changes -- model is the same), and the AI Fortress has completely different colors to differentiate it a lot.
    • The AI now has a separate visual that is greenish instead of red and orange for the reconquest command stations, so that there's a more obvious visual cue when that's what you're looking at.
    • A number of the AI guardians have been recolored using our new HSV recoloring shader, to make them more varied and keep them thematic (blues for lightning guardian, for instance).
    • Most of the small strikecraft ships are now just single ships rather than a group of them.
  • There are some other ship graphics that we completely changed:
    • The old GrenadeLauncher graphics were just... really bland and not good, which was not typical at all of the ships we had. They've been replaced with something much more attractive and thematic, although the scaling for these will need to be adjusted/vetted (Puffin!).
    • The ImplosionGuardian graphics have been recolored to be less AI-like since we use those for the Marauder Raiders instead of the AI.
    • There is now a unique version of the Marauder Raider for the drone-carrier version that looks the part and is based on the base marauder raider rather than the carrier starship like before.
    • The implosion drones have been recolored and added to finally being used, this time for the yellowjackets that the hive golem spawns. This is vastly more polygon-efficient, and also looks cool.
      • Added a whole new shader to allow for HSV recoloring in order to make these work!
    • The old Hacker model has been repurposed into the mercenary flagship model, and recolored some.
    • The beacons now have their own model that is a tower-based descendant of what used to be the scout.
    • Pulsar Tanks now have completely different graphics, as the old ones were hideous.
    • Astro Train Stations now use the old Fuel Refinery graphics, with recoloring to be color-themed for the astro trains.
    • The Spire Archive now actually uses spire-style graphics!
    • The War Harvester now uses the Armor Starship visuals, which have never been in the game before.
    • The artillery golem looked really horrible, as did the Warpsite Artillery (same model), and they now use what was once the carrier starship.
    • The Warbird Starship now uses the awesome model that was being used as the merc distractor starship in kind of a wasted way.
    • The Distractor merc starship actually looks thematically appropriate now, and actually has a really cool shell to it in general that is evocative of astro train colors in some ways. It's actually believable, looking at this, that someone made it just to distract and piss off the warden.

Version 0.889 Reticulating Those Splines

(Released September 13th, 2019)

  • When you load the game, the first thing you've always been presented with has been a lot of "loading this and that" text that was very... immersion-breaking. This is a super bad first impression, and a chance to actually entertain people while they wait. Everything from SimCity to Nier Automata has done interesting things in this vein.
    • Now we have a fair bit of technobabble that is put in instead, a lot of it humorous and vaguely related to what the game is actually doing. If something is running slow or gets stuck, we'll be able to match the technobabble to a specific section of code, still.
    • Additionally, for the slowest section, where we're loading a bunch of visual stuff off disk and counting up by 10s, we now have about 70 different things it might say for that phase. That one sticks around the longest, and so having various jokes or jargon that is at least different each time makes it feel more thematic and fun, and gives a mildly interesting thing to look at rather than just the same thing every time.
    • This seems like a minor change and in most respects is, but first impressions only happen once and this has been bugging Chris for a long time.

Balance

  • Added a new disallow_kiting="true" flag, which lets us make certain units completely unable to kite.
    • This may be useful for certain drones or other specific units, but we're not using it anywhere yet.
    • Thanks to Puffin for inspiring this change.
  • Add hacks for an ARS to reroll the contents of an ARS (ie if you hack an ARS that would grant 1x Brawler, you might get 30x Pike Corvettes), and to convert an ARS into science
    • Thanks to a discord discussion with Puffin, Democracy and zeusalmighty
  • For structures that you place, they are no longer able to be constructed if their flagship (or command station, as the case may be) is not present on the same planet as them, is crippled, or is not yet fully constructed.
    • So you can't have a battlestation or citadel go into enemy territory, start construction on a beachhead, then get crippled and have that construction continue without it.
    • And you also can't start construction on a command station, then build something like a forcefield generator, then scrap the command station and rebuild it after the forcefield generator is complete.
    • This needs testing, but it will also tell you about this in the tooltips as relevant.
    • Thanks to Asteroid and overzot for reporting.

UI Improvements

  • The tooltips for the various intra-galactic coordinators now note that it rounds up based on their multiplier, which is a key thing for very low-number ships like frigates or some turrets.
    • Thanks to Asteroid for suggesting.
  • You can now C-click ANY fleet flagship, not just unclaimed ones. This way you can see the contents of a fleet (details-wise) without having to go into the fleets tab.
    • Thanks to Asteroid for suggesting.
  • The range colors are no longer shown differently between player and enemy ships, as that was kind of confusing.
    • The ranges of the different types of systems like tractor beams, weapons, gravity weapons, and so forth ARE all now shown even beyond just placement mode, for your stuff and enemy stuff, and with colors to differentiate them.
    • Also, if a planet has been hacked to reduce the range of turrets or guard posts, then that now shows in the range circles properly.
    • Thanks to Asteroid for inspiring these changes.
  • When hovering hacks in the sidebar, show the name of the structure being hacked as well as the hacker that will be used when appropriate
    • Thanks to Asteroid and zeusalmighty for suggesting
  • The Tech menu entries for 'things you don't have yet but could get' now also include things from ARS
    • Thanks to Puffin for suggesting
  • The hovertext for GCAs and ARSs now shows the ship types you'll get with the right colour for the mark level you will wind up with
    • Thanks to Puffin for suggesting
  • The "101 explanation" now includes a little section on C-clicking, since that is so important. Additionally, there is now a quick tip (tip of the day) about C-clicking.
    • Thanks to Badger for suggesting.
  • The time to do any given hack is now shown on the hacking sidebar, or "Variable Duration" is shown if it's something that varies.
    • Thanks to Badger for suggesting.
  • C-clicking a fleet leader now pops open the fleets sidebar and the fleet management window for that fleet, rather than the usual details of all the ships. All those ship details are available from this screen anyway, but this screen also includes a bunch of other relevant controls. This should be a huge time saver!
    • Thanks to Asteroid for suggesting.
  • In the fleets management screen, the transport mode status display is now a button that lets you use the UI to load ships into or out of transport mode. This marks the first non-keybind way of doing that for fleets.
    • Thanks to arsdor for suggesting.
  • In the fleet popout, there is now a button that shows you how many distant members there are (units of the fleet on other planets) for mobile and battlestation type fleets, and you can click that button to immediately scrap all of the units on distant planets if you wish.
    • This is a really long-requested feature since fleets have been added (in particular battlestations).
    • Thanks to arsdor for bringing it up most recently, but it has been mentioned a ton of times.
  • Added a variety of new keybinds for quickly selecting all units that meet specific criteria on a planet.
    • M still selects all your mobile military, but is now in a new Selection section of the controls window with the rest of these.
    • C+X selects cloaked units.
    • C+V selects mobile fleet flagships.
    • C+V selects battlestations and citadels.
    • C+N selects all snipers.
    • C+M selects all melee units.
    • C+F selects all factories.
    • C+H selects your command station, if there is one.
    • Are there more categories we should add? Please do let us know!
    • Thanks to UncleYar and Asteroid for inspiring these additions.

Bugfixes

  • Fixed an exception that could happen inside the tooltip generation for some entities that generate AIP on death.
    • Thanks to arsdor for reporting.
  • Fixed a nullref exception that could happen in GetEntityContainsSomethingToSeeMoreOf() during placement of a logistical command station to replace a military one. Still needs testing to be sure we got it, but it should be gone now.
    • Thanks to Asteroid for the report.
  • Don't allow multiple hacks at a time on a given planet
    • Thanks to Asteroid for the report
  • Fixed AI Tachyon Sentinels being unable to actually decloak anything except Aggressors.
    • Thanks to WeaponMaster for reporting.
  • Fixed a bug where trying to get the hacking duration without a hacker was giving a nullref exception, and getting one WITH a hacker would give the duration of the hacker's active hack (or another nullref) and not the actual duration of the hack you asked about.
  • Any wormhole commands given to ships that are currently running a hack (thus preventing them from going through wormholes) are now considered invalid and discarded. This should prevent issues like giving wormhole movement commands to a flagship that is hacking, and then having all its ships that it unloads or that are created at it run out of the planet without it. But we've not tested that specific scenario yet, so please let us know if that doesn't work!
    • Thanks to UFO for reporting.
  • Fixed a bug in our input system where keybindings like C+F would not block C and F individually.
    • This may have some unintended consequences, since it has never worked properly. But now that it works properly that opens up more hotkeys for us to use.

Version 0.888 Astro Examination

(Released September 11th, 2019)

  • Add tips for all the remaining factions
  • Warden Fleet Bases now show on the galaxy map.

Balance

  • If the AI is attacking a heavily defended planet and there are weaker targets behind it then the AI is more willing to try to sneak ships past onto the weaker target
    • For difficulties under 7, bumped up the chance of them sending aggressive waves that try to bypass things. Under difficulty 5 it drops a TON.
    • This is something that makes the AI feel more alive to the point that without it happening at least sometimes the AIs are just too passive-seeming with their waves, we're concerned. "The real game begins at 7" is what we often say, but in this sort of case we want it to at least feel like the AI is still after you a reasonable amount on difficulty 5 and up. Below difficulty 5 the AI is just kind of... there. ;)
  • Allow the Warden Fleet to press home an attack against a planet the player has just captured, if the warden fleet was already en route.
    • If the AI outnumbers the player on that planet, the warden fleet can always continue the attack
    • If not then every Long Range Planning step the warden fleet has a 10% chance of retreating
    • Suggested by Puffin. This tries to approximate AIWC behaviour
  • Increased Combat Factory speed a bit.

Combat Factories

  • Each Combat Factory type now has a set of Drones:
    • Standard Combat Factory has just V-Wing and Fusion Bomber Drones.
    • Overloader Combat Factory has new Saboteur Drones - only able to target structures, but can disable even Guard Posts.
      • Thanks to zeusalmighty for this specific idea.
    • Backdoor Combat Factory now has Tackle Drones - rushes enemies and grabs them with a tractor beam, and usually keeps going.
    • Rejuvenator Combat Factory now has Decoy Drones - tanky, with some light vampirism, and has a higher target priority.
    • Scrapper Combat Factory now has Scrap Drones - explodes on impact with an enemy in a tesla explosion.
      • Oh, and it gives some Metal too.
      • This thing is likely in some games, but hidden as a normal Combat Factory, so you may find you suddenly have one of these.
        • Thanks to zeusalmighty in general for the suggestion of Combat Factories having Drones.
        • Balance on these is somewhat unknown, so feedback is welcome.

Astro Train Tweaks

  • Astro Trains now have to go through a random number of stations before going to the depot, instead of only 1
  • Astro Trains now have Tracing available specific to that faction
  • Improve Astro Train Depot hovertext
  • Clicking on an Astro Train Notification from the galaxy map now centers you on the planet with the train if you have vision of it
  • Astro Train Depots can now be enabled for a range of intensities X to Y, instead of "for all intensities >= X". So you could define a depot that's only available for intensities from 3-7. Also improve problem detection code with astro train depot XML
  • Trains now spawn at different rates depending on Intensity:
    • Low is 25 minutes
    • Medium is 20 minutes
    • High is 15 minutes
  • Depots now spawn at different rates depending on Intensity:
    • Low is 60 minutes
    • Medium is 50 minutes
    • High is 40 minutes
  • Trains now Mark up with the main AI.
  • Trains now have the Norris Effect (i.e it pushes forcefields).
  • Trains now have a Fusion Bomb weapon, only usable versus structures and intended to help them clear out defenses attempting to trap them.
  • Carrier Astro Trains now have more Drones, and are faster.
  • The "regular weapons" Astro Train (now just called Combat) is slower, and has a bit more durability and weapon damage.
  • A new type of Train called the "Tank", slower than the Combat Train, only has the new Fusion Bomb weapon, but much more durable.
  • Maximum Depot count increased from 3 to 4.
  • Greatly increased the impact of strength based Depot effects.
  • Science and Hacking granted from destroying a Train reduced a bit.
    • Since they can be more frequent.

Prototypes

  • A series of prototype versions of Guardians (and one Golem), usually with something odd or unique to them, only spawnable via Astro Train projects:
    • Fenrir - Carrier Guardian advanced prototype - uses a long range, extremely high damage beam, while launching strong fighters.
    • Reanimator - Tethuida Guardian advanced prototype - converts enemies to its' side, while launching drones that sacrifice themselves to reanimate allies in general.
    • Umbra - Stealth Guardian advanced prototype - extremely hard to decloak, and fires numerous shield bypassing fusion bombs while launching cloaked drones.
    • Shellshocker - Grenade Launcher Guardian advanced prototype - fires clusters of long range grenades, that cause engine stun and weapon reload malus effects.
    • Custodian - Forcefield Guardian advanced prototype - high damage output general weaponry, and is invulnerable if there's a Guard Post present.
    • Warspite - Advanced AI prototype of an Artillery Golem - fires rapid, cross planet Mass Driver shots.

"Hold And Click To View Details Of Contents" Feature

  • "Toggle Stop-To-Shoot" is no longer bound to the "C" key. Instead, that is now bound to K.
  • The "C" is now used as a new keybind called "Hold And Click To View Details Of Contents"
    • Hold this key down when clicking a button or a ship in order to view the details of any ships contained within that clicked item (ships in a wave, ships in a transport, ships in a fleet, ships improved by a tech).
    • This is SUPER important for finding out what the actual stats are of ships that otherwise would just be a list of names.
  • The selection logic for the galaxy map view has been moved into the external open-source code, and will soon be able to be a lot more flexible like people have been asking for.
    • Previously it was embedded in a way that made those other bits impossible, but no longer!

For Stuff In Ships/Structures!

  • The new "Details Of Multiple Ship Lines" screen is able to be shown for ships that you C-click directly, or on the sidebar, or on the galaxy map.
    • But only if they actually have something of relevance to show!
    • Right now it shows the details of ships that a GCA or ARS would grant, that are part of a fleet that you could capture but have not yet, or which are inside an AI reinforcement point (guard post), or which are being transported inside a fleet.
    • Thanks to warhawk_rider, WeaponMaster, and Badger for suggesting this. We already don't know how we ever lived without this!

Also For Wave Contents!

  • When hovering over a wave notification, it now has text at the bottom which says "Hold C and click here to view details on all the ship types in the wave."
    • Doing that pops up just what it claims, so that you can find out what the heck it is that is headed your way.
    • Thanks to Asteroid for suggesting.

And Tech Upgrade Details Per Ship Type!

  • When hovering over techs, it now notes that you can C-click those in order to get a list of all the ships that are upgraded with their details, and it shows both the old and new versions for each ship.
    • Note that this is for the ships in GENERAL, assuming no fleet upgrades for the ships in question, and assuming that the ships are also not benefiting from some other tech. So some ships will be moving up higher marks than shown here, which is ok!
    • I'm sure we'll refine this in some various ways in the future, but for now this seems to handle most things well in terms of getting the idea across of what upgrades do in some sort of direct fashion at least.
    • Actually, now this DOES include the global factors of ships upgraded by multiple ship lines. It just doesn't factor in individual fleet upgrades.
    • Thanks to Badger for suggesting.

Bugfixes

  • Fix a bug where killing reconquest command stations could sometimes incorrectly do Exploration for you
    • Thanks to Puffin (and many others) for reporting
  • Fixed a bug where cloaked ship stacks that were revealed would regain full cloaking upon killing one of the units from the stack.
    • This makes cloaked ships much less cheesy for the AI and Humans alike.
  • Fix a bug where the AI could sometimes shoot Instigator bases. Apparently the AI doesn't like Instigator bases either
    • Thanks to zeusalmighty for reporting
  • Fixed several super-annoying glitches with any pieces of text we were using that had icons in them, mainly in parts of the sidebars, where the clickable area of buttons would be absurdly large and obscure part of the button below them. This often led to clicks and hovers actually selecting the wrong button, which was rightly infuriating.
  • The ability to swap away drone lines should no longer be present. You already couldn't swap them IN, but now you can't swap them out either.
    • Thanks to Puffin for reporting.
  • We were already ATTEMPTING to not send the DumpFleetContentsIntoFactionLoose messages for Drone fleets, but apparently were just limiting that to AI guard posts. Now it applies in general, and will thus not send that message for the nanocaust and similar.
    • Thanks to zeusalmighty for reporting.
  • Added a new immune_to_swapping_between_fleets, which prevents ship lines from being swapped between fleets, and from counting against the total of ship lines a fleet can have (for purposes of how they can have 5 lines, etc).
    • This is being used for hydra heads (to prevent those from blocking other ships from swapping in, and other oddnesses), and is also being used for combat engineers (since those are an integral part of the fleets they are a part of and should not be swappable).
    • Thanks to NRSirLimbo for reporting.
  • Fix a bug where Command Stations would start to give Attack and speed bonuses before the construction was completed
    • Thanks to puffin for reporting
  • Re-fixed the TextMeshPro AddFontAssetInternal bug, which reintroduced itself last build. Apparently the package manager helpfully re-cached itself.
  • Moved TextMeshPro away from the unity package manager cache into directly being a part of the game's project tree. This lets our code changes to fix two bugs not be erased by the package manager.
  • Fixed a bug where if you had negative energy, you could not build anything that cost zero energy. Now it's properly only preventing you from building things that cost energy.
    • The most obvious benefit of this is matter converters, but it should also be relevant to drones and command stations.
    • Thanks to Asteroid and zeusalmighty for reporting.
  • If the player didn't see the Devourer Golem die and the Devourer Golem respawns on a planet the player can't see, don't show any messages about respawning
    • Thanks to RockyBst for the commment
  • If the player has already paid the AIP price for a warp gate (either by killing it, capturing the planet if a minor faction killed it, or by some other means), suppress the 'Killing this structure will increase AIP' hovertext.
    • Note that we don't want to just create a new, non-AIP increasing warp gate for reconquest waves; consider the case where hostile-to-all marauders take a planet, then the AI recaptures it. If you kill the warp gate now, you will still get AIP since you didn't pay the price the first time.
    • Thanks to Puffin for pointing this out
  • Don't print a message for "New Astro Train Station Spawning" if you can't see the planet it's spawning on
  • Fix a bug where units were discarding wormhole commands when going through a wormhole, instead of only discarding decollision commands
    • Discovered analyzing problems with astro trains, thanks to Puffin
  • Some very minor rework of the anti-ai zombie code was done
  • Decollision-move orders now track what planet they are tied to, and consider themselves as invalid if the ship with those orders is now on a different planet.
    • There were a bunch of potential situations where a stale decollision order could potentially sneak through, and so keepiing track of this and invalidating the command at any point after all of them is hopefully the ultimate safety valve for this issue. If you still see ships doing anything strange after going through wormholes, please do let us know!
    • Thanks to Asteroid for the most recent report.
  • Fixed a complicated cluster of issues around the sidebar hovertext where the wrong text would be show, or it would just show a T, or the text would otherwise be out of date. This is distinct from the issue of the raycast hitboxes for hovering over sidebar buttons being wrong.
    • Thanks to a lot of people for reporting this, most recently Mckloshiv, Stormking2010, PointyHat, Panterich, and Asteroid.
  • The game was already set up not to respond to mouse clicks or keybutton presses when it didn't have focus, but it was still responding to edge scrolling, and allowing for tooltiphovering, etc.
    • Now the game just remembers the last position of the mouse, and thus keeps whatever the tooltip was and doesn't scroll, etc.
    • Thanks to Asteroid for reporting.
  • Fixed a bug where in certain cases (particularly when the game was paused upon first loading in after a savegame), you were not seeing planet intel properly. It would flip to showing the film grain effect once per second, and back and forth between watched and "last intel was 0 seconds ago."
    • Thanks to Asteroid.
  • Fix a bug where you would get weird output if you tried to explore but didn't have any planets left to explore.
    • This primarily affects games where Debug: Scout All was used

Version 0.887 Ending Scenes

(Released September 7th, 2019)

  • If the AI has ships on planets adjacent to your home command station and those forces are significantly stronger then your homeworld's defenses, the AI can try to sneak its ships past your defenses to the homeworld. Only available to AI Difficulties >= 7.
    • The AI will only try to do sneaky things like this if there isn't a forcefield protecting that wormhole
    • May require some further testing/tweaking
      • Thanks to Zoreiss for the suggestion

Visual Improvements

  • Previously if the number of units contained inside a unit was changed, or if the mark level of a unit changed, that did not change the icon immediately. Instead it would wait for something else, like a health change or a mouseover of it, which could be really confusing.
    • Thanks to wm46, NRSirLimbo, and (long ago) HeartHunter for reporting.
  • The older unity post-processing stack is once again in use, but with some alerations to it compared to what we used to have. It helps smooth out some of the colors that were over-blown, and gives the came a more cool (temperature-wise) look.
    • This also does a better job mapping back down from the HDR to the LDR range.
  • The oldest-style spaceboxes that we had in the game have now been removed, as they were often causing some extreme banding visually as well as sometimes hiding planets or causing other issues.
  • The intro to the game has been redone very slightly, to just be slightly more polished.
    • We were going to do something more epic and different, but it turns out that just changing the colors around a bit and keeping it relatively calm felt the best for now at least.
    • You can see it here: https://youtu.be/Jfwg2J7Rtog

Victory and Loss Screens!

  • Finally we actually HAVE a victory screen! We may evolve this some in the future, and I'd like to put in some other stats and such for instance, but right now it is customized to your starting planet and your best-performing mobile fleet.
    • This is a way more satisfying way to end the game rather than a tiny "you win" notice! The game pauses while you're in this, if you're planning on playing forward beyond the victory; and it also lets you enjoy the awesome vocal track by Pablo Vega, performed by Hunter Vega.
    • MOST of that vocal track is reproduced here: https://youtu.be/7oedu7g8FXc
  • Finally we actually HAVE a loss screen! We may evolve this some in the future, and I'd like to put in some other stats and such for instance, but right now it is customized to your starting planet and your best-performing mobile fleet.
    • This is a way more satisfying way to end the game rather than a big fiery "you lose" message and nothing much else. The game pauses while you're in this, if you're planning on playing forward beyond the loss; I'm particularly pleased with how apocalyptic this turned out, visually in particular.
    • You can see it here: https://youtu.be/Pq-Q-qbQegQ

Much Better In-Game Icon Placement

  • Added a new "Icons Draw Over Everything" main camera settings option, which now defaults to true.
    • With this on, which is the default, icons show in front of everything. If you view ships from a side angle, then you'll see icons from BEHIND those ships in front of them. This is consistent with most other strategy games, but may not be to everyone's tastes.
    • This is required for the next new setting noted below to be possible.
  • Added "Ignore Icon Y Offsets" main camera settings option, which also now defaults to true.
    • With this on, which is the default, icons drop down and show exactly where the ships themselves are. This is very helpful if 'Icons Draw Over Everything' is ON, but with 'Icons Draw Over Everything' set to off it will make many icons actually invisible since they will clip into their own ships.
    • This winds up making things feel a lot more connected, and a lot more Stellaris-liike in terms of the link of the icons to the ships. Oddly this is overcoming a similar problem that Chris finds he has with Three Houses on the Nintendo Switch, so the problem certainly can be worked around (hence all this being optional), but it does feel a lot more immediately-natural.
    • Thanks to a number of players for suggesting this (can't find who it was since this didn't make it into mantis apparently?)
  • Added a new "Icons Disappear When Camera Lower Than" option, which has a range of 0 to 4000.
    • To have an uncluttered view when you zoom far in, you can make it so that all the icons and wormhole names and so forth all disappear once your main camera gets below this height. Default is 200.
    • This feels more like AI War Classic, where the icons disappeared after you zoomed in a certain amount. But it lets you choose how much of this you really want.
    • Thanks to a number of players for suggesting this (can't find who it was since this didn't make it into mantis apparently?)

Bugfixes

  • GetSafePlacementPoint now returns Engine_AIW2.Instance.CombatCenter rather than ArcenPoint.ZeroZeroPoint.
    • This means that when there are problems finding a safe placement point, it will now super-stack units at the center of the grav well rather than placing units way the heck out of bounds where nothing can fight them or find them.
    • This takes something unplayable and makes it merely annoying.
    • Thanks to NRSirLimbo and Badger for reporting.
  • The GetSafePlacementPoint code is a lot more sophisticated now, with a multi-tiered process where if it can't find a safe point in the desired radius at first, then it will expand its valid range iteratively for a bit to find a spot that is close to what is desired even if not ideal.
    • This uses some more computation on planets that are very crowded, but will prevent issues where things super-stack in the middle (formerly getting placed out of bounds) because the ideal range was too restrictive. This should be quite noticeable with things like factories that auto-build on your planets.
    • Note that this is entirely untested and could lead to deadlocks or other major problems for all we know. Iterative code is "fun" like that. So knock on wood, as we do our other internal testing in prior to this next build.
    • Thanks to NRSirLimbo and Badger for reporting.
  • Fix a bug where the hovertext for ARS still talked about cost to claim
    • Reported by Uncle Yar on steam
  • Limit some places where we were showing planet names for planets you haven't explored yet for Astro Train and Dyson Sphere information
    • Reported by RockyBst on the forums
  • Fix a bug where the Devourer Golem could spawn from a Beacon before you awakened the beacon
    • Thanks to RockyBst and weapon master for reporting
  • Put in several more changes that should make absolutely sure that threads know when the work on them is done, so that we don't get errors with some threads trying to start up a thread that thinks it isn't done even though it probably actually was.
    • Thanks to NRSirLimbo for reporting.
  • Fixed a bunch more cases where code calling GetIndexOfMostAnnoyingFaction() was trying to find the faction off of it and then getting a nullref exception when there was not a most annoying faction locally (a very valid case).
    • Thanks to Asteroid for reporting.
  • Don't let the AI Overlord Mark 2 or Usurpers join the hunter fleet
    • Reported by Ovalcircle
  • Put in a fix to a cross-threading indexing exception that could happen in decollision planning.
    • Thanks to NRSirLimbo for reporting.
  • Fixed an issue where the GetMostAnnoyingFaction() method was sometimes having a nullref exception in it endlessly. This is probably a downstream error from something else that will cause other problems, but it keeps this part of the code running, anyway.
    • Thanks to zeusalmighty for the savegame with the problem extant in it.

Balance

Player Ship Caps

  • Added a new "absolute_max_cap_when_in_fleets" field on ships, which allows us to set it to some value above zero if we want to limit how many of a ship type can be granted at maximum.
    • Note that this only affects player fleets, by definition, EXCEPT it would affect drone fleets of the AI and other factions. If other factions start using fleets more, this would be available in those cases, too.
  • An absolute max cap when in fleets has been added to the following structures:
    • Matter Converters: 10.
    • Factories: 3
    • Forcefield generators: 4.
    • Tractor Array: 20.
    • Tachyon arrays: 6.
    • Focused gravity generators: 10.
    • Minefields (all sorts): 200.
    • Sentry Frigates: 9.
  • Added a new is_disallowed_from_getting_any_ship_cap_bonuses_when_in_fleets, which, when true, will prevent ships from getting bonuses of any sorts beyond whatever their base fleet cap counts are.
    • Note that this only affects player fleets, by definition, EXCEPT it would affect drone fleets of the AI and other factions. If other factions start using fleets more, this would be available in those cases, too.
  • We already had range_multiplier_to_all_weapons, which we use on the AI versions of turrets to halve their ranges. Now it's time to add some more differentiators to the player stuff.
    • damage_multiplier_to_all_weapons does the same thing for weapons.
    • multiplier_to_all_costs does the same thing to metal and energy costs, and ai cost to purchase, and exp gains from killing them.
    • multiplier_to_all_healths does the same thing to hull and shield healths.
    • multiplier_to_all_fleet_caps does the same thing to FINAL fleet caps after whatever bonuses.
    • multiplier_to_all_scales does the same thing to the visual scale of the model, and the amount of area that it takes up in sim space (the circle around it).
    • These are fairly large changes and so if you see any strangeness, please do let us know.
    • These will help us to balance things in an efficient manner in the future, either between different ship variants (different factions with mulitipliers of one another), or just to change values without manually doing the math.
  • destroys_self_until_not_over_ship_cap_if_planetary_command now also works on defensive battlestation/citadel fleets.
    • Otherwise it was possible to have WAY too many turrets in cases with them.
  • Player turrets and AI turrets were already separated out so that the AI turrets could have half the range of the human versions. Now we're going to further differentiate them to avoid the cases where you have things like 500 turrets at a planet because of the GCAs you've been capturing.
    • That not only slows the game down performance-wise, but it also is cluttery and is a royal pain in the rear to place them.
      • There were never meant to be this many turrets in the game, as we designed the turret counts as a static thing long before we added in GCAs. So things got bonkers, and now we needed to scale that back into the realm of what the engine and interface is meant to handle.
      • In certain very large late-game savegames this actually seems to help performance quite notably.
    • If we missed anything, or you don't agree with our numbers in how they feel in practice, please do let us know!
    • For all AI turrets, things are left the same, but for player turrets the following changes:
      • multiplier_to_all_costs is 5.
      • multiplier_to_all_healths is 5.
      • damage_multiplier_to_all_weapons is 5.
      • multiplier_to_all_fleet_caps is 0.2.
      • multiplier_to_all_scales is 3.
    • All of this should seamlessly affect existing savegames, so you'll probably see a lot of your turrets explode right on start of an existing game because of being over-cap.
    • Thanks to Asteroid and others for reporting the way-unintentional number of turrets you could wind up with and the tedium that causes.

Player Energy Generation

  • The energy collector now has is_disallowed_from_getting_any_ship_cap_bonuses_when_in_fleets as true, to avoid us having runaway amounts of energy available to players. But also, we're lowering the caps of these in general:
    • The base one that is used for the home command station has a max cap yof 2 now, instead of the old 3.
    • The military station no longer has none at all, rather than having a single one.
    • The economic one now has 2 instead of 3.
    • The logistical one now has 1 instead of 2.
    • Energy was just plain too plentiful even at base, and with fleet upgrades able to affect these structures it was even more out of whack.
    • Old savegames may still have the old allowed numbers until a command station is rebuilt or built for the first time.
    • Thanks to Puffin, Badger, and others for suggesting.

Other Stuff

  • Stealth Guard Post now uses an ambush mechanic like Raptors, reload speed 3s -> 2s (so it decloaks itself faster for player convenience), range 3,200 -> 8,000, damage 2,000 -> 800, shots per salvo 1 -> 3.
    • The cloaking mechanic isn't a thing right now, and with Fleets would probably be in a different format than an aura effect, so doing this instead, for now anyway.
  • Inhibitor Citadel weapon jammer effect 6s -> 4s, increases by 4s instead of 6s per Mark, shots per salvo 60 -> 90, damage 450 -> 300.
    • This had an odd effect of...well, gaining so much jamming per Mark that it would say it would increase reload time by 30s at Mark 5, but the global cap on the effect is only 20s! Ow. So it kind of stopped improving as much for a silly reason.
    • Decreasing the values from 6s to 4s means it will no longer have that oddity, and to compensate for the reduced effect, shot count went up, keeping the total "jamming time" per salvo at all Marks identical to what it was before, under the cap at least.
    • So now, these things at higher Marks will have a bigger impact than they did.
      • Thanks to zeusalmighty for reporting this.
  • Paralysis Citadel effect 3s -> 4s, increases by 4s instead of 3s per Mark.
    • Lets it reach the max effect like above by itself.
  • Drastically increased Astro Train durability and firepower.
  • Reduced count of Minefields to a quarter, increased damage/targets hit/effect to compensate.
  • Starting Support Fleets now have a single Combat Sentry Frigate.
  • Astro Train speed increased 25%.
  • Dyson Defenders and Sentinels now have is_strikecraft="true" set, meaning they benefit from the relevant balance slider.
    • Them not doing so meant the Defenders, which you get by hacking the Sphere, were pretty "meh" compared to everything else.
    • The Sentinels need to have the same strength cost, else they'll never be built (due to the budget being spent on the first available thing), so are included.
    • This isn't a buff to the Sphere though - it pays more for the strength, and has the same max strength as it always has.
  • Hive Golems are now a Lone Wolf Fleet.
    • Any existing ones will still have their units in their Fleet, but the Objectives list will call it a Lone Wolf. Fixed in new games.
  • Hive Golems now have 250 Yellow Jackets, up from 50, and build them at nearly 4x the speed.
  • Hive Golems cost 30AIP to capture, instead of 20.
    • Pre-Emptive increase, since...wow, those things can pack a huge punch now.
    • These changes still don't make it match Classic, but with Fleet Experience, Puffin is a bit...cautious for now.
  • Updated the officer fleets so that they no longer are required to seed "at least 7 from player homeworlds and between 3-5 from AI homeworlds." Instead, they are now required to seed "at least 6 from player homeworlds and between 3-9 from AI homeworlds."
    • This should allow them to seed in interesting pockets around the galaxy if the galaxy is one with many corners and distant locations, and in general not always cluster them right by the AI.
    • The idea is to keep the officer fleets for pretty late in the game, but not SO late in the game that they're essentially just either icing on the cake or outright pointless.
    • Thanks to Asteroid and Badger for reporting.

Version 0.886 Zombie Homebodies

(Released September 3rd, 2019)

  • Add objectives for Minor Faction Beacons (the structures that let you activate minor factions in game)

"Defensive Zombies" Behavior Option

  • Add a setting for "Defensive Zombies"; if this is on then Anti-AI zombies will only travel to friendly or neutral planets. To compensate, the zombies will attrition much more quickly.
    • This is essentially untested, so player feedback would be appreciated
    • Thanks to Hearthunter, Asteroid and NRSirLimbo for the suggestion

Balance

  • Dark Spire and Dyson hacks that grant new ship lines now grant more ships
    • The hacks were pretty underpowered compared to ARSs.
  • If the Devourer Golem dies, a new one will respawn in the galaxy after a while. This is also true for the Zenith Trader.
  • Allow frigates with a cap of 1 ship to have the cap increase as science is spent. This also allows things like Force Fields to have their caps go up as command stations level up
    • Thanks to zharmad and Zoreiss for complaining about this.

Bugfixes

  • Updated the Quick Starts, since the Praetorians didn't exist in them.
    • Unlike before, these don't have random Battlestations and Support Fleets - just the defaults for now. People are welcome to suggest specifics, I suppose.
  • Add some defensive code for a null reference exception inCalculateEffectiveCurrentFleetStrength()
    • Reported by NRSirLimbo.
  • Put in some really harsh checking to make sure that any xml files that include a ~ symbol will not be loaded. These tend to always be things that are left behind by an editor as a working copy, and cause various issues.
    • Thanks to Badger for discovering that only certain versions of windows were not properly excluding these ".xml~" files even though we were filtering to ".xml". Fun times.
  • Put in some changes to allow for much longer-running long-term and short-term running background threads without them suiciding themselves. This should prevent some of the intermittent errors that could happen on games that were under a particularly high amount of computational stress.
    • Thanks to NRSirLimbo for reporting.
  • Shifted the DoShortTermPlanning central control code to once again be on a background thread. This may or may not be needed, but might have a small performance benefit under situations of high demand. We'll see.
  • Fixes to the audio mixer stuff not working in the prior build:
    • Fixed the steam builds folder to no longer include aiw2sfx as a bundle in the OS-specific folders, nor aiw2voice. Not sure why it was having old copies there, but it was looking there first instead of the GlobalBundles section.
    • Split out the audio mixer stuff into aiw2soundframework, so that's a new bundle in the GlobalBundles section.
    • Previously if there was a global version of an asset bundle and a per-platform version, it would prefer the per-platform version. Now it prefers the global version instead, which should fix any future cases of things being mysteriously out of date in one place but correct in the expected central location.
    • Thanks to Badger, Puffin, and others for reporting.
  • On the galaxy map, the background hexagons now draw earlier in the post processing stack. So if they fail to draw, then they just mess up the starfield background but not all the stars and such (hopefully).
    • Thanks to Badger for inspiring this change.
  • There is now a Galaxy Camera setting under Personal Settings that lets you hide the background hexagons if you either don't like them or they are glitching out on your specific system. There's some evidence that they may glitch out and just draw black after a while on at least some linux systems.
    • Thanks to Badger and others for inspiring this change.
  • Generating the data for the intel tab, and for the warning notifications at the top of the screen, can be a rather intensive process depending on how complicated the calculations are and how many ships or structures there are it has to sort through. We've done a lot to minimize this over the last couple of years, but ultimately there is a cost that is rising to this that we can't stop past a certain point.
    • Therefore, to combat this we're now calculating this on a new background thread that runs entirely independently from the main thread, but which double-buffers the data it sends to the main thread so that you don't get flickering data. Given we have a bunch of pooling and other things going on, it's actually even more complicated than that, but it seems to work well in practice so far, and protects us against any objectives that might be even more CPU-intensive to calculate in the future (that and any warning displays, of course).
    • Thanks to Badger for sanity checking this.
  • Fixed that annoying (but harmless) error in TMPro.MaterialReferenceManager.AddFontAssetInternal. It was not popping up during the game, but was cluttering game output logs.

Version 0.885 The Audible Bodyguard

(Released August 30th, 2019)

  • Add achievements for how much AIP you can reduce by hacking the superterminal
    • Currently untested, like most of the achievements
  • When upgrading tech via the Science sidebar menu, the hovertext for a given upgrade now shows the Mark Level Colour for units you already have, and grey for units you don't have
    • Previously it was using Green and Red, which wasn't very helpful
  • Add an expensive hack to destroy an exogalactic wormhole.
    • Needs testing and probably some balance work. Requested by Democracy

Stacking Balance Changes

  • Prevent wasted damage when killing the top unit in a stack. Any extra damage is now passed down to the new top of the stack.
    • A quick overview of how Stacking Damage works, for posterity.
      • If I have a shot that does 4K damage to a large stack of max heath 500 ships, but the top ship has only 100 health left, then 100 damage goes into the top ship. 3500 more insta-kills the next 9 ships in the stack, leaving 400 leftover damage.
      • Previously the last 400 damage was wasted. This fix passes the extra 400 damage on to the next unit in the stack, so the top unit would appear with 100 health left.
      • Some weapons have an overkill cap defined in the XML, so they can only insta-kill a certain number of units
      • If this shot was overkill-capped at 3 units then it would happen like this:
      • The first 100 damage goes into killing the top ship. The next 3 ships would also insta-die. We then figure out how much "remainder" damage would be left after the insta-killing (again, 400) so the new top unit in the stack would wind up with 100 health left. The insta-kill cap in this case just means there are 6 extra units in the stack when damage resolves
  • Reduce knockback's effectiveness against Stacks. For each 5 stacks, knockback is half as effective. The number of stacks here is a tunable in XML. Otherwise your military command stations could effortlessly keep hundreds and hundreds of stacked units at bay
    • Thanks to Zoreiss for the bug report
  • Give stacks some extra shots so a stacked set of units is more closely similar in power to that many actual units
  • Stacks with bad status effects (paralysis? Engine stun?) now split down to 3 units instead of 5, and that number is in the XML for easy tuning going forward
    • Thanks to Puffin for pointing out that status effects were still too effective against stacks
  • If a Stack being split has a bad status effect, split unevenly, into a very small stack with the bad status effect and a larger stack ready to continue fighting, rather than into even stacks.
    • This should make stacked units more effective fighting against units that apply status effects. Thanks to Puffin for pointing out that status effects were still too effective against stacks
  • Overkill detection code now takes Stacking into account, so we don't wind up ignoring a stack of 10 units just because the top unit in the stack is low health.
  • Engineers are no longer allowed to stack

Praetorian Guard Has Arrived

  • Praetorian Guard is now in the game. The Praetorian Guard is the Bodyguard of the AI overlord. They defend the region right around the AI homeworlds.
  • Threat now transfers to the Praetorian Guard when the AI King is under attack.
  • If the King is under attack then nearby Guards join the praetorian guard, they don't become Threat
    • Previously the AI home planet's defenses would all turn to Threat or Hunter fleet when attacked, so a typical strategy was "Attack the AI homeworld as a feint. Then retreat and wait for all the AI homeworld defensive Guardians to fly off to attack one of your planets. Then attack again". This should no longer work

ARS tweaks

  • ARSs can no longer be captured, only hacked. This prevents the case of "Player captures ARS but does not hack it yet, AI comes along and blows up ARS", which is not fun.
    • Thanks to Democracy for reporting
  • ARSs can only be hacked by Combat Fleets, not support fleets
    • From some discussion on discord
  • ARSs can't give a fleet more than 5 ship lines
  • More ship types (both frigate and fleetships) have been made available via ARS. Combat Engineers are also available (rarely) from ARS

Audio

  • Previously, the audio sources used by the different audio buses in the game had a lot of values just baked in. And many of them were too low for the "new" (as of a year and a half or more ago) max zoom distance to really be effective.
    • Now you can set the spatial_blend (between 0 and 1) directly, and this makes them 2D or 3D or partway between. 3D sounds have a spatial element to them, and attenuate based on distance, as well as letting you hear what direction they're coming from relative to the camera. Which sounds are spatial versus 2D is unchanged at the moment, but can be changed now.
    • The min_distance can now be set, and was previously almost always 1. Now it's always 500. This is the distance -- in unity units -- at which a 3D sound is played at max volume before linear attenuation based on distance kicks in at all.
    • The max_distance can now be set, and that was previously all over the place, from 1500 to 6000 usually. Now it's mostly 6000 to 8000 for the 3D sounds (this has no effect on 2D sounds). This makes for very little distance attenuation, meaning that with headphones on things all sound closer in general, but it also means that you don't get silence during a battle when you're very zoomed out. Battles thus sound FAR better.
    • doppler_level can now be set (between 0 and 5), and all the values are now 0 rather than ever being 1, which they sometimes were before. This prevents any of the sounds from being choppy as you zoom in and out and the doppler level was trying to kick in and not really doing well when doing so. It's not an effect you would likely have noticed because the attenuation was too strong before, but we encourage you not to use this feature now that the attenuation feature is fixed.
    • Thanks to a variety of people for suggesting things along these lines, including TechSY730, Kahuna, and Mckloshiv.
  • The volume levels at the lower end of the spectrum, for various audio channels, should now be a lot more reasonable. If the sensitivity is still not feeling right, we might need to tweak our math a bit more, but this should give you more finesse in an audible range.
    • Thanks to TechSY730 and Bobtree for reporting.
  • A further 11 audio mixing channels from our audio mixer now have their sound effects able to be directly manipulated.
    • This makes it so that we can adjust mixing on the fly for things like explosions in combat, the wormhole traversal sounds, etc.
    • Right now things may need some adjustment, so if anyone finds some defaults that feel better than what we've now exposed, please let us know!
    • Thanks to RocketAssistedPuffin for inspiring this change.
  • You can actually hear the wormhole traversal sounds, now.
    • Some of the other things might be on the loud side, such as combat sound effects in general. The overall default volume of weapons firing and combat as a whole and so forth have had their relative values adjusted.
    • More adjustments may be needed for your setup, or for our general defaults. Feedback is welcome!
    • You can also REALLY hear explosions, now.
    • Thanks to Puffin for reporting this one.

Bugfixes

  • Fix a null reference exception in the AIP History Log
    • Prompted by a save game from Zeusalmighty
  • Warden Fleet and Praetorian Guard do not count as Threat
    • Thanks to Puffin for reporting
  • Patrolling guards now count as 'guards' for the AI LongRangePlanning
  • Warden/Hunter now more accurately assess whether they should wait to attack, and will never wait if the king is under attack
  • Use the controlling faction (if appropriate) when determining the colour to make planet links, rather than a minor faction with Influence's colour
  • Fix a bug where the science extraction hack did not work against planets the AI has reconquered
    • Thanks to Zoreiss for reporting
  • Fixed a potential cause of the bug where orders and stance could be lost on ships when a stack was being split or one ship in a stack died.
    • Basically in the OnDeath logic we no longer need to clear orders at all.
    • Thanks to NRSirLimbo for reporting.
  • A HUGE amount of rework has been done with how orders are cleared from ships, and also regular move and decollision-move orders have been split out into two types.
    • This lets us do things like clear just decollision orders but not other things, and we also no longer have a bunch of things referring to Rally orders, which haven't existed for a while.
    • There may well be some bugs relating from this, but hopefully they are now easier to track down because the code is more sensibly-arranged for the current game design. It's possible that some things were previously working sometimes-but-not-always and will now work never, and that's actually preferable since we can then fix it to work always, once it's found.
    • This needs lots of testing, relating to queuing orders and issuing orders of various sorts, and seeing that the AI doesn't do strange things with its own orders, etc, etc, etc.
    • It's possible that this fixes the strange decollision logic when you queue a lot of move orders (that worked once upon a time, but has been broken since we revamped a bunch of the game code).
    • Thanks to WeaponMaster and RocketAssistedPuffin for reporting.
  • Decollision-move orders are now explicitly dumped when a ship goes through a wormhole from one planet to another.
    • Thanks to WeaponMaster for reporting.
  • Add some miscellaneous debugging code
  • Put in a change that seems to make the long-range planning run more reliably on the intervals it is supposed to for factions (AI and otherwise). There were two different kinds of force-periodicity code styles in place (implemented at different times) that were causing occasional slowdowns to the background threads (in terms of infrequency of them running) even though they are relatively light on the CPU and very-background in nature. This should make the AI and other minor factions seem more responsive to what's going on.
    • Seems to improve things for Badger.
  • Fixed a number of bugs where ships that were transforming, warping out, or stacking were exploding (visually and aurally). This was often alarming, or just plain confusing, because it seemed like combat was happening or something was wrong, when in fact it was just ships doing their own thing particularly in the case of stacking.
    • Thanks to a number of people for reporting this, although I guess not on mantis because I couldn't find any reports with who to credit.

Balance Tweaks

  • Reduced cost and energy usage of Watchman Frigates.

AI Types

  • Zombifyer AI now uses its preferred units in Hunter Fleet, Warden Fleet, CPA, Reconquest and Wormhole Invasion.
    • Also fixed it having the same Turrets as the Sniper AI.
  • Ghost AI now uses its preferred units in Hunter Fleet, Warden Fleet, CPA, Reconquest, and Wormhole Invasion.
    • Also gave it a seemingly unused group for CloakingHeavyWaves for...well, waves.
  • Fixed the Sledgehammer AI having that CloakingHeavyWave group. Turns out it was used after all...if in an odd place.
  • Thief AI now uses its preferred units in CPA, Reconquest and Wormhole Invasion.
  • Renamed Despiser of Forcefields to Shield Hater, as that's what the internal name is, and also what its achievement is referring.
  • Removed the ExtraDamageDealingStrikecraft AI ship group.
    • This contained only Veteran Snipers, which should be Sniper AI exclusive anyhow, and all the Vicious type units, which should be exclusive to the Vicious Raider AI.
    • Both of those units won't show anywhere else actually, except those AIs. For player Fleets, you can still get some of the Vicious stuff.
  • Vicious Raider now actually has Vicious Raider units, as well as all the other already existing Vicious types, bundled in a single group and fairly common for it.
    • Whenever a Raider, Vampire Claw, etc that has a Vicious version would appear, for this AI instead it'll be said Vicious one, since it feels kind of weird for it to have both normal and upgraded variants like that (although other sources like Astro Trains will give the normal ones).
    • Oh, and it's actually selectable again in the lobby.
  • Sniper AI now uses the Veteran Sniper, and has a new Veteran Sentinel Gunboat (uh oh). Also uses the sniper ship groups more (even more uh oh).
  • Ensnarer now actually uses more tractor units, and like the Vicious Raider, uses its own upgraded version of the Etherjet instead of the normal one where it appears (and no other AI gets it).

Version 0.884 The Helping Hat

(Released August 26th, 2019)

  • Added colorization to the text of the buttons in the in-game escape menu to make it less overwhelming.
    • Resume is now a light blue, How to Play is now a vibrant green so people notice that, Debug Menu is now a dully gray so it's less intrusive, and Quit Game and Exit to Desktop are now light orange and red so that they are no longer so mixed up in the list of everything else.
    • Overall this should hopefully help people miss things less frequently in this menu, most-particularly the "how to play" bit.
    • Thanks to Badger for suggesting.
  • A new Hacking section has been added to the How to Play part of the game, and it has four topics: Basic, Getting More Points, Closest Hacker Gets The Reward, and The Three Styles.
    • Thanks to Badger for suggesting!

AI Improvements

  • Tweak hunter/warden logic to allow those fleets to camp on planets adjacent to the target instead of just diving straight in. This should make it harder for units to trickle in slowly and just die piecemeal.
    • I expect this logic to require additional changes down the road.
    • The problem was pointed out by Zoreiss who provided an invaluable save game for testing.

Bugfixes

  • Fix a bug where waves weren't spawning units
    • Reported by several people, including Starkelp and the Puffin of Grand Velocity
  • Make sure a unit's stance (eg FRD) is sticky across decollision
    • Reported by a lot of people, including mr. dave (Mantis), Hamendar, NihilRex, spleenshark, and minetime43 (steam) and various folks on discord as well
  • Fixed some bugs where decollision was causing units to do weird stuff; either overshooting or undershooting their destinations
    • Thanks to Puffin for reporting.
  • Fixed a bug where stacked units would be unselected when one of them was killed and the stack thus got smaller. Have not tested this yet, but should work.
    • Thanks to Puffin for reporting, and Badger for finding the problematic code area.
  • When the Dyson Sphere or Nanocaust cause NormalPlanetNastyPicks on their planet to die in the early game (or whenever, really), it should no longer charge you AIP or have any other on-death negative effects. Needs to be tested, though.
    • Thanks to Puffin for reporting.
  • Non-player ships that are headed toward a wormhole will never decollide now, no matter what their distance from the wormhole is.
  • Fixed an oversight (very old logic mixed with new logic) where stacks of ships could not get into transports. Needs to be tested.
    • Thanks to Zoreiss and NRSirLimbo for reporting, and Badger for finding the solution.
  • AI guardians and dire guardians are now allowed to stack, which also means that other things like nanocaust ships (which are flagged as such) are now also able to stack. This gives a pretty major performance boost in some games that were previously bogged down because of a ton of those sorts of ships that were not stacking.
    • Thanks to Puffin for finding this one!
  • Added SmallShipNotStackable and LargeShipNotStackable, which don't have the other AIGuardian logic or flags, but which prevent stacking of them.
    • Currently applied LargeShipNotStackable to: dark spire ships (is this needed?), dyson ships (is this needed?), macrophage harvesters (is this needed?), nanocaust ships (this is needed, for now at least, to not let them stack across different spawners).
    • Thanks to Badger for reporting the problems that the change to AI Guardians stacking logic could cause with some of the other factions. This makes the performance worse (for now) with the nanocaust again, but it does make it so that guardians are stackable.
  • Added SmallShipYesStacks and LargeShipYesStacks, which are like their non-stacking variants but do stack.
    • Now applied LargeShipYesStacks to: dark spire ships and dyson ships.
    • Macrophage ships are not supposed to stack, and are rare enough that they don't even need to. Nanocaust stuff will be dealt with later on, made to stack but only with extra conditionality.
    • Thanks to Badger for clarifying the needs here.
  • Hold fire mode, stop-to-shoot mode, group move, and the preferred targeting type now get copied over to replacement entities in many more cases (hopefully all of them): things like a stack splitting, one ship from a stack dying, ships respawning from a regenerator, etc.
    • The one exception is the hold-fire mode for ships that are coming out of a flagship (transport or otherwise) or being spawned at a flagship; those don't inherit the hold-fire mode.
    • Needs testing.
    • Thanks to Zoreiss for reporting.
  • When ships are being ordered to load into a transport, they now should ignore the stop-to-shoot mode just like they ignore pursuit mode. Needs testing.
    • Thanks to Zoreiss for reporting.
  • Make sure ARSs can only be successfully hacked once. Being able to grant bonus ships to all of your fleets would be much too strong
    • Puffin noticed that you could hack repeatedly

Balance Tweaks

  • Greatly decreased Warp Gate durability.
  • Increased durability of AI Command Station to match that of the Reconquest variant.
    • Oddity.
  • Decreased durability of Data Centers, Coprocessors, and Communication Nodes.
  • Super Fortress is now Mark 7.
    • Thanks to zeusalmighty for suggesting.
  • Fixed Agile Transport Flagship not being faster than normal.
  • Sentinel Gunboat and Ranger tachyon range increased a bit.
  • Astro Trains are now shown on the galaxy map.

Starting Fleets

  • Cloaked starting Fleet now has 80 Gunbots, up from 30.
  • Raid starting Fleet now has 80 Turbo Stingrays, up from 30.
  • Parasitic starting Fleet now has 4 Muggers, down from 8.

Version 0.882-0.883 Research and Reconquest

(Released August 20th, 2019)

  • Add a "Autobuild Factories" setting, to go with Autobuild Energy Collectors
    • Suggested by PokerChen
  • Added Magnifiers and Alarm Posts back in, thanks to the new shiny icons.
  • Updated the Facepunch Steamworks library to the very latest version, which has been heavily reworked in the last few months.
    • This should now function properly on OSX and Linux, although we've not directly tested this yet. It does work on windows, we know for sure.
    • On osx and linux, our hope is that even if it throws some sort of error while starting up, it will now properly show the main menu ships-flying background (not the main menu on a blank space background), and just more gracefully say that you didn't log in successfully for whatever reason.

UI Improvements

  • Slight improvement to the GCA hovertext and science type hovertext
  • Add an Objective for hacking the Dark Spire to get a ship type. Hopefully this will encourage players to note the other hacking options available for the Dark Spire as well.
  • 75 new ship icons have been added to the game, only 4 of which are actually going into immediate use (ARS, GCA, Faction Beacons, and Zenith Matter Converters).
    • The other 71 icons are for modders, us as devs -- whoever -- to be able to choose from and use in the future as needed. They fit with the feel of the game but can be used later as needed.
    • Whenever people were adding new ships they usually had to reuse icons, previously, but now they should have much more flexibility. This brings the total number of icons up to 221, not counting flair modifiers.
    • If you want to browse them for choosing, look in /AIW2ModdingAndGUI/Assets/Icons/OfficialGUI/GUIShipsWhite. Then just use the term Official/WhateverTheFilenameIs.

Get New Ship Lines: Advanced Research Stations Return!

  • Add Advanced Research Stations to the game. Each of these gets a Frigate or Strikecraft type; hacking the ARS grants that ship line to the hacking flagship.
    • The number seeded in the galaxy is tunable in the game lobby.
    • Cancelling this hack does not destroy the ARS (so that if you start with the wrong flagship you can cancel w/o penalty)
    • Note these will only appear in new games.

Balance

  • Nerf the amount of energy the Dark Spire gets from killing anti-AI zombies.
    • RockyBst's report: Dark spire gets stuck in a feedback loop. Spire ships move to human planets, get zombified, move back to spire worlds and die spawning more spire ships, move to human planets, get zombified... Within an hour a 3,000 strength strong wave of spire rolls over the human homeworld. Catastrophe indeed.
    • This should no longer be possible
  • Hacking a specific target (like an ARS) is now done by the flagship closest to the target. This gives players better control over which flagship should be used.
  • Hacking disables the cloaking system on the Flagship in question
    • This was mentioned as something that made the game easy by RockyBst. Some additional balance work may be needed here, if disabling cloaking entirely isn't desirable.

Reconquest Improvements

  • When the AI reconquers a planet, its Guard Posts will 'Warp In' over the next 10 minutes, each bringing with it a small company of guardians.
    • It was frustrating (particularly on high-mark planets) for the AI to instantly get hundreds of strength of defenses on a planet after reconquering. This now gives you a window to counterattack and destroy the helpless Warping In guard posts
  • Fix a bug where reconquest waves were using the Strength of a Usurper instead of the AICostToPurchase when spending its budget

Bugfixes

  • Put in a new destroy_on_load_if_more_than_this_number_on_planet xml flag that is used on the various guardians and eyes that can transform into other types, and set it to generally be around 10 for them, at least for now. In savegames where there were 27000 or similar of these, it now strips those down on load.
    • This is obviously just a band-aid in the main, but it's a useful tool for fixing existing savegames if nothing else.
    • Thanks to Ribald for reporting.
  • Put in a change that should make sure that units that are transforming, or being killed because of being hacked, or things along those lines, should definitely always get removed at the end of the frame when they are told to despawn.
    • There's not a huge amount of evidence for this functioning properly yet, but it seems to in preliminary testing. Basically if you are playing and start seeing way too many temperamental guardians again, then this is probably not working as well as we hoped.
    • Thanks to Ribald for reporting.
  • CPAs now use AICostToPurchase instead of Strength when calculating how many units to spawn
    • This is a significant buff to CPA strength. This bug was noticed due to some comments from zharmad.
  • For ships with more than one order queued up, you can now see the types of all the orders if you are viewing the non-abbreviated version of the tooltip for that ship.
  • Fixed a likely bug that was causing some AI movement orders to get queued up like crazy on ships, which was probably not the best for performance. If you have any issues with queuing orders or giving orders while a ship is rallying to the transport or whatever, please let us know with steps to repro.
  • Fixed several bugs where move commands could be set to the far lower left corner, particularly on decollision logic or assist logic.
  • In the escape menu, you can now see a list of how many of each gamecommandtype has been issued, and watch those count up as more are issued. This is helpful for knowing when a background thread is spamming the network/game-sim in general.
  • Special faction logic is no longer run while the game is paused.
  • Fixed a nullref exception in Helper_SendThreatOnRaid. We're actually really surprised this wasn't coming up in more savegames.
  • Fixed a bug that was causing temperamental guardians to duplicate themselves many times over, but also probably was causing some other issues.
    • Essentially it was possible for the DoEntitySecondLogic logic to run even on entities that were scheduled to be removed because they were dead or had just transformed, etc. This is no longer possible.
    • But also we now ensure that entities are properly processed into being removed even when the planet they are on is in the tier 2 or tier 3 battle status. The introduction of these had caused a delay in removal that was leading to this problem, so we fixed it from both ends.
    • Thanks to Badger for discovering the root of this.
  • Added a new Mat.DistanceBetweenPointsSIMD( ArcenPoint P1, ArcenPoint P2 ) method, which uses hardware-accelerated floating point math to get a distance between two points. This won't be quite sim-perfect, but given our correction algorithms that are planned the slight drift should be ok. And this does seem to be faster than Mat.ApproxDistanceBetweenPointsFast( ArcenPoint P1, ArcenPoint P2, Int32 ShortcutsBeyond ) in at least some cases.
  • We had an old method called FastGetIsPointOutsideGravWell(), and that was very frequently not noticing some places where ships could be placed out of the gravity well. Mainly to the southeast for some reason?
    • We're now using a replacement method, GetIsPointOutsideGravWell_SlowButCorrect(), which is using DistanceBetweenPointsSIMD to try to offset the slowness at least some. This keeps all the ships actually in the gravity well.
    • Thanks to zeusalmighty for the report that led to this discovery.
  • On load of savegames, there's now a new FixAnyShipsOutsideOfGravWells_OnLoadOnly() method that is run that brings any ships that were erroneously outside the gravity well back into the gravity well.
    • Thanks to zeusalmighty for reporting.

Performance Work

  • Put in a performance improvement to when there are really huge numbers of units on background planets; it now calculates their system status enabled/disabled stuff on frames that are being run if it's coarse-running them. Overall this is a much smaller part of the main-thread sim, now.
  • Started building out some performance-logging code that works kind of like a built-in simplistic profiler. It has less power than a true profiler, but vastly better performance and is something we can run more or less all the time so long as we're careful how we do it.
    • Right-clicking the time/paused button at the bottom of the screen now gives you that output. This is useful for savegames that are running slow for some reason, for us to be able to see where the load is. We do need to put in more granularity on that before we truly get fully useful data out of this, but it's a start and it has helped us find a few things.
  • Put in a lot more usability features with our new built-in profiling. It now splits out the profiling between nonsim, sim, and background threads.
    • This is something a regular profiler could never do, really, because those are too generalized anyway. At this point we can see how each of those three areas relate to each other, and to their constituent parts.
    • It's still not remotely clear why the sim is running very slowly in some specific late-game savegames (other than that there are a lot of ships in those savegames), but we're making some progress. Since the general framerate stays up, it's probably a matter of it waiting on background threads, or the sim steps having some sort of timing issue. That's part of what this profiling is for figuring out.
    • On the plus side, this does accentuate some areas where we recalculate certain UI elements WAY more frequently than needed; that's not causing the slowdowns we're seeing, but hey it should be easy to optimize in the coming days and will have some savings on people's CPUs.
  • Put in several optimizations that reduce the total tick count used by the UI to about a third of what it previously was (and now only about twice what the sim tick count is). Interestingly, this doesn't help our sim speed at all in most cases; we had thought that perhaps there was a contention issue with frame spacing causing timing issues with the sim. Looks like that's not the case, but a bit less load from the UI is certainly welcome in any case.
  • The ships sidebar ui is still lighter-weight than it was before, but some of the centralized code that was helping all of the ui be a bit lighter was causing a feel of lag in the tooltips even after we fixed things like tooltip flickering. So we're just going with the kind of middle-ground savings of ticks.
  • More investigation into the performance drops in certain circumstances. Curiously, there are some savegames which register 10x more ticks in the sim and simbg threads, and they run at perfect speed while these other games are running at 10% speed.
    • We added a lot more instrumentation in, and then tested turning that off to see if the instrumentation was slowing things down, and there was no appreciable difference.
    • We also added a number of small speed additions like making Gamecommands serialize more efficiently, not allowing the LookupSwaps to slow things down, and so on. None of this was really terribly effective in the short term with the problem saves, but it's stuff that is helpful to have in general.
  • The code timings window now properly includes the long-range-planning in the "MAIN SIMBG" category. Technically it's not actually part of that group, but close enough for now.
    • The findings for this show that these are extremely low load, which is what we had thought for a while, but some recent savegames were making us wonder. But the truth is these are absolutely trivial in size, which is good and the idea.
  • Additionally, the code timings window now lists how long each faction's long-range planning thread took the most recent time, which as you can see is slowly updated over quite a bit of time. The times are absurdly low and efficient even in very slow savegames at the moment.
  • Fixed an issue where some threads, particularly the long-range-planning ones, were lingering for 30 seconds and then dying while in a combo state of Background,WaitSleepJoin.
    • We're now detecting the WaitSleepJoin status and considering those threads terminated when they enter it.
    • This prevents us from using Thread.Sleep(ms) on background threads, since those would also get picked up by the above, but we haven't been using that and don't need to anyway. What seems to have been happening is that the threads are in Join status, and we needed to notice more quickly that they were gone without having aborted themselves.
    • The short of it is that this fixes some rampant "Thread 'specialFactionContext_4_AntiAIZombie' is in state Background, WaitSleepJoin after 30 seconds, so killing it now." style errors. These were happening for loads of threads that were barely doing 20ms worth of work, but then hanging around for 30s.
    • This doesn't really seem to help performance, but it should help AI responsiveness and should also help correctness. It's possible that this was mainly happening in the unity editor instead of the main game executable, but either way it's good to have fixed.

Decollision Frame-Splitting

  • The number of decollisions that have been scheduled and executed are both now shown in the escape menu.
    • This has the side effect of roughly showing how slow it sometimes is to run decollisions (depending on the load of your computer this could be more than 30 seconds for one iteration, which then gets you into ThreadAbortExceptions).
    • The number of those which are scheduled versus run is typically higher because they get stale if things run too long (ships die, move between planets, etc).
  • The decollisions thread is now split out over time like the target list planning thread is. It's only allowed to check 1000 ships per cycle, and only give 500 decollision orders at a time, now. With this, we took out the restriction on checking on planets that are tier 3, at least for now.
    • In some of our prime test games that run slowly, this process now takes 39 seconds to complete (but split up more over time, which is good for not bogging things down), and so this definitely explains why some people would have been getting ThreadAbortExceptions before when it was trying to run this whole thing in one cycle no matter what; longer than 30 seconds for one thread cycle, even on a long-running thread, and it's going to assume it hung and needs to be killed. It's meant to time-slice like this to avoid running anywhere close to 30 seconds, normally. Now each of these is probably a second or two, max, on a background thread per cycle.
    • This doesn't really improve overall performance in the bad cases, but it does help reduce the size of the decollision GameCommands being issued in all cases, which is good, and it also really reduces the number of stale decollisions in the slow savegames, since they are executed much more closely to their calculation time.
    • All the data for this is also now shown in the escape menu.

Stacks of Player Units

  • For the stacks that NPCs use, the minimum has dropped to 6 from 10, and the max to 200 from 1000, and the default to 50 from 75.
    • In late-game situations, this helps to keep performance a bit better.
  • Players now also get stacks, but theirs are fleet-based as well as planet-based, and their default is 30 out of a range from 6 to 90.
    • This range is a lot lower because of how these are broken up by fleet; but at any rate, they VASTLY improve the performance of a lot of late-game savegames where players get stupidly-high numbers of ships. Now you can have those stupid-high numbers as much as you want, without it eating your simulation speed.
    • This literally can take performance from 10% in some of our test games, all the way up to full speed.
    • This also fixed the decollision cycle time from being 39 seconds in one test case to instead being 2 seconds. Wowzers.
    • Thanks to zharmad for suggesting.
  • To prevent spam of decollision instructions (which now have their own separate gamecommand for easy identification), we now throttle these to only allow them to decollide a specific ship every 5 seconds, or 15 seconds if on a tier 3 planet. This gives ships time to actually move before getting new orders, and brings the decollision logic down to taking under 1 second where it took 39 seconds before.
  • The count of units present now includes those that are stacked, and transported units can now transport stacks as well.
    • We also put in some performance precaching work on these to calculate these things on the fleets where it is relevant, and only on those fleets. Performance is still suffering since adding this in, however, so we're having to look at that.

Version 0.881 AI Neighborhood Watch

(Released August 12th, 2019)

Interface Improvements

  • Clicking on the Threat portion of the resource bar will give a popup window listing all of the planets with threat
    • Requested by Puffin.
  • Improvements to AIP, threat and science resource bar clickable popups.
    • Add colour and change formatting to make things more readable.
  • Hovering a Wave notification now highlights the target planet. Clicking on the wave notification now centers you on that planet (if you were in the galaxy view), or jumps you to that planet (if you were in the planet view)
    • Suggested by zharmad.

Balance

  • Allow the Warden Fleet to purchase Golems.
    • Only for high Warden Difficulty settings and AIP, like how the Hunter Fleet picks up Dire Guardians.
  • Rework the way planet Mark Levels are set at game start time
    • The game now properly supports having multiple players/AIs in it when assigning mark levels
    • Mark VII and VI planets are now only near AI homeworlds, instead of having tons of them at random on the map
    • Always make sure that a player has at least 2 mark 1 planets nearby.
  • Fix a bug with marauders where they would suicide onto neutral worlds without paying attention to whether there were strong enemy forces on it. Slight buff to Marauder income.
  • Slight buffs to DS Vengeance Strikes on untouched VGs (those with really low conversion ratios.)

Bugfixes

  • Fix a bug where moving from units from the planet you are watching to a planet without any player units on it was causing units to warp across the map
    • Thanks to weaponmaster and zharmad for reporting.
  • Fix a divide by zero exception when doing Ion Cannon hacking.
  • Don't let players build structures that would put them in negative energy. Otherwise you can inadvertently turn off your force fields trying to build turrets.
  • Fix a bug in planet hovertext where it wasn't correctly identifying the allied faction colour for showing strength on planets.
  • Don't count Dark Spire units as Threat
  • Add some additional debugging for tracking Threat and for printing out game entities more efficiently
  • Fixed several possible nullref exceptions in the wave notifications (that were rare, but at least possible).
    • Thanks to BadgerBadger for reporting.
  • Put in some extra instrumentation that should help us know what is going on with the "late game frame freezes" that a few people reported.
    • Thanks to NRSirLimbo, zharmad, and BadgerBadger for reporting.
  • A new keybind (defaulting to F5) has been added to the Debug section: Dump Info From UI
    • Dump all of the info about currrently-displayed UI windows, and anything to do with why textboxes might be blocked as well, both to the log and to a popup window.
    • This gives a bunch of info that we should have made dump-able years ago, sigh -- why we didn't think of it, who knows! But if you're having trouble with a textbox not taking input, or part of the screen being non-clickable, or part of the screen being obscured with a big black background, then please hit F5 and send us the results that it puts into the ArcenDebugLog.txt in your PlayerData folder. It also will show you visually what is happening in a nicely-formatted fashion, so you might figure it out as you're even sending it to us what is wrong, who knows. Either way works for us!
    • Thanks to Badger for suggesting this, and the report of the black box area; and also thanks to zharmad for what is probably the same report in a different and earlier manifestation (or just two unfortunately similar issues).
  • Fix a bug where the 'capture a few planets early' objective was always visible. Also improve that objective tooltip to suggest a player capture a few Fleets or GCAs explicitly.

Version 0.880 Belatedly Finding Friends... And Enemies

(Released August 9th, 2019)

Quality of Life Improvements

  • Consolidate the Superterminal AIP log entries so they don't clutter things excessively
    • Thanks to zharmad for the bug report
  • Allow the AIP log to track the AIP floor, since otherwise the AIP log could wind up reporting numbers below the AIP floor if you'd done a ton of AIP reduction, which was confusing.
    • Note this will only be visible for AIP changes in new games or things that happen with this patch installed. Old events will keep the old behaviour
    • Prompted by a save game from zharmad
  • Neutral planets under the influence of a minor faction now appear as the colour of that minor faction, not neutral grey
    • Thanks to Zharmad for the suggestion, and props to Zharmad for lots of good bug reports and suggestions that appear in this release!
  • Fixed a confusing thing where you had to have the fleet selected as-a-fleet in order for transport loading and unloading to happen. This meant that things like hitting the "m" key to select all mobile combat units, or even drag-selecting to select a variety of ships, would not let them load and unload anymore.
    • Now as long as the flagship is selected, then it will work to initiate loading and unloading; still selecting a fleet as-a-fleet will work fine, but also just selecting the flagship-as-a-ship works.
    • Thanks to Zoreiss and Sigmar213 for reporting the confusion here.
  • Each Hunter/Warden fleet is restricted to only purchasing units available to its AI type
    • This will promote diversity among the various Hunter/Warden fleets
  • Allow the hunter fleet to purchase Dire Guardians.
    • Only for high Hunter Difficulty settings (7 or higher) and only at higher AIP levels (300 AIP or higher at difficulty 7)

Bugfixes

  • Add some additional defensive coding to the decollision planning threads
    • Prompted by a save game from zharmad
  • Fix a null reference exception in the neutral planet science hacking code that was preventing the AIP from updating
    • Thanks to zharmad for the bug report
  • Put in some defensive coding against hostile/friendly checks causing an out of range exception in some cases for things like shots that were dead, etc.
    • Thanks to NRSirLimbo for reporting.
  • Flagships are no longer nesting dolls that create copies of themselves on level up.
    • Thanks wm46 for the fix!
  • Fixes the bug causing bonus units to appear when you upgrade ship tech.
    • Thanks Badger and Puffin!
  • Fix a bug where Exogalactic Strikeforces weren't pressing home their attacks properly
    • Thanks to Puffin for reporting
  • Fix a null reference exception when cancelling hacks
  • Put in some code that should prevent some of the bouncing around of the background threads reading about metal flows on factions.
    • This probably only affected the UI and we were already buffering to avoid that being an issue, but just in case this is now fixed here, too.
  • Fixed an issue where the minimum number of planets to explore were often not being enforced properly on maps with a lot of choke points, or on snake maps in particular. It was making those maps have to be explored a single planet at a time, which of course is insanely hard to do.
    • Thanks to zharmad for reporting and for the savegame to repro.
  • Fixed a super longstanding bug where if you had an exception on map load (for instance during a quickstart starting), then it would not just give you the initial error, but would also corrupt all the icons on the sidebar and will give you infinite endless popups of error messages relating to the planet and/or entity hover boxes.
  • Fixed a bug where if you tried to create new quick starts, the game would give you three copies of the same main fleet rather than properly giving you the correct support fleet and battlestation to start out with in addition to the main fleet.
    • Thanks to Nyteblade and RocketAssistedPuffin for reporting.

Performance Boost: Coarse-Processing of BG Planets

  • Added a new setting to the Performance section of the galaxy map: "Advanced: Coarse-Process BG Planets"
    • Unless you are having a problem with the simulation for some reason, this should be left on. This makes background planets take up far less processing than they otherwise would, particularly when a bunch of third party factions are battling and you can't even see.
  • When the coarse-processing is on, then planets are divided into three tiers:
    • Tier 1 planets have a player looking at them or at least at them, and they work like normal.
    • Tier 2 planets have player ships at them but no player there.
    • Tier 3 planets have no player or player ships there.
    • Tier 2 and 3 planets both skip creating shots for any shots that are headed to any non-player ships, and just have them insta-hit. Same for AOE damage, etc. This is the number one performance-improver out of all this.
    • Tier 3 planets use very cheap square ranges instead of the usual circular ranges for everything from ships to gravity effects to collisions, which saves some processing power during big battles between unseen background factions in particular.
    • Tier 2 and 3 planets ony run updates every 10 sim steps, rather than every sim step, but act like they are on 10x speed for the sim steps they are on. All those planets are batched so that 1/10th of the planets get processed every sim step.
    • The overall savings on one of our test case games was to improve performance from 31% to 68% or more.
      • It really seems like we ought to be able to get these numbers even higher, but we're not sure just at this moment exactly what is sucking up the performance. Anyone who wants to pick at this and use more of the planet.BattleStatus_ProcessThisSimStep logic on non-long-term-threads and non-per-second methods is definitely welcome to look at it.
      • We also wanted to go ahead and get this in place sooner than later not just so that people can see the performance benefits immediately, but also so that if there are bugs resulting from this we have time to fix those.
  • A bunch of the shot-hitting logic, AOE logic, and related have been moved into the open-source parts of the game.
  • The escape menu now shows the counts of tier 1, 2, and 3 planets, the number of shots that have hit (since game load), and the number of entities that have died (also since game load).
    • This way you can get a sense for how things are progressing in the background if things are slow, for instance; and to be sure that shots are actually hitting and killing things.

Discoverable Factions

  • Some factions are now Discoverable in the game. This means that if the player doesn't explicitly request this minor faction in the game lobby, a unique structure for that faction will be seeded in the game and hacking/destroying that structure will cause them to become active.
    • So if the player requests the Marauders, they get the Marauders. If they don't request Marauders then they'll get a Marauder Structure seeded on the map, and destroying that structure will enable the Marauders.
    • Currently the Devourer, Nanocaust, Human Resistance Fighters and Marauders are available this way

Balance Tweaks

  • AI purchases from the Zenith Trader no longer give AIP
    • Thanks to Democracy for the suggestion.

Mercenaries

  • Changed a few of the named character Mercenaries to actually have varying units:
    • Lobar the Wolf now spawns a mix of Heavy Fusion Bombers and Vanguards.
    • Arnaud de Cervole now spawns a group of Aggressors and Paralysers.
    • Hereward the Wake now spawns a group of Velociraptors.
    • Xenophon now spawns Porcupines and MLRS Corvettes.
  • Xenophon is back to using the WarpOutAfterBattle behaviour. In addition, he can be hired twice as much.

Hacking

  • Hacking Response strength increased 50% on Diff >= 6.
  • Swapped the primary and secondary hack interval and response of the Super Terminal.
    • Now it starts to get stronger at a much faster rate, and should be a more significant challenge.
  • The Superterminal hack now comes with periodic exogalactic strikeforces, to make it harder to fleetball everything on the superterminal planet

Version 0.879 Many Fixes and the Tutorial Rework Starts

(Released August 7th, 2019)

  • The swap ship line interface now shows you how many ships are in the cap of each line you might be trading. This way you can more easily see the actual relative powers of ships with the same line type, for instance, but different caps.
    • Thanks to AnnoyingOrange for suggesting.

Balance

  • The "Officer Fleets" with the Arks and Golems should now generally be 3-5 planets away from the AI homeworlds, rather than directly adjacent to the AI homeworlds frequently like they were before.
    • There are still very very few of them, and if they feel like an afterthought then we really need to pump them up in terms of power. But they're expensive and far away so that they can be late-game ringers for you, exciting last conquests, essentially.
    • Thanks to AnnoyingOrange for reporting.
  • The "multiplied_frigate_ship_cap_for_mobile" and "multiplied_strikecraft_ship_cap_for_mobile" have been removed, as these were things that caused the number of ships to be increased at specific centerpieces.
    • Prior to us being able to swap units between lines, that was no problem. But now it's something that was just confusing, and there are better ways to accomplish the equivalent thing.
    • For Arks and Golems (officers), having larger fleets isn't really the point anyhow; they should be bigger and scarier on their own, and the fact that their fleets are not really better or worse than other fleets is fine.
      • In the future, we can make it so that they pull from a separate set of fleet designs that have larger caps built in, if we want, and the good thing is that then when there are ship swaps between fleets, the extra ships will transfer properly. There doesn't seem to be a need for that right now, but the important note is that it's actually possible if we do feel inclined.
    • This change is going to reduce the ship counts on a lot of the fleets, in existing savegames as well. If this is a problem, then please let us know and we can adjust the seeding count ranges on the fleet designs in order to rectify that. But in general it MAY be that people were having a few too many strikecraft and such anyhow, and that Golems/Arks are underpowered; we want you to feel inclinded/excited to pick up those officers in the late game, but it may have been that the regular ships were so plentiful that it wasn't really worth it.
    • Thanks to zharmad and AnnoyingOrange for reporting.

Other Tweaks

  • Updated some non-player units to have more relevant metal costs for Metabolization effects.
  • Plasma Turret and Beam Cannon health increased 50%.
  • Mercenary Flagships now have radar dampening, like Space Planes and Fortified Tesla units.

Bugfixes

  • Tweaks to hacker behaviour. A unit doing hacking now can move but cannot go through wormholes. Also unit hovertext now tells you if your unit is hacking. Also fix a bug where cancelling a hack didn't always clear the Active Hack, leading to units believing (incorrectly) that they were still hacking.
    • Thanks to zharmad, ArlenTektolnes and linux-tyyppi for bug reports.
  • Fixed a bug where if you started from a quick start but did not save your game, then it would remember your last saved game as being an invalid path based on the quickstart you chose.
  • Fixed a bug where transports with orders to attack (aka send unloaded and constructed units to attack) would move to the bottom left of the screen. This affects all ships that can receive attack orders that don't have weapons (currently just the transports).
    • Thanks to Diazo for the report.
  • Add some defensive code for a null reference exception in the entity hovertext
    • Thanks to AnnoyingOrange for reporting.
  • Previously if there was an exception that happened during the loading of xml data table info, then it would throw an invisible error and just have the interface sit there on the loading timer, never progressing. This led a lot of people to assume the game was frozen, which it kinda-sorta was but it really was still alive but just not in a state where it was showing you info properly or letting you progress.
    • Now it finishes loading properly, and then shows you the error message about whatever happened. You probably shouldn't play the game if this happens, but at least it won't be just invisibly hanging.
    • A lot of times you can cause these things if you're messing around with modding things yourself, and so modders were particularly likely to accidentally cause this for themselves if they had a typo or something.
  • A more CPU-expensive range check is now used for forcefields, which is also more accurate and prevents ships from getting stuck on the edge of them.
    • Thanks to trillioneyes, BadgerBadger, and Zoreiss for reporting, and WeaponMaster for fixing it.
  • Previously it was possible to make trades in such a way that you could indirectly cause two ships of the same line to be in a given fleet.
    • This was meant to be disallowed, but we missed a case of it, and as expected it led to all sorts of wonky results.
    • Fixed this so that it now shows the disallowed trade items, but in red so you know they are invalid (not just mysteriously missing), and you can click them to get an explanation of why they are invalid.
    • Thanks to zharmad for reporting.

Tutorials

  • Over on the right-hand side of the main menu screen, by the How To Play button, there is now a new Tutorials button.
    • Clicking this pops open a categorized selection of tutorials that you can play in order to learn more about the game.
  • When clicking the tutorials button, it now gives you the message "Tutorials Are Not Ready Yet!", "We're still working on the tutorials, and they're in no way ready to play just yet. There are some tutorials in place, but they're not functional; they're just there so we and any direct testers who want to mess with the new tutorial system can do so. This message will be removed when the real tutorials are in place."
    • Otherwise Chris was just going to keep delaying releasing other features while these were worked on, but that didn't seem like a great idea.
  • Autosave now works in tutorials, as does auto-building of units.
    • Basically we wanted things to be as consistent between tutorials and the main game as possible.
    • Tutorials also now save into campaigns that are auto-named based on the tutorial itself.

Tutorials Framework/Code Rework

  • The old "tutorial scenario" is no longer used, but instead the default scenario that regular games use is in place.
    • Same thing with the map seeding logic.
    • Generally speaking, we want the game to act the same in the tutorial and in non-tutorial games, and so having certain things just turn off in tutorials is a lot easier to do rather than trying to have a mostly-duplicative branch for tutorials.
  • The actual methods for generating a tutorial are now really different, and use the new tutorial objects themselves, which are completely configurable via xml.
    • These now let us add non-standard factions with custom data as needed, such as a friendly devourer golem or whatever we want.
    • It also lets us change the default data on specific factions, or remove factions that are normally there, all by xml.
  • The normal "try to seed special entities" logic still happens in tutorials, now, but doesn't complain at you if it can't find room to place whatever it is it wants to place.
    • Presumably you'll use a fixed map generation seed and thus always have the same result, and/or you'll (later when we add this ability) define some specific things on specific planets.
  • The old "external data" used by the tutorial scenario is now gone, and there's something a bit more direct and consistent that is being built into the main game engine itself. We still have more to do on that before tutorials are fully working again, though.
  • The map type "Tutorial_01" now reads in special map definition data embedded in the tutorial definitions themselves.
    • This lets you set up planet names, a map that is manually defined in any organization you wish, with planets linked as desired, and so on.
  • It's now possible to define which faction owns each planet in a tutorial galaxy, whether those were auto-created or manually defined.
  • For Dyson Spheres, if those are granted planets as part of this, they now get full control of those planets (for the moment). We can always adjust that or make that optional, but it does work and could be handy for now.
    • The Dyson Spheres were largely used as a test bed for putting in additional non-default factions that own planets, for the moment.

Version 0.878 Fleet Customization

(Released August 3rd, 2019)

Usability / New Players

  • Added a detailed new "How To Construct Ships and Structures" tip to the Getting Started section of the game tips.
    • Thanks to RocketAssistedPuffin for suggesting this.
  • Added an even-larger new "AI War 2: The Full 101-Level Explanation" tip to the Getting Started section of the game tips.
    • Thanks to RocketAssistedPuffin and _Zorbaz for writing this! If anyone has anything else they think we should add or change, please let us know.
  • Added a new "How To Scout New Planets" tip to the Getting Started section of the game tips.
    • This does seem rather important.

Ability To Swap Ship Lines Between Fleets

  • The long-awaited ability to swap ship types between mobile fleets has now arrived!
    • With this new ability, you can now fully theme your fleets as you like, while still having to work within the constraints of what you find.
    • Note that when this ability is invoked, it scraps all of the ships that are being swapped across; this prevents you either from having orphaned ships way across the galaxy that you then have to get to the proper place by hand, OR from having the new ability to teleport ships across the galaxy inappropriately.
    • Also please note that you can't swap in more ships of the exact same type that already exist in that fleet. So you can't have two groups of Raiders in one fleet, for instance. But you could have Raiders and Daggers (a Raiders variant) in there.
      • While we can see the appeal of having 3x raiders all in one fleet or something like that, it would be programmatically very difficult because you'd wind up losing a slot in the fleet with double-raiders, OR the display would get all funky.
    • Thanks to RocketAssistedPuffin and MaxAstro, and a lot of other people as well, really, for suggesting.

Transport Improvements

  • Fixed a variety of oversights where if you issued things like Load/Unload orders to transports it would only work on the planet you were looking at, and not at all if you were on the galaxy map. Same with things like changing pursuit mode on and off for selected units, etc. Now all these things work properly for all the units you have selected, as you would expect.
    • Thanks to Yog-Sothoth for reporting.
  • Transports now have a "loading mode" where everything is trying to load into it, and the things that are part of its fleet will skip all decollision logic even better now during that mode.
    • So if a ship is on the way to loading into a transport, you shouldn't see it knock anything out of the way or get knocked out of the way at all anymore, or something is off.
    • Thanks to Yog-Sothoth for suggesting.
  • The explanations for how transports work have been updated to reflect the new mechanics in this build.
  • When a fleet is in "attempting transport" mode, it now says that in the tooltip for the fleet as well as in the tooltip for the flagship of the fleet.
  • When you had a fleet in attempting-transport mode, and there were still some ships on the way to the transport to load up, but then you hit unload before those ships get there... now it gives them the same orders that the ships being unloaded are getting.
    • Actually, hitting L and then U is now a really quick way to copy all the orders from the flagship to all the ships on a planet in its fleet.
  • When a fleet is in "attempting transport" mode, then any new ships that would be spawned at the fleet just go into the transport immediately rather than appearing by the flagship.
    • This is really useful so you don't leave a trail of constructed ships in your wake of your transport as you fly off to fight an enemy if you've still got some ships constructing as you go.
    • Thanks to Yog-Sothoth for suggesting.
  • In the fleet sidebar popout window, it now doesn't cause ugly line-wrapping when you are transporting ships. Additionally, it now has an explanation with some tooltips about transporting ships, too.

Ability to Set Preferred Targets

  • The ability to set "Prefers To Target" types on your ships has been added.
    • This is a feature from the original AI War that just never made it into this game. But basically when you give orders to a ship or group of ships to target an enemy, that ship will then prefer targeting that ship type until you give it a different direct order (movement or attack).
    • This has not been extensively tested, but seems to work (it's possible that we may need some additive priority changes rather than multiplicative in some cases, though). It also does show you the status of the preferred targeting on the interface for ships when you look at them, now.
    • Thanks to Zoreiss for suggesting.
  • When the orders are copied from one ship to another, it now also copies the preferred target type over.

Balance

  • Snipers are now far more rare on the AI side, in terms of their likelihood of being chosen as a ship type at any given planet. And all the sniper variants.
  • Removed Etherjets and Thiefs from the player fleet types (will only affect new savegames). These are much more interesting in AI hands.
  • Removed AutoBombs and Nanoswarms from the BasicOffensiveMix, so that they are never part of the general fleets that get rolled.
    • These still show up in some specialist fleets, but in general won't be clogging things up for you anymore.
  • ZPG Rebalance:
    • Zenith Power Generators (as they existed before) no longer are purchasable from the Zenith Trader; they can only be found in the wild and captured.
    • A new variant of Zenith Power Generators, called Lesser Zenith Power Generators, are now purchasable from the Zenith Trader. These cost 1m less metal to construct, and produce 100k less energy. They also have a cap of only 2 per galaxy that you can construct.
      • The purpose of making these a split-out variant is so that the per-galaxy cap doesn't get mixed up between ones you capture and ones you construct.
      • The per-galaxy cap feature is new, and is an xml tag called galaxy_wide_cap_for_players_constructing.
        • Note this has not yet been tested, so if there are problems please do let us know and send a savegame. But it should work!
    • Thanks to Rune and firespier for reporting the exploits you could get up to with ZPGs prior to now.
  • Tachyon Sentinels are now shot at again by factions.
    • This was relevant before Fleets, where these were the main roadblock to the player scouting, but isn't useful anymore and instead just kinda weird.
    • Thanks to Democracy for mentioning this.

Watchman Frigates At All Your Command Stations

  • Added a new "Watchman Frigate" to the station-keepers section of all command station types that players can control.
    • Description: Small, fast station-keeping Frigate that aids in cleaning up straggler enemies that might otherwise camp out on your planets or hide just out of range of your turrets.
    • Your military and home command stations get 4 of these, logistical gets 3, and economic gets 2.
    • Why add these?
      • The only other built-in station-keeping frigates were the Station-Keeping Assault Frigates, and those were never available on economic command stations.
      • The assault frigates are stronger and more expensive, and let your project significant force.
      • The idea of the watchman frigates is that they are cheaper and weaker, but available everywhere; they may be too strong at the moment, but we can adjust those down as needed.
      • The core purpose behind the watchman frigates is to give you a small number of mobile ships on every planet, without you having to move fleets around, so that if a small ship or two gets past your defenses into your inner economic planets, you can defend against them without having to withdraw a fleet or try to play "chase me with turrets."
      • On the one hand you could argue that you need to be better at creating a shell around your economic planets, but frankly making an "annoyance tax" for stray units isn't how we'd really like to enforce that. The idea of these watchman frigates is to help with the minor cleanup where only a mobile ship will do, and we almost called them "Janitor Frigates" for that reason. If it's more than the janitor can handle, then hopefully your turrets are in good positions. If not, then... well, the onus is on you, and/or the AI did a good job of slipping your defenses.
      • The TLDR is that this is supposed to alleviate the annoying case where there's some small set of AI ships just out of reach on a planet of yours, and you need something, anything, that is mobile. But it's not supposed to be some major combatant or something.
    • Thanks to Diazo for suggesting.

New And Adjusted Player Fleet Designs To Discover

  • The "cloaked mix" player fleet design was never including any frigates, because no frigates were set up as compatible.
    • Now there are several different cloaked frigate options, including a new Cloaked Mugger frigate type.
    • All of the other player fleet designs (the randomized ones) included potential frigates already, so this was the only one needing that fix.
  • Added a new "HydraOffensiveMix" themed fleet design for player fleets, with 5 tickets (so quite rare still), and ONLY hydra type ships in it of various sorts, including new Warbird Hydra Frigates.
    • Thanks to Diazo for inspiring this addition.
  • Added a new "ClassicTrioMix" themed fleet design for player fleets, with 10 tickets (so a bit more common), and it ONLY has the old core trio of ship types in it (v-wing, bomber, concussion corvette), but then also gets some interesting frigates to tag along as needed.
    • Thanks to Diazo for inspiring this addition.
  • Added a new "SlowHeavyStrikeMix" themed fleet design for player fleets, with 10 tickets (so a bit more common), and it has no frigates but has more strikecraft types (or just more strikecraft if not more types), and is focused on ships that don't die very fast. (Vanguard, Pulsar Tank, all-new Heavy Fusion Bomber, all-new Heavy Stingray, all-new Tarantula).
    • Thanks to Diazo for inspiring this addition.
  • Added a new "AntiLargeStrikeMix" themed fleet design for player fleets, with 10 tickets (so a bit more common), and it has no frigates but has more strikecraft types (or just more strikecraft if not more types), and is focused on fighting large opponents. (Pike Corvette, Porcupine, all-new Parasitic Pike Corvette, Fusion Bomber, Gunbot).
    • Thanks to Diazo for inspiring this addition.
  • Added a new "AntiSmallStrikeMix" themed fleet design for player fleets, with 10 tickets (so a bit more common), and it has no frigates but has more strikecraft types (or just more strikecraft if not more types), and is focused on fighting small opponents. (Ablative Gatling, Concussion Corvette, Stalker, MLRSCorvette)
    • Thanks to Diazo for inspiring this addition.
  • Added a new "AntiStructureStrikeMix" themed fleet design for player fleets, with 10 tickets (so a bit more common), and it has no frigates but has more strikecraft types (or just more strikecraft if not more types), and is focused on fighting structures. (Fusion Bomber, Anti-Shield Pulsar Tank, Paralyser, all-new Parasitic Fusion Bomber, all-new Heavy Fusion Bomber).
    • Thanks to Diazo for inspiring this addition.
  • Added a new "CrowdControlStrikeMix" themed fleet design for player fleets, with 10 tickets (so a bit more common), and it has no frigates but has more strikecraft types (or just more strikecraft if not more types), and is focused on fighting large crowds of opponents. (Zapper, Grenade Launcher Corvette, Harasser, Molotov).
    • Thanks to Diazo for inspiring this addition.
  • Added a new "DebufferMix" themed fleet design for player fleets, with 10 tickets (so a bit more common), with the same ship type distribution as the most common designs, and entirely filled with units using things like knockback, engine stun, and so on (Brawler, Inhibiting Tesla Corvette, Terrier, Barnacle).

Bugfixes

  • For weapons that bypass enemy shields at least partially, it no longer says "assuming shields are down" if they also have a bonus to hull damage.
    • These were two semi-unrelated pieces of text that were combining in the auto-text-generation code on fusion bombers to write something contradictory, incorrect, and confusing.
    • Thanks to TechSY730 and DEMOCRACY_DEMOCRACY for reporting.
  • The selected ships/fleets window on the bottom right corner now shows up even when you have ships selected only on other planets than your current one.
    • That not appearing was confusing as heck, and also a legacy accidental piece of code we carried forward from an old selection model.
  • Fixed a super annoying bug where when you were selecting fleets via hotkeys it could retain part of your old selection of other fleets, or other strange things like that. It should now just work correctly in all cases.
    • Thanks to Zoreiss, Rune, Jaunty Jaun, and uhamster9 for reporting.
  • Put in new code that fixes issues with scrollable modal popups being pre-scrolled down partway when you are opening a subsequent one. Aka, you read to the bottom of one long tip, then open a new tip and it starts scrolled down rather than at the top. That was definitely disorienting!
  • The pause keybinds now respond to player in put while the modal info windows are open. This is useful in particular during the metal flows screen where you might want to pause the game with it open to stop it from moving around on you.
  • The self-updating modal window is now able to basically keep showing the last "positive data" for a developer-set amount of time, and only then switch over and show "negative data."
    • In practice, we're using this for the metal flows screen so that we only switch over to showing "no metal flows" after a full 2 seconds of no metal flows, and instead show whatever the last metal flows text was. There is some sort of cross-threading issue that leads to there frequently not being any data to show to the ui for the metal flows for part of each second, and this is okay, but having it constantly flipping over and showing that rather than the data it had just a part of a second ago was... suboptimal to say the least.
    • It wasn't actually glitchy before, but it felt like it because it was showing nothing during the updates of data on background threads, or something to that effect. Now it doesn't feel glitchy and you still get updates as often as needed.
  • Fixed a bug where the fleet bonus/penalty was rapidly flickering in the UI, as was the number of fleets at a planet.
    • This was probably not affecting gameplay, but was definitely annoying. We're basically just now double-buffering the calculations.
  • Fixed a couple of bugs that were causing ships to not shoot at targets that had extremely low health, thus leading to invincible units because the overkill code was kicking in improperly.
    • Thanks to Zoreiss for reporting the "invincible guard post" issue.
  • Added a new "Show incoming-shot debug data in unit tooltips" debug option in the personal settings, for seeing shots that are headed to a target.
    • Even with the overkill protection logic, there were some orphan shots still apparently hanging around in some way?
  • Fixed a bug that has been around since who knows when, where AOE attacks that failed to appear visually would never be removed from the sim.
    • This could lead to game slowdowns as well as all sorts of other problems (targeting issues, for instance).
    • This was likely causing problems when there was a lot of background combat, or combat on planets you were not viewing in general, since they would not even TRY to show up visually and then of course would fail to disappear.
    • Who knows how much of a drain this was on the sim in general, but it was also causing some correctness issues. All fixed now!
    • Thanks to Zoreiss for the report that led to this discovery.
  • When you hack a GCA, then upgrade the granted ships to a higher mark, they now get the bonus ships as intended.
    • Thanks wm46!

Performance Boost From Guard Self-Duplication Fix

  • The game now tries to deploy AI reinforcements in stacks (of up to 100 per stack), rather than as individual units that might then have to be stacked after that.
    • This keeps things like warden ninja hideouts from absolutely bogging down the simulation.
    • Thanks to Ribald for reporting.
  • If there are more than 10k units in a single reinforcement point somehow, then it will show an error message and reduce the number of units of that type in that point to be "merely" 10k.
    • There were some cases where there were several million units in one stack in the warden ninja guard post, which was definitely an error. The error popups will probably be annoying, but we want to know and fix these things if they happen.
    • The gap of 10k units in there keeps the error message from being absolutely constant in these cases, though.
    • Thanks to Ribald for reporting.
  • The ship counts in the escape menu now include ships that are contained in transports or in guard posts and other reinforcement points.
    • The difference in the counts is pretty telling, often tens of thousands or even hundreds of thousands more ships.
    • Also in the escape menu, it now shows the number of contained ships, and the number of containers, on the line right below stacks.
    • Thanks to Kesseleth and Ribald for helping us discover we needed this.
  • Fixed a pretty darn severe bug where the ships in the warden fleet (or any other AI guards, really) could multiply like crazy if it tried to put a stack of units into a guard post.
    • If there was a stack of 10 units, it would put 10 into the guard post but only destroy 1 of them. Then the next frame it would put 9 in and destroy 1, etc.
    • Most of the time this was not severe enough to notice, but if you were aggroing an AI planet really heavily and it was having ships coming in and out for various reasons, then it could easily get into situations of adding more than 10k ships in under 5 seconds.
    • This was probably slowing down the simulations of all sorts of savegames, but mainly those in civil war mode more than anything else. The stuff that reduces the reinforcement counts will help some, but older savegames are still going to be bloated most likely if they were problematic before.
    • This doesn't affect most savegames, but for those that it did affect it's going to be a good idea to just try something less off in its data. It's unclear how much of a performance problem we'll have with civil war mode on in a fresh savegame with this off.
    • Thanks to Kesseleth and Ribald for reports that led to this discovery.

Version 0.877 The Strikecraft Goldilocks Zone

(Released July 30th, 2019)

Bug Fixes

  • If building a command station would cost the player AIP, they get to scout when they pay the AIP price.
    • This typically happens if a hostile minor faction took out an AI command station and the player then captures the then-neutral planet
  • Remove mention of Scouts from the Intel tab
    • Reported by Puffin
  • Make sure Swirl maps are fully connected
    • Reported by Puffin
  • Prevent shots from flying to the bottom left of the screen when they can't find valid targets
    • Reported by a number of people, including Diakon, Ovalcircle, Apthorpe and ptarth
  • Don't let AI drones join the hunter fleet; they'll just go off planet and die
    • Reported by zeusalmighty. This might have already been fixed, but it's Even More Fixed now.
  • Make invulnerability checks more responsive. This prevents Eyes from sometimes staying invulnerable too long or not becoming invulnerable appropriately.
    • Reported by a number of people, including zeusalmighty, democracy and weaponmaster
  • Fix a bug where hunter/warden fleets were using the old Strength budget mechanism instead of the CostForAIToPurchase mechanism when getting new units. This was causing those fleets to be much weaker than they should be
    • Thanks to Democracy for reporting
  • Remove mention of destroying the ai command station from the Counterattack Notification hovertext
    • Thanks to Democracy for reporting
  • Fix a bug where in civil war mode, the AI could get into a loop spawning endless waves
    • The wave spawning code was trying to let hostile AIs share warp gates, but the "Has the warp gate been killed?" code doesn't allow sharing hostile warp gates. So we would schedule a wave, then immediately discover it was invalid and repeat infinitely.
    • Thanks to Ovalcircle for reporting
  • If you have a tip open, the escape key (Or whatever you changed it to) will close the tip. If there is no tip open, it closes the menu entirely.
    • Thanks UFO for reporting.
  • Prevent the Tutorial AI from being an option in the game lobby
    • Thanks to Badger and majordomo for the report and Dominus for the fix
  • Tweak Warden Fleet pathfinding to make it less apt to fly into defended positions
  • Put in several fixes to deserialization of some semi-older savegames (a month or so old), along with some added debugging outputs in general for savegame loading when there are issues.
  • Put in some code to fix when the game tries to read an invalid savegame and could get an out of memory exception when trying to read an absurd number of strings because of the malformed savegame. Now it fails more gracefully and doesn't ask your OS for way too much RAM.
  • You can now issue attack orders to your weapon-less fleet leaders (aka transports), although it's not yet clear if those will stick around. The point with this is to be able to queue up attack orders so that ships that come out of the transport (or get spawned at it via a factory) will attack the target assigned to the transport, even though the transport itself won't have anything to attack. We haven't tested this yet, though, and it probably needs more work.
    • Thanks to WeaponMaster for reporting.
  • Yet more robustness has been built into loading savegames after a weapon or other system has been removed from a ship. This particular fix is for ships that still had systems (like cloaking), but which had a weapon in the list prior to the cloaking system before. That was causing savegames to be un-loadable now, but now they'll load fine.
    • Thanks to HeartHunter7 and BadgerBadger for reporting.
  • Fixed an exception that could happen when unselecting units, based on some cross-threading race conditions.
    • Thanks to NRSirLimbo for reporting.

UI Enhancements

  • In the galaxy map, viewing a planet's hover-text info with the 'show full detail' button held will tell you the AIP cost for capturing the planet. This is very handy if minor factions have been taking planets and the AI has been recapturing them....
    • Badger has been lusting after this feature ever since he added the nanocaust.
  • Clicking on the AIP section of the resource bar now brings up a popup with the complete AIP change history
    • The game now tracks additional information about AIP changes, including which faction caused the change and the planet. This information is only recorded for AIP changes that happen after this patch is applied, so older events on existing save games will have less information
  • When in the planet view, a planet under the influence of a minor faction will have the planet name over the wormhole correctly coloured
    • So if you are next to a marauder or nanocaust planet, the wormhole name will be coloured appropriately when you look at that wormhole.

Nanocaust Changes

  • Instead of using FrenzyFleets, the nanocaust will just attack anytime, anywhere it feels like it has an advantage.
    • This makes the Nanocaust scarier. Much Scarier.
  • The Nanocaust now gives the Dark Spire less energy when fighting on DS planets
    • Reported by zeusalmighty
  • The Nanocaust isn't allowed to attack the player until > 30 minutes into the game, lest they player just die early to a unlucky nanocaust spawn location.
    • That number is in the xml
  • Fix a bug in the nanocaust income logging
    • Thanks to Puffin for reporting

Macrophage changes

  • Cap the number of Telia per planet based on intensity (low = 1 per planet, med = 3 per planet, high = 5 per planet)
    • This is only for new Telia; if you have an existing game with lots of Telia on a planet then you'll have to live with it
      • Requested by a number of people, most recently firespier on steam.
  • Tweak the base macrophage income (ie without counting harvesters)
    • Higher intensities get a bit more income, lower intensities get a bit less

Balance Tweaks

  • Siege Frigate range 12,000 -> 10,100.
  • Tractor Guardian Hull/Shields 57,500/5,000 -> 10,000/52,500.
    • So Fusion Bombers work on them, since they were given a higher albedo for the purpose of fighting Tractor units long ago...and Puffin kept forgetting to do this.
  • Orbital Mass Driver durability increased 150%.
    • Makes player captured ones last longer, since unlike Ion Cannons these do not have Marks with which to gain health.
  • Ion Cannon and Orbital Mass Driver hacks now take only 15 seconds, and now only cause a tiny completion response.
    • Since it's a bit odd for the thing you are hacking to be easily capable of crippling the Flagship you need to do said hack. Ion Cannon is included for consistency.
    • Response is greatly reduced, since it feels pretty bad for the shiny toy you just stole to spawn a bunch of ships, which could destroy said toy quickly unless you sat a bunch of units right next to it every time.
  • Increased ai_cost_to_purchase of Paralyzers by 50%.
  • Increased ai_cost_to_purchase of Strikecraft.
  • Default Strikecraft hull/shield multiplier reduced to 2x, default attack multiplier reduced to 1.5x.
    • The experiment with this has given some good data. The feeling of chaft is very much gone, but it was possibly overdone, causing stories of enormous power AI Waves that Turrets simply cannot defend against.
    • So we're going to try an intermediate setting, and see how feedback on that is. If defending is still problematic, then possibly we'll look at changing Turrets themselves.
    • Of course, anyone can change these to whatever they like, and feedback on any of it is very much appreciated.
    • Lastly, it appears with the way this setting is set up, that if you were using the default, it'll adjust existing saves to the new one.
  • Auto Bombs now have a 2x Stack Damage Bonus.
  • Ships that are getting into transports now move 3x faster than usual. This affects balance, but also makes it so that loading transports is a lot more convenient for you.
    • Thanks to Yog-Sothoth for suggesting.

Defenses

  • Plasma Turret and Beam Cannon mass 0.3 -> 2.
    • Now resistant to Paralysers. Also a bit more fitting since they're notably larger than normal Turrets.
  • Pike Turret damage 320 -> 416, reload time 4s -> 3s.
  • Nucleophilic Turret damage 240 -> 900, reload time 3s -> 6s.
  • MLRS Turret shields 6,750 -> 9,000.
  • Concussion Turret shields 6,750 -> 7500, reload time 9s -> 6s.
  • Grenade Launcher Turret hull/shields 5,400/13,500 -> 9,450/23,600, damage 184 -> 330.
  • Tritium Sniper Turret hull/shields 3,600/4,500 -> 2,700/6,750, damage 92 -> 138.
  • Spider Turret hull/shields 3,600/4,500 -> 2,700/6,750.
  • Beam Cannon reload time 6s -> 4s.
  • Plasma Turret damage 3,500 -> 5,500.
  • Tractor Array health increased 50%.
  • Gravity Generator hull 21,000 -> 30,000.
  • Command Station Pike Turret count 15 -> 24.

Version 0.876 Counterattacks Ate My Waves

(Released July 16th, 2019)

  • Allow friendly minor factions that take planets to scout for you.
    • Thanks to Exlium for the bug report
  • Player units will no longer automatically target Ion Cannons and Mass Drivers.
    • Thanks to NRSirLimbo for reporting.

Counterattack Refinements

  • counterattack_min_strength is now properly respected, so you won't get a counterattack if you lose a single fleetship somewhere.
    • Thanks to Puffin and Exlium for reporting.
  • Counterattacks now build strength based on the base strength of the destroyed ships, before multipliers. This drastically reduces the AI's unintended advantage when you raise the multipliers.
    • It also is based on the mark 1 strength of your ships, because otherwise it was penalizing you for using better ships in essence. We'll see how that part feels over time.
    • Thanks to everyone who reported!

Neutering Returns

  • Regular and reconquest AI command stations now no longer enable counterattacks. This was preventing "neutering" planets, which is a really important part of the game that we overlooked when thinking about this.
    • Instead, just guard posts themselves, and the AI king command stations are what cause counterattacks. This makes it so that essentially you still have the same counterattack mechanics, but the ability to neuter planets like before. The command stations are super weak in general anyway, and are simply what causes you to get AIP; so it doesn't make sense for them to be something you're required to kill, since they are so trivial compared to the guard posts anyhow. The AI king command station is of course the exception, so hence it remaining on the list.
    • This is why we love having players constantly commenting and evaluating what we're doing; neutering is an absolutely essential part of the game and always has been, and it was an accident that we made that impossible. And thankfully a really simple fix once it was brought up!
    • Thanks to CowForceSeven, Izaon, and themouthofsauron for reporting and suggesting this fix.

Bugfixes

  • Put some defensive coding in GetCountOfPlayerFleetsAtPlanetWithCenterpiece() due to a null reference
    • Thanks to trillioneyes for reporting
  • Fixed GCA hack always being hidden.
    • Thanks to Badger for reporting.
  • Added a new "is_combatant_despite_no_weapons" xml tag, which, when set to true, causes the ship to be selectable with other military units even if it has no weapons on it.
    • This in turn lets us remove the weapons from transport flagships, which should cause them to start working properly when in pursuit mode.
    • This is untested for the moment, so let us know if it doesn't work!
    • We also have applied this to combat factories for the time being, since selecting them and having them come seems useful; but it could be taken back off those if that doesn't feel desirable.
    • Thanks to AnnoyingOrange and RocketAssistedPuffin for the reports.
  • Fixed things up so that if you remove a weapon from an existing ship type, and it was the only system on that ship, then the older savegames will still load just fine.
    • Thanks to Puffin for reporting.
  • Really major refactor of how waves are generated, since it needs to know what is in the wave before it can decide what to do with it... and it also needs to know where the wave would be coming from now before it knows how strong it is and what is in it... so basically a lot of things had to be reorganized in order to make it so that it can tell which end is up.
    • The overall logic should be the same, but it's just more accurate now in terms of actually using real numbers for strength calculations rather than trying to use estimates or approximations. The waves can vary a lot more than we can accurately estimate now, so that was definitely needed.
    • The two major downsides of this revision are firstly that this does a lot more calculations on a background core of your CPU, but frankly it still should be pretty trivial; and secondly that there's a good chance we introduced some major new bugs with waves in all this.
    • We have tested this and basic waves function as well as apparently reconquest waves, but we haven't checked hacking waves, waves in response to alarm posts, etc. Knock on wood that those should work. This is at least a step up over last version, where it was sending no waves at all because the approximation code got moved around without a full refactor (oops).
    • Thanks to Badger and HeartHunter7 for reporting.
  • Fixed a bug in the strength counting code where it could try to look out more hops than exist on certain planets.
    • This may be indicative of orphaned planets of some sort on certain map types (it's happening on Swirl maps), and so that may just lead to yet more errors, but at least this one is fixed. And we can presumably find the mapgen error, if there is one.
    • Or it's possible that it simply is a very small map somehow, with very few hops on that size of map, and thus it's not a matter of being orphaned, but simply not having that depth of neighbors (a valid case, then).
    • Thanks to UFO for reporting with a line number.
  • AI guard posts or guardians with drones will no longer put "DumpFleetContentsIntoFactionLoose" debugging messages into the debug log when they are destroyed. This is a perfectly valid thing to happen and doesn't need to be reported.
    • Thanks to WeaponMaster for reporting.

Version 0.875 Counterattacks You Can Taste

(Released July 12th, 2019)

Waves Thematization

  • Individual planets now store specific AI ship groups for the waves that will come out of them, same as the planet factions do for reinforcements and whatnot.
    • This isn't actually applied to waves yet, but it is applied to counterattacks and make them thematically sensible things that you can deal with rather than just a mishmash of everything.
  • When you load existing savegames (or quick starts), it now is able to do some AI "defense placer" logic to assign any data that might be missing.
    • At the moment this is useful for assigning the wave types to each AI planet in old savegames.
  • When waves are created, they now have a specific planet that they use from which to launch their wave.
    • That can be overridden or changed depending on context, but regardless a planet is chosen eventually.
    • Since each planet has ships that are valid for waves defined in it now (same as they have ships valid for reinforcements), this now determines what sort of ships are able to be in that wave.
  • The "Wave Composition" lobby option has been removed (it was Homogeneous/Varied as an option), since now waves are based on planets and are instead tight groups of ship types rather than what they were before.
  • For wormhole invasions, it picks a planet completely at random in order to use it for the waves that will be sent. This keeps you on your toes with those, for sure.
    • Additionally, for anti-minor-faction waves it does the same, for the same reason.
  • The purpose of all these changes with waves is to make it so that they are more varied in different parts of the galaxy, BUT so that they are more predictable at specific planets, and thus something you can plan for.
    • In general it also keeps them more consistent and not just "a big blob of a whole bunch of different things."
    • This needs a lot of testing to see how it feels, as we may need further tuning, but it should hopefully give players a greater sense of agency and ability to plan, without it making the entire galaxy feel stale and repetitive.
    • For a while we had an idea about Wave Mainframes and some other things to accomplish similar stuff, but that would have added more complexity for players and would have been less-contextual in terms of the parts of the galaxy feeling different. This approach as-implemented should get at the same goal, unless there are bugs or oversights, but it should do so in a manner that doesn't require extra thought on the player side (chasing around yet one more thing on the galaxy map), and without the problem of so darn much stagnation around the whole map in terms of what waves are like.
    • It's entirely possible that we may need to do yet more in order to make waves something that are the correct balance of predictable (so you can plan) and varied-across-the-map (so that different parts of the map feel different and the entire game isn't repetitive), but this should be a good start at the very least (bugs notwithstanding).
    • Thanks to RocketAssistedPuffin and MaxAstro for outlining the problems that the old style of wave composition were causing in the way that players are able to anticipate them and plan for them.

Counterattacks From the AI Replace Reprisal Waves

No More Salvage

  • The general concept of salvage has been removed.
    • For AIs, we're introducing a new style of counterattacks instead of reprisal waves.
    • For players, we've already got plenty of ways for them to gather metal, and salvage was quite confusing as well as just cluttering the ui.
    • In some ways for players, the EXP stuff takes the mental place of salvage while being different from just generating metal, anyway.
  • The Scrapper Combat Factory has been renamed to just being another Combat Factory, since it no longer gathers salvage (given that's not a thing anymore).

Reprisal Waves Removed

  • The prior style of Reprisal Waves has also been completely removed.
    • A new Counterattacks mechanic is instead added, and doesn't use the wave framework -- it works pretty differently in general.
    • AIs still gain "counterattack budget" in the same way that salvage was previously gained. However, there are some new multipliers that give more or less of this based on the AI difficulty level.
    • As the AIs on a planet destroy player ships, it now turns those into counterattack forces that it will actually send against you.
    • Each AI difficulty has a minimum strength amount that is required for them to build up before they even start showing the counterattack stuff.
    • There is also a minimum AIP that you have to hit before the counterattacks start becoming a thing, too.

Counterattacks Added

  • The new counterattack mechanic works a lot like the old reprisals one, but it is per-planet rather than global for an AI, among some other differences.
    • Basically as you lose ships against a planet, it will build up an increasingly-strong force that it will want to send against you in a counterattack. If it doesn't reach the minimum threshold of scariness for the difficulty of that AI, then it won't even tell you about it.
    • If it reaches the minimum threshold for scariness, and it outnumbers you at least 5:1 with what it would send versus what you have on that planet, then it will start a 2 minute countdown and then do a marauder-style spawn on that planet off to the side somewhere and start wrecking you badly.
    • Note that the cost for the ships that the AI has to spend is independent of the mark level of the planet, so the strength will rise much faster if you attack a planet that is far outclassing yourself. If you attack a mark 4 planet in the very early game and don't quickly destroy the command station and guard posts, you could be seeing a game-ending counterattack.
      • Then again, now that you can see the strength of the counterattack rising as you fight, and see that it's stalled out by your presence early on in, this gives you a chance to disengage and fight off the counterattack versus just being absolutely swarmed with a reprisal wave that is game-endingly strong like used to happen. It still can happen, but now it's your fault rather than something out of the blue. ;)
    • The cool thing is that if you can kill the command station and all the guard posts while the counterattack is either stalled or hasn't reached zero on the countdown timer, then the counterattack completely evaporates forever and the AI just loses those theoretical ships it would have had. So you have a brief and interesting window of opportunity.
    • Most of this stuff is explained in the in-game tooltips for the warning on a counterattack that is forming.
    • This is very different from reprisal waves in its role in the game until now; the old reprisal waves were inevitable and AI-empire-wide, and we may do something along those lines again in the future in a revised way. But the new counterattacks are more local and are a... basically a new risk or disincentive to attack targets you're not strong enough to take, at least when it comes to trying to wear them down via attrition. You can still do it, absolutely, but you just need to go for the throat a bit faster.
    • And finally, bear in mind that this is brand new and may not be balanced ideally yet. It may need to be toned down in some fashion, or made more dangerous in certain circumstances, but in the limited testing we've done thus far it does make sense what it has generated.
  • There is a new counts_as_part_of_player_strength_at_planet_for_counterattack_blocking that determines if factions are able to contribute to how much strength the player supposedly has at a given planet for purposes of blocking the AI.
    • Basically this lets the human resistance fighters, and also enemy-to-ai zombified ships, and also mercenaries, help block counterattack waves.
  • Added a new "Write Counterattack Info In Planet Tooltips" option in the debug section of the settings menu.
    • This gives you info on what is going on behind the scenes with the counterattack calculations, which is useful for debugging purposes especially in these early days when we're balancing things with this new feature.

New Hacks

  • Adds two hacks for capturing Orbital Mass Drivers and Ion Cannons, respectively.
    • Captures all Ion Cannons on this planet for your own faction, permanently -- until and unless enemies destroy them, of course.
    • Captures all Orbital Mass Drivers on this planet for your own faction, permanently -- until and unless enemies destroy them, of course.
    • These currently only cost 10 hacking points which is on the low side, but it seems like we needed some cheap hacking stuff that is of... questionable use depending on the situation. Sometimes it will be really useful, but other times this is kind of a "candy hack," so making it cheap and attractive is interesting.
    • It's also interesting because in the first game you could get these units just by taking over the planet, but in this game you don't -- but now you can still capture them, but have them on your side for DURING planet capture, if you want. There are several interesting pros and cons, strategically, to the new approach.
    • Big thanks to Quinn for thinking of these as well as adding them.
  • Hacking OMDs or Ion Cannons now only works for planets of mark 6 or lower, and also costs a base of 5 Hacking Points that increases by 5 for every mark level of the planet. So this is a little more balanced hacking-points-wise, while still being very cheap in the main. Exploits using this against the AI homeworlds are also no longer possible with these changes.
  • These hacks use Hacking_TakeOverWeapon as a base. This means that if you want to be able to take over a new weapon or entity in the same fashion as you can with these, just copy it over and change unit_tag_target to the tag of the unit you are after. Currently, unit_tag_target only supports a single tag, however.
  • Adds a hack to explore all planets that have a coprocessor. Currently costs 5 points per unexplored coprocessor.
    • This hack is another fancy generic one, like Hacking_TakeOverWeapon. Simply copy the XML over, change the values of the tags, and it will work the same way. It also features support for different pricing based on planet mark levels

Interface Improvements

  • Add a setting to always show planets in the galaxy map
    • Requested by Baleur, James and ZeroTheHero on Steam. Possibly others as well.

Fleet Management and Tooltips

  • The fleet management screen now allows you to change the keybind that fleets are bound to, and also allows you to bind more than one fleet to a single keybind. This has been planned since the very start of even having fleets, but it's really nice to finally have this added!
  • The fleet sidebar tooltip now shows if the centerpiece of the fleet is crippled or missing.
    • It also says if the construction status is paused because of it being crippled or because of it being manually turned off.
  • The fleet sidebar tooltip also now says how many factories are in range of the fleet, since that's a big deal on whether or not construction happens with them.
  • The fleet management sidebar popup now shows all of the same info about a fleet that hovering over the fleet would show (in terms of the members of the fleet and their statuses), but now also includes tooltips for each line item.
    • So you can quickly get a bunch of status information for any of your fleets' specific ship types just by opening this window from any planet.
    • For the battlestation fleets and the command station fleets, that's pretty much the end of the functionality for the fleets management screen, at least until something else gets pointed out. Mobile offensive fleets are another matter.
  • For mobile fleets, in the fleet management screen there are now buttons by all of the non-centerpiece unit types that allow you to pause construction or let it resume as normal.
    • In the tooltips for fleets, you can also now directly see if a line item is paused.
    • There's also another button, "Swap," which has a "coming soon" message, but will let you do some other cool stuff soon.
    • But already, at this point this lets you customize what is actually being constructed in your fleets, which is a pretty big deal.
      • The goal of the past builds has been to make it so that 90% of the time, if not even more, you always just want to have everything building at all times. We probably are in that ballpark now. But the ability to turn off certain things from building is definitely a must-have, no matter what. Thanks for your patience while we didn't have that -- the general utility of things like low-mark ships is probably higher now because of us skipping that for a while.
    • Thanks to BadgerBadger, Alreadyded, Nameless Terror, and tons of others for requesting this feature.

Techs and Related

  • The techs tab of the sidebar now shows any techs that would benefit ships that you have NOT captured yet, but which you have discovered and which are capturable by you. This includes ships in fleets you could capture.
    • For each tech, the tooltip shows you if you have any ships that would benefit from it, and how many ships you COULD capture that would benefit from this, too.
  • Uncaptured fleets now calculate out values that are for the local ui only, which basically show what the strength and ship caps and whatnot of those fleets WOULD be if you captured them.
    • Since different players in multiplayer can have very different versions based on what techs they have upgraded, this is purely non-sim visual-only data.
  • You can now directly see what the ACTUAL strength would be of a fleet you would capture, and all its ships in it and what their caps and mark levels would really be, rather than the basic mark-1 defaults that it was showing before.
    • Thanks to Yog-Sothoth for suggesting.

Bugfixes

  • Fixed GCA and IGC hack costs. They should now cost 120 and 90 respectively when owned by the AI (or if command station of the AI was destroyed by something other than the player), and 30 when owned by player (or presumably if the player has destroyed the AI command station but not captured the unit itself).
  • Fix for a nullref exception in Inner_CheckForCollisionOrMakeEntityMove that probably was just happening when checking against a ship that is being disassembled.
    • This shouldn't actually have been causing any problems in the gameplay, other than the annoying popup, but the popup is probably now fixed. In general if entities were being torn down on one thread (after dying), then there was a rare chance of them having this issue in the decollision checking, but now it just accepts the incongruity and moves on.
    • Thanks to AnnoyingOrange and arsdor for reporting.
  • Added a new only_show_once_per_planet_with_multiple_entities_granting_this xml tag that sets a bool OnlyShowOncePerPlanetWithMultipleEntitiesGrantingThis on hacks.
    • On GameEntityTypeData, it precalculates HasAHackThatOnlyShowsOncePerPlanetWithMultipleEntitiesGrantingThis automatically based on if the entity has any hacks with this new flag on it. This will let us pre-sort these really easily.
    • Added a new HasAHackThatOnlyShowsOncePerPlanetWithMultipleEntitiesGrantingThis EntityRollupType, which in turn checks the value on GameEntityType. Now our hacks code for the UI can check the small number of units on a planet for which this is relevant really easily.
    • That said, actually a solution far simpler was just adding hackingTypesAddedThatAreSingleOnly on the hacking sidebar and making sure that hacks of the same type only get added once. Easy peasy. But the other lookups were left just in case we need to iterate those entities efficiently for whatever reason.
    • Thanks to Quinn for inspiring this addition. It works with the mass drivers and ion cannon hacks now, so that if there are more than one on a planet there's only one thing on the planet still (and it captures all of the ones on a planet).
  • Fixed several potential cross-threading bugs that could lead to (relatively harmless) nullref exceptions in fleet code as ships died on another thread.
    • Thanks to trillioneyes for reporting.
  • Transport Flagship weapon disabled, weapon range increased to sniper levels.
    • It's still there, so it still counts as a Combatant for the purposes of selecting all Military units, but will no longer try to charge into combat or anything like that if set to Pursuit mode.
    • Thanks to Annoying Orange for reporting.
  • Fixed a bug where the start fleet transport flagships had multipliers of 1.3 for their frigate and strikecraft counts. This was giving you more than advertised or intended when you actually got into the game.
    • Thanks to WeaponMaster for reporting.
  • Fixed an oversight where unclaimed flagships would make the fleet count increment while you were on their planet trying to capture them.
    • Thanks to trillioneyes for reporting.
  • Put in error catching for an exception that could happen in StrengthCounting under certain circumstances. This doesn't fix the error, but it will tell us where the error actually is and should also prevent the "endless further errors" problem that was otherwise happening after that.
    • If anyone can duplicate this error in the new version once that is out, and then send us the new error message that it generates, we can fix the actual problem. It seems to be happening on swirl maps for whatever reason.
    • Thanks to UFO for reporting.
  • Fixed a bug where if you had captured a GCA that was granting a ship type cap of some amount, and you had hacked a different GCA to get ship cap added for that same type, it would start infinitely counting up your ship count added.
    • We were using RefPair as if it was a value type (AddRange), when it fact it was a reference type (it's right in the name of the class, sigh, and we made it ourselves). Perils of coding while tired?
    • Thanks to zeusalmighty for reporting, and WeaponMaster for figuring this out.
  • Fixed-position forcefield generators should no longer be pushed around by flagships. This hasn't been fully tested, so if you see it more, or other variants, please let us know!
    • Thanks to AnnoyingOrange and WeaponMaster for reporting and investigating it.
  • Logic in waves has been changed so that if there are any guardians in the normally-strikecraft section of the code, then it will just ignore them in terms of the "max guardians with a wave" logic goes.
    • This lets the Royal Guardians spawn en masse as expected for the Royal AI type, instead of randomly sending 0 strength waves followed by apocalyptic ones later on.
    • This is untested, but should in theory work.
    • Thanks to WeaponMaster for reporting and diagnosing.
  • Upgraded the hacking code framework a bit, so that it's now possible for it to not just say "I can or can't be hacked," but also "show me or don't show me in the list if I can't be hacked."
    • A lot of things that no longer make any sense contextually, like trying to hack something that you control now, should just be hidden and now are.
    • Other things like "did I already hack that dark spire thing?" should show a reminder of "yes, you already did, so you can't again," since that's relevant info.
    • And of course this doesn't get into things like "you can't afford to hack it right now" or whatever other problems like a missing hacker of the moment. Those things always show, but just redded-out, still.
    • Note that this isn't tested yet, so if there are problems please let us know.
  • Combat Sentry Frigates, which get sent out with support fleets, should no longer die to remains. That's very much at odds with how they are actually used, and was actually really confusing.
    • Thanks to WeaponMaster for reporting.

Balance Tweaks

  • Plasma Turret damage 1,500 -> 3,500, reload time 9s -> 2s, no longer has area of effect. Also reduced count given by Command Augmenters.
    • Really unsure about these things. In player hands they don't really have a job.
    • Regardless, they now do almost as much DPS as their optimal performance beforehand, but at all times and even against single targets, so hopefully they're better?

Version 0.874 Basic Fleet Management

(Released July 9th, 2019)

New Hacks

  • Adds the hack for Global Command Augmenters (GCAs -- those newthings that give you more turrets or other defenses at all your command stations if you capture and hold them). It costs 120 hacking points if someone else took the planet, but you didn't get any AIP for it (Or if the AI still owns it), but only 30 otherwise. Both values are XML configurable.
    • Values probably need some balancing done, but I'm not good with that, so Help Wanted there.
    • Added an XML value for when you want a secondary hacking cost. If not defined, defaults to 0. This has only been defined for the GCA and IGC hacks, and has no effect elsewhere at this time.
  • Adds the hack for Intra-Galactic Coordinators (IGCs -- those things that add a multiplier to your ship caps for strikecraft or turrets if you capture and hold them). It costs 90 hacking points if someone else took the planet, but you didn't get any AIP for it (Or if the AI still owns it), but only 30 otherwise. Both values are XML configurable.
    • Values probably need some balancing done.
    • Thanks to Quinn for adding these!

New Permadeath Options

  • The old "reverts_to_neutral_on_death" bool xml setting for ships has been replaced with a new reverts_to_neutral_on_death_if_permadeath_setting_is_true option that allows for the same functionality but tied to whether or not a galaxy setting is enabled or not.
    • Basically we can now control whether permadeath is on or not for certain units based on galaxy settings, and all of this is fully moddable, too.
    • Added new settings for specific categories, shown below.
    • Decided not to make the AIP gains altered by these settings, to keep things more consistent for people even when permadeath is on for some unit category.
    • Please note this is mostly untested, but seems to be okay from a quick look at things. If anyone wants to do a stress test on these that is appreciated.
    • Big thanks to Ecthelon for pointing out how stressful the permadeath can be for some people.
  • Metal Harvesters - Permadeath (default off)
    • Metal Harvesters are one of your most major sources of metal, and normally can be rebuilt if you lose them. Turning on permadeath for them (not the default!) makes the game vastly harder.
  • Zenith Generators - Permadeath (default on)
    • Zenith Power Generators and Matter Converters are rare-but-huge sources of power or metal, respectively. Normally they disappear forever once killed, but if you'd prefer them to die to remains to make for less pressure on protecting them, you can enable the no-permadeath option here.
  • Intra Galactic Coordinators - Permadeath (default on)
    • Intra Galactic Coordinators (IGCs) are rare structures that increase the ship caps of large number of your unit types while you have them captured and held. Normally they disappear forever once killed, but if you'd prefer them to die to remains to make for less pressure on protecting them, you can enable the no-permadeath option here.
    • Bear in mind that these can also be hacked in order to give you the bonus without you having to hold them, so normally that's supposed to be the workaround if you just feel you can't (or don't want to) protect them on the planet you find them on for whatever reason.
  • Global Command Augmenters - Permadeath (default on)
    • Global Command Augmenters (GCAs) are fairly common structures that give you more turrets and other defenses at all your command stations while you have them captured and held. Normally they disappear forever once killed, but if you'd prefer them to die to remains to make for less pressure on protecting them, you can enable the no-permadeath option here.
    • Bear in mind that these can also be hacked in order to give you the bonus without you having to hold them, so normally that's supposed to be the workaround if you just feel you can't (or don't want to) protect them on the planet you find them on for whatever reason.

Updated Tips and Strategies

  • Game tip improvements and corrections based on recent changes to the game:
    • Improved the tip for "Military Command Stations Matter!" in order to mention the bonuses they get even with GCAs.
  • New tip in the Defensive Strategies Section: Capture or Hack Global Command Augmenters (GCAs)
    • Feeling like your command stations don't have many defensive options? It's time to go get the rewards from some Global Command Augmenters (GCAs) in some fashion.
    • The simplest approach is just to go over to that planet and hack it to get the benefit at no AI Progress (AIP cost), and with no risk of ever losing the benfit. This gives you a bunch of new turret types and/or minefields and other defensive options at ALL your command stations. But it costs a heck of a lot of hacking points, so you're going to be limited in what other options you can do with hacking.
    • The hacking-point-free approach is to go over and capture and hold the planet. If you do that, then you get all the same benefits from the GCA, but you've increased AIP instead of spending hacking points. So... that's definitely a tradeoff. But you also got whatever else was on the planet, including new metal harvester points, so that's good.... right?
    • However, depending on your permadeath settings in the lobby options, by default if you are holding a GCA and it gets destroyed, then you lose its benefits forever. This can be a major blow! Once you've captured the planet, or at least paid the AIP for kicking the AI off, you're able to hack it for a fraction of the normal hacking point cost.
    • All of those options have pros and cons, but one thing is certain: GCAs in general are absolutely key for your ability to defend yourself.
  • New tip in the Returning Players section: Global Command Augmenters (GCAs) Are Critical For Defending
    • In the first game, you had per-planet caps of turrets and other defenses. You got more by unlocking new ship lines.
    • In this sequel, you really get very little for defending yourself at the start of the game. You can use battlestations, but there are very few of them in the galaxy.
    • Instead, what you want to do is either capture or hack (both have pros and cons -- see the defensive strategies section) Global Command Augmenters (GCAs), and it will give you some additional turrets, minefields, or other defenses at ALL your command stations.
    • This is basically the same sort of per-planet cap system as before, but it's driven by capturing or hacking GCAs rather than spending science. More than on GCA might give you to a specific turret type, which in turn would just additively give you a larger cap for that type.
    • Even beyond this, however, the type of command station you use gives you a bonus to the turret types you get from this. Logistical get the default amount. Military get 2x the default amount. Economic get half the normal amount.
  • The older "Battlestations and Citadels" tip has been rewritten completely:
    • Battlestations and Citadels can be important, but are rare. You can capture these to get a mobile force of turrets, forcefields, minefields, and whatever else to use on your planets or enemy planets.
    • These can be great for beachheads on enemy planets or to help defend chokepoints on your planets.
  • Added a new quick tip: Global Command Augmenters (GCAs)
    • Global Command Augmenters (GCAs) are super important, as they grant more turrets and other defensive options to ALL your command stations. You absolutely need to capture some of these if you want to defend more than a few planets.

Balance Tweaks

  • Some nerfs to reprisal waves; make them more expensive for the AI and less powerful when they arrive.
    • These aren't huge nerfs, but hopefully they'll tone things down a bit. Prompted by learning that Zeus was debug-murdering giant reprisal waves (s)he found "unfair"
  • Golems, Arks and Spire Frigates now cost 20 AIP to claim.
  • Golems and Arks now have larger Fleets in general.
  • Increased starting Metal from 540k to 2 million.
    • Building the units for the starting Fleet would starve you in every case, then trying to build any defenses, or a Command Station would just prolong this. It was a pretty unnecessary delay.
    • Thanks to ptarth for suggesting.
  • The Home Forcefield Generators were previously completely un-upgradeable, as they were markless. They now are upgradeable by fleet EXP, but only up to mark 3 maximum.
    • They are already wicked powerful to begin with.
    • Thanks to trillioneyes for suggesting.

New Starting Fleet Option

  • New Starting Fleet: Consumer Fleet
    • Mostly focused on eating enemy ships and structures, but also has a healthy complement of bombers for smashing things, and a large sniper starship for adding fire support from afar.
    • 40x vicious metabolizing gangsaws, 40x absorbers, 30x fusion bombers, and 1x tritium sniper frigate.
    • Thanks to zeusalmighty and Puffin for suggesting.

UI Improvements And Additions

  • Added a new piece to our UI toolbox, which is a modal textbox popup where we can have players able to type whatever and then have it commit the changes if they hit save.
    • This might seem like an extra step compared to just directly using a textbox, but it solves a couple of problems:
      • Firstly, when a textbox is active we need to generally make the other hotkeys not work, and this makes it really obvious when that's the case.
      • Secondly, when a textbox is being edited and we don't have an explicit "save now" button, we want to sync these changes over the network only when the player is done editing that textbox. That's easier to handle via this mechanism in some cases, such as for fleet names for instance.
  • Added another new piece to our UI toolbox, in the form of a new Window_ModalSelfUpdatingTextWindow.
    • This works like the tall modal popup for the most part, except that it's able to self-update its own text on a periodic interval.
    • We're able to thus use this for things like the metal flows popup, and have that look the same but be updated in realtime rather than being static until you close and reopen it.
  • The metal flows window that you can get by clicking the metal resource label at the top of your main window now updates itself ever half second, so that you can see things in realtime.
    • There is also some colorization in them to now help you more easily read what is happening as it updates.
  • Also adjusted the metal flows window to show more human-readable text for the "purpose" of what each ship is spending metal on.
  • A bunch of the sidebar text will now scale down if it gets too long to where it would wrap.
    • This applies to things like fleet names, ship names, etc. There are still cases where we'll want to use the sidebar display name to have a larger brief text display for a ship, but for fleets we don't really have that option most of the time.
    • Anyway, this prevents things from wrapping inappropriately, and lets custom names up to 30 characters in length for fleets still be quite legible.

Very Basics Of The Fleet Management Screen

  • Left-clicking the fleets in the sidebar now opens a new next-to-sidebar popout for the fleet management screen.
  • For the mobile and battlestation fleet types, you can now edit their name using the new "textbox popup" window from the fleet management screen.
    • Note that for planet type fleets, it doesn't let you rename them because it's the name of the planet that is shown instead. It shows that you can't do that in there, too.
  • The fleet tooltips on the sidebar now show you what the maximum total fleet strength is, and what the current total strength out of that maximum is.
  • The fleet tooltips on the sidebar now show you what the current EXP boost or penalty is, based on how many fleets are at their planet.
    • Note that this is only SORT OF accurate, because it's based on the centerpiece, and if there are ships from that same fleet on other planets from the centerpiece then they might see different numbers.
    • Normally if you look at the target you would be destroying, it shows what the EXP boost or penalty is based on the fleets at THAT planet, which is most accurate.
    • But assuming that you keep your centerpiece on the same planet as your fleet most of the time, the new display at least gives you a pretty good idea.
  • The fleet management screen now includes lines for the same things that are in the fleet tooltips, but with tooltips for individual line items to explain their mechanics more.
    • There are some notes on mechanics relating to fleets that are explained in here that aren't really elsewhere in the game, and which should help make some things way more obvious just by seeing the screen, even.
  • The fleet management screen now has a toggle that allows you to turn on or off all construction for that fleet from any factories.
    • Previously you could only do this by keeping them away from factories, or turning off all the factories. So glad to finally have this!

Bugfixes

  • Fixed Global Command Augmentors being able to add 20 Sentry Frigates...sheesh.
    • Thanks to minetime43 on Steam for reporting.
  • Fixed up the multipliers for ship types in a fleet based on their centerpieces so that those happen AFTER any added ship type cap additions from outside sources (GCAs, etc).
  • Fixed up the multipliers from Ingra-Galactic Controllers (that give extra ship caps for turrets or whatever) so that those happen after the GCAs as well.
  • Fixed a bug where GCAs were granting 1 too few turrets or whatever else if the turret wasn't a native type for the command station in play.
    • Thanks to WeaponMaster for reporting as well as finding the issue.
  • Fixed a bug that was letting small ships sit inside large ones. Mainly affecting things like Golems and Arks having other ships sitting inside them.
    • We noticed this quite a while ago, but thanks to WeaponMaster for finding the fix. The current fix is untested but should probably work.
  • Fixed a display bug where if a ship was not upgradeable because it was markless, but it was set to be upgradeable via fleet EXP, then it was saying both that it could not be upgraded and that it could be upgraded by fleet EXP. Now it just says that it can't be upgraded.
    • Thanks to trillioneyes for reporting.
  • In all aspect ratios, the tall modal popup window now fits fully on the screen rather than hanging off the bottom slightly.
    • Ditto for the in-game escape menu.
    • Thanks to Dominus Arbitrationis and others for reporting.
  • The game now passes in some extra debugging info to some of the deserialization methods so that when we get the "rowNamesByOldIndex null" error or similar we can tell why.
    • Thanks to trillioneyes for inspiring this change.
  • There was a nullref exception that was harmless in the prior build of the game, but definitely annoying. It happened when loading a savegame, but then the second time trying to load the savegame would not throw the error. The error didn't actually hurt anything.
    • This is now fixed for future versions of the game, where it would have started hurting stuff. It won't fix the errors from that one version of the game, but will keep them from happening from versions saved in new builds.
    • Thanks to trillioneyes for reporting.
  • The DoForFleets() logic now includes a FleetStatus parameter that can restrict it from including un-owned planets. Have not tested this, but it should solve issues like the count of turrets benefiting from a technology being wildly too high.
    • Thanks to ptarth, WeaponMaster, and Badger for figuring this one out.
  • Put in a fix to the focused gravity generator to fit into a single line on the sidebar.
    • Note that the xml winds up looking like this:
      • Already there: display_name="Focused Gravity Generator"
      • Add this: display_name_for_sidebar="Gravity Generator"
    • This sort of thing lets us have longer names for ships, but some form of abbreviation specifically in the sidebar where we don't want things to wrap.
    • Thanks to Dominus Arbitrationis for reporting.
  • Fixed a mostly-invisible bug where a warning was thrown about the escape menu having two references to the same control on starting up the game each time. You'd have had to look in the log to even see it.
  • Also fixed a bug in the metal flows window that was causing some duplicate info to be shown in some cases.
    • And another bug that was causing some empty metal flows to show up periodically.

Version 0.873 Battlestation Overhaul

(Released July 5th, 2019)

New Critical Target: Major Data Centers

  • New Capturable: Major Data Centers
    • Currently, it is a neutral object on planets that can be claimed for -80 AIP (AIP goes down by 80 when you claim it), but raises AIP by 80 when it dies. This change does affect the AIP floor, however. It is automatically targeted by the AI as "IrreplaceableResourceGeneration", but not bothered by human units. Once it dies, it is gone forever, it does NOT revert to unclaimed or anything like that.
    • Thanks to both RocketAssistedPuffin for pointing out the lack of things that can die permanently, and AnnoyingOrange for pointing out the lack of things that reduce AIP, thus making the AIP floor not all that useful. And thanks to Dominus Arbitrationis for implementing it!

AIP-Reducer Improvements In General

  • There is a new Destroyables section of the lobby options that is used for letting you configure some things that we were previously hardcoding into AI difficulties.
    • Normal Data Centers (0-6, default 6)
      • Data Centers are scattered around the galaxy and are something you can use to lower the AI Progress (AIP) if you raid and destroy them. The number of these used to vary by AI difficulty, but that wasn't entirely fair because you need AIP reduction equally at all difficulty levels. The default is now the new maximum (6), but if you want a harder game you can reduce the number of data centers as far as zero if you really so desire.
        • Note that in prior versions it would give you 8 on difficulty 1, and 6 by difficulty 3, but by difficulty 7 and up it was always 4 or fewer. People definitely were wanting to have more AIP reduction opportunities, which is more inline with the first game.
      • Major Data Centers
        • Major Data Centers are scattered around the galaxy, and come with a lot more of a risk/reward dynamic. If you capture and hold them, the AI Progress (AIP) drops by a massive amount. But the AI will start targeting them, and if they are ever destroyed after you capture them, the AIP goes UP by that huge amount that it was previously reduced.
        • More of these being seeded can give you more chances to seriously reduce the AIP, but can also put you in the position of having to capture them when you don't really want to. The default of 2 is a good balance against this.
        • Technically these are more of a capturable than a destroyable, but they are destroyable by the AI and in the same spirit of most of the other destroyables, so for the sake of organization this seemed good.
  • The tooltips in the intel tab for the coprocessors and data centers are now a lot more informative and actually explain how much they reduce the AIP by.
    • There are now intel tab tooltips for major data centers, explaining how those work without you having to go and find them in the galaxy by hand.

New VIP Capturable: Global Command Augmenter

  • Major new capturable: Global Command Augmenter
    • Capturing this structure lets ALL of your command stations build more defensive structures (as listed below). Different command station types get more or fewer based on their 'Global Command Augmentation Mulitplier.' Aka military command stations get a lot more, economic get fewer, etc.
    • These are only seeded in new savegames, but these are now the primary way to get more turrets and other defenses for yourself.
    • Battlestations are still a thing and are cool, as are citadels,
  • There is a new commandstation_addedtocommandstation_multiplier xml tag that defines a multiplier for how many turrets and other defenses are added to the command stations of each type.
    • Home command stations get 2x, economic get 0.5x, logistical get 1x, and military get 2x.
  • Thanks to AnnoyingOrange for inspiring these changes and additions.

Vast Reductions To Battlestation Counts

  • The game now only seeds one battlestation or citadel per planet, period. The galaxy map settings for seeding more than one per planet have been removed.
    • In general we are moving away from having remotely so many of these things, as they were way too annoying to use.
  • The game now seeds Global Command Augmenters in the galaxy on planets in roughly the same pattern it used to seed regular Battlestations.
  • The game now seeds only roughly about 1/3 as many basic battlestations on the galaxy map as it used to, and doesn't seed one near your starting location at all (though of course you do have the starting battlestation nowadays, anyway).
  • The game now seeds only roughly half as many citadels on the galaxy map as it used to, and doesn't seed one near your starting location at all.

New Ways To Get Science And Hacking Points

  • There is now an intel generator that explains how to get more hacking points, and from where, for planets where you have hacking points left that you can gather.
  • Distribution nodes were all but useless, previously, since they granted you some metal in a lump sum, but at a steep AIP cost (well, 1 AIP, which is still a bad deal).
    • These now grant you 1000 science and 20 hacking points, which is waaaay more attractive.
  • The astro trains that you destroy also now grant you 200 science each, in addition to the 50k metal they granted already.
  • There are now objectives that tell you about structures that you can destroy in order to get science, hacking points, or both.
    • Now you can actually discover, for example, that destroying AI superfortresses is a great way to get an extra 2k of science!
  • Distribution Nodes used to be seeded a rate of 1 for every 6 planets in a galaxy, but now it just seeds 6 in general (now that they are so much more useful!). However, you can increase this to 10 in the Destroyables section of the galaxy map settings, or reduce it all the way to 0 if you prefer.

Balance Tweaks

Tesla

  • Doubled the reload time and targets hit per shot of Tesla Guardians, Dire Tesla Guardians, Dire Tesla Guard Posts and Dark Spire Eidolons.
  • Doubled the reload time, damage, targets hit and health of Tesla Corvettes and Turrets, as well as doubling their cost for the AI, and halving the amount the player gets.
    • Essentially, these are twice as strong, but there are only half as many, and they also fire at half the rate for roughly the same DPS.
    • This means there are far less Tesla visual effects on the battlefield, coupled with the above change.
  • Tesla weapons now have a Stack Damage bonus of 4x.

Grenade Launchers

  • Doubled damage and reload time of all Grenade Launcher units.
    • Similar to the Tesla, this vastly reduces the amount of visual effects on the field, while keeping their damage roughly the same.
    • Grenade Launcher Corvette, Turret and Guardian explosion radius increased 20%.
    • Since there is so fewer effects on the field, the size of each one can be increased a little, while still having a huge net decrease. This helps the issue where these units were rarely hitting as many targets as they should.
  • Molotovs now cause a rather weak engine slow and weapon reload debuff effects.
    • It's not super noticeable, but it's something for them other than being purely a faster and weaker version.

AI Guardians

  • The guardian purchase budget has been vastly reduced in general. It's still using some internal multipliers in the code, which is less than ideal, but we'll deal with that later. For now the code should be resulting in many fewer guardians on all planets, but in particular not the insane numbers on mark 6 and 7 planets that you saw before.
    • Thanks to WeaponMaster, DEMOCRACY_DEMOCRACY, BadgerBadger, and Dominus Arbitrationis for reporting.

AI Turrets

  • There is a new range_multiplier_to_all_weapons xml tag that can be applied to ships to easily modify their weapon/system ranges to be higher or lower when creating a variant type.
    • We're now using this to make AI versions of all the turrets, with lower ranges on all of them.
    • This won't affect existing turrets in existing savegames, but in new and existing savegames, any new turrets that the AI spawns will have half the range of the old ones. Sniper turrets (which are rare) as the exception.
    • For the player Ensnarer turret types, which are really rare (and even more rare now), those ALSO now have half the range, in exchange for all their tractor beams being on there.
    • Overall this is something to make the battlefields feel a bit more segmented, and so that you aren't being shot by all the turrets all at once on enemy planets.
      • This can be combined with that recent hack we added for weakening turrets at a planet to make their range truly pathetic, which is great. But the player-side turrets are not any weaker.
    • Thanks to AnnoyingOrange for pointing out how... well, annoying this was!
    • Please note this is not well tested, so we'd love feedback on it.
  • On average, now only every 6th reinforcement point will be able to have turrets and non-turret defenses on AI planets, although it's not quite that simple.
    • It's going off of primary keys, and those are just sequential numbers assigned to all ships. It's using modulus 6 to make it so that it's every 6th entry at MOST... but it could be that quite a few guard posts are moulus 6 on one planet, and next to none are on another planet, so expect uneven results (in a good and interesting way) rather than it being uniform on every planet.
    • This helps to make the AI planets a little bit less of a pain to deal with in terms of static defenses, and makes it so that you can focus instead on the guard posts and the ships in them, which are more specialized. Puffin recently made some changes to make types of turrets at each location more consistent (and thus something you can plan against), and so paired with that we should be in particularly good shape. Knock on wood.
    • Please note this is not well tested, so we'd love feedback on it.

Irreplaceable Human Stuff

  • Puffin and others have pointed out that there's a real inability to lose things permanently in this game, which can be kind of... anticlimactic? It definitely makes a lot of things less tense.
    • At any rate, now the three types of intra-galactic coordinators, the Zenith Matter Generator, and the Zenith Power Generator all die permanently when they get killed (versus just going back to being neutral).
  • Don't like the idea of permanent losses? You're not alone, and we'd like your feedback. This is explored in a lot of depth here: https://steamcommunity.com/app/573410/discussions/0/1639789306573972841/#c1639789306574022294
    • The TLDR is that we'd like to see if we can balance it so that most people see this as an exciting fun default thing, or if we need to make it opt-in.
    • In the short term we're opting everyone in so that we can balance it out and see how many people really hate it, but the ability to turn it off selectively (or turn it on selectively if it goes that direction) is pretty much inevitable.

Strikecraft Buff In General, Plus Lobby Balance Sliders

  • Balancing this game is kind of a tricky proposition, because everything is relative, and different people have different ideas on what kinds of balance they'd like to see between GROUPS of ship types.
    • We've been focusing on things like balancing strikecraft against one another, for example, and will continue to do so: that's a relatively insular problem.
    • But sometimes people with that there was more of an emphasis on ALL strikecraft being more useful and the backbone of all the fleets, with frigates and guardians still being strong but no longer causing strikecraft to evaporate.
      • This is where we get into "what is the ideal balance between frigates and strikecraft as a whole," and that's something that we're happy to set a sensible default for, but recognize that some players may have preferences that are different from our defaults no matter what we choose.
    • In the first game, we had combat speeds, which were things like Normal, Epic, Rush, etc, and that basically adjusted the ratio of firepower of ships in general compared to the hulls of ships in general. Sometimes people really wanted to have a game that was slower (more hulls and shields relative to the attack power of ships) so that they could manage ships and they didn't evaporate as quickly. Others wanted a more fast-paced experience. Until now we haven't had anything like that in this game.
    • Now we've added a new Balance section to the options tab of the galaxy map settings, and it lets you adjust the following six things independently of one another, all ranging from 0.5x to 5x.
      • Strikecraft Hull and Shield Strength (new default is 3x what it has been until now, to make these more of a focus like in the first game and keep them from evaporating so fast)
      • Strikecraft Attack Power (new default is 2x what it has been until now, to make these more of a focus like in the first game)
      • Turret/Guard Post Hull and Shield Strength (default is 1x what it has been until now)
      • Turret/Guard Post Attack Power (default is 1x what it has been until now)
      • Frigate/Guardian Hull and Shield Strength (default is 1x what it has been until now)
      • Frigate/Guardian Attack Power (default is 1x what it has been until now)
    • We'd definitely be interested in feedback on what a sensible default for these things should be, and if we should add any more categories beyond these. Note that in order to keep things balanced between the humans and the AIs, we've kept the multipliers for frigates and guardians tied together, and turrets and guard posts tied together.
    • This WILL immediately affect existing savegames, giving them the new defaults. Though at the moment there is no way to change these values once you have started a game, because that would lead to all sorts of exploits where you can manipulate the situation in funky ways as you are playing.
    • Hopefully these controls help to let everyone get the sort of experience they're looking for, while letting us continue to balance each category's items against the other items in that same category (strikecraft, frigates/guardians, etc).

Golems And Arks Are Now Rare

  • The game now seeds far fewer officer fleets, and only seeds them super far away from you.
  • The game now seeds a bit more in the way of regular fleets to compensate.
  • The lone wolf fleets all seed super far away from you now.
  • None of the starting fleets contain Arks or Golems anymore -- so the emphasis returns to the actual small ships that they contain.
    • Getting golems or Arks is now exclusively a mid-to-late-game activity, as they are far along on the map and not something you can start with.
  • Arks and Golems and Spire will now be able to be made much stronger, since they are more rare, and the starting state of the game won't be all unbalanced based on that.

Bugfixes and Interface Improvements

  • New XML flag: "does_not_die_with_command_stations_if_not_yet_claimed". This flag functions exactly like "automatically_dies_with_command_station" except the ship will NOT die if it is unclaimed (Neutral faction).
  • Put in a potential fix for your fleet centerpieces getting bumped around as units spawn out of them. If there are any other cases where fleet centerpieces are moving when they really should not be moving, then please let us know; we haven't tested this one yet, but it has a high chance of working (and certainly shouldn't make anything worse).
    • Thanks to AnnoyingOrange for reporting, and ptarth for finding the likely culprit.
  • The dropdowns for hunter type and warden type in the lobby now actually explain what they do! They have full tooltips now that explain each type. Even Chris hadn't been sure what all the types were.
    • Additionally, the Base Oriented type for the warden is now first in the list for the warden since that is the default.
    • The Normal type for Hunter fleets was a pretty bland name, so it has been renamed to "Intelligent Predator" to make it a lot clearer how that works.
    • The No Bases type for Warden fleets was also kind of unclear, so it has been renamed to Anticipatory.
    • Thanks to tutee for reporting the oversight, and Puffin for actually explaining them!
  • The tooltips for ships now also explicitly note which ships do NOT get upgraded by fleet EXP gains, not just those that do. This should ease some areas of confusion that some players have run into.
    • Thanks to Ecthelon for reporting.
  • Another nullref exception in the waves notifications that could happen right after game load is now fixed.
  • Any turrets or other things granted via GCAs (new above) are now shared between all players in multiplayer.
    • Additionally, for the existing Intra-Galactic Coordinators, those are also now shared as a bonus between all players in multiplayer in terms of the ship cap increase that they grant.
  • The objectives on the sidebar that show capturing fleets or battlestations now show the general type of the fleet (officer, support, whatever) in their basic name. Now you can actually see what is going on better!

Version 0.872 Supply and Control

(Released July 3rd, 2019)

  • Add a setting for FRD mode available via GalaxySettings; if you disable it then your ships will spread out a bit more in FRD. It's a pretty subtle difference.

"Supply" Requirement Removed

  • The concept of supply has been removed. This is something that was super annoying to the point of making some folks not even want to play the game just because of this feature.
    • There are some things that, because of the removal of supply as a requirement for ships, will cause players to want things like old-style control groups and whatnot. However, rather than going back down that road (which is a lot of micro for you as a player), we have a whole other slate of tools planned that should make you very happy and able to do a lot of things you want: https://bugtracker.arcengames.com/view.php?id=21310
    • That said, those things are not in place at all yet, but we're removing the supply concept in advance of those additions because it was just so darn annoying.
    • Thanks to RocketAssistedPuffin for suggesting.

Tractor Changes

  • The AI will now have tractor ships actively try to kidnap your ships and drag them off planet. This includes AI Black Widow Golems, Tractor Guardians, Etherjet Tractors and their variants.
    • Feedback on how intelligent this behaviour is would be appreciated (ideally with a save game)
    • Thanks to ptarth for suggesting
  • Tractor Systems can now be configured to tractor more things at higher mark levels. I'm not sure what mischief Puffin is going to use this for, but I look forward to finding out
    • Requested by Puffin
  • Ships caught in a tractor beam are always allowed to shoot at the tractor source that has caught them. Also they will be more likely to shoot at said tractor source
    • Requested by Puffin

Bugfixes

  • Remove some duplicated logic in the GameEntity HoverText. No functional change
  • AI Drones will now fight to the death instead of retreating from the planet; they would just attrition to death anyway once they left the planet
    • Thanks to WeaponMaster for the bug report
  • Make Clusters: Small and Clusters: Medium map types work
    • Thanks to UFO for the bug report
  • Mobile Combat Factories (and Gyrn) are no longer allowed to build ships while crippled.
  • Fix a bug where reprisal waves were double-sized. Also the notification now shows the "time till wave is sent" in the icon itself. The hovertext for the notification also explains that the waves are 1.5x normal wave size.
    • Thanks to WeaponMaster for the report
  • Fix a null reference exception in the EntityHover code
  • Fix a bug where ships deployed from guard posts against minor factions (in particular, the Dyson Sphere) would just go after the player
    • Thanks to Puffin for the report and TechSY730 for some additional saves. Possibly other people reported it as well?
  • The "Debug: Kill Enemies" button now kills all units hostile to the player on a planet, not just AI units
    • Thanks to Oval for requesting
  • Fix (or at least significantly improve) a bug where your units would stutter as they moved toward enemies to fight. This has the pleasant side effect of making autobombs and the like suck slightly less.
    • Reported by a lot of people, including Puffin and Ecthelon
  • Make Autobombs and other melee units no longer fire shots sequentially; this improves the delay before Autobombs go off. It's still not great, but it's an improvement.
  • Hopefully fix a rare null reference in the Decollision code
  • Improve the Incoming Damage Detection code to take multishot ships into account. This should (hopefully) make your units better able avoid overkilling targets.
  • Ships dragged through a wormhole via tractors will now pop out a short distance from the tractoring unit, instead of stacked right on top of the tractor
    • Thanks to ptarth for the bug report
  • Fix a bug where a hostile-to-player only or hostile-to-AI only devourer golem would no longer try to kill the zenith trader
    • Thanks to Ovalcircle for reporting
  • Fix a bug where ships could go through wormholes while the game was paused
    • Thanks to hawk for reporting
  • Scrapping units on planets with Dark Spire Vengeance Generators now correctly generates energy for the VG
    • Thanks to Ovalcircle for reporting

Balance Tweaks

  • Greatly increased many of the Instigator Base effects.
    • Strengthen Waves and Strengthen Hunter Fleet are quadrupled.
    • Strengthen CPA and Strengthen Wormhole Invasion are doubled.
    • Strengthen Warden Fleet is tripled.
    • Unit Spawner now spawns every 90s instead of 20, but spawns significantly more each time. This means it is a much more consolidated force, rather than a trickle.
      • Thanks to Badger for reporting these aren't something to be bothered with at all.
  • Pike unit high hull health bonus reduced from 4x to 2x.
    • Unlike MLRS, which operate on low health and thus effectively had a cap on how much the effect could do, Pikes could often one shot units entirely with this bonus. Coupled with the fact they already have another damage bonus, this was a bit much in practice.
    • The bonus is still cool, so it's preferred to keep it. Want to keep an eye on it though, since that's a nasty result of it that was only just spotted and may have contributed to the feel of Strikecraft being mere chaft.
  • A minor nerf to reprisal waves
  • Military Command Station damage boost 50% -> 25%, increase per mark 50% -> 25%.
    • This was likely far too much beforehand, but with Experience allowing these to rank up, it needs to come down.
  • Military Command Station metal production 60 -> 20.
  • Added a bunch of mono-type AI Ship Groups for Guard Posts and Turrets.
    • So now a bunch of AI planets will have only one type of Post, and one type of Turret. There is still the possibility of having an utter mishmash, but far less.
    • Thanks to ptarth and Annoying Orange for bringing the point up separately that this mess forces generalist compositions and the old conundrum of "anti-bomber Post under a Forcefield" from Classic, in a way.
  • Tractor Arrays, Ensnarer Battlestation, Black Widow Golem Ark, Tractor Guardians and Ensnarer Turrets now all gain some tractor count per Mark.
  • Cloaking and Tachyon Systems now increase their Points by 50% of their base value each time they Mark up.
    • Now upgrading Tachyon Arrays and Sentry Frigates actually does something beyond health, and this lets sneaky units last longer around lower tier detectors.

Multi-AI income increase

  • Previously each AI's strength was "Strength of a single AI" / "Total number of AIs in galaxy". Now the logic is as follows
    • For difficulty < 5, keep the old logic
    • For 2 or 3 AIs, each AI is 75% as strong as a single AI (this is up from 50% as strong and 33% as strong)
    • For 4 or more AIs, each AI is 50% as strong as a single AI (this is up from < 25%)
      • This will be a sudden jump in AI difficulty

Strikecraft

  • Space Plane and Mirages now only take 1% damage from enemies beyond their range, down from 50% and 25% respectively.
    • This is more like their Classic incarnation, with the change of they can be hurt by the thing they're targeting, as there is no way to bypass radar dampening here.
  • Mirages now have the same health as Space Planes, damage 65 -> 40, bypasses personal shields completely, and has a damage bonus against anything with healthy hulls.
    • Essentially, it's now terrible at actually killing something outright, but amazing at weakening it for something else to clean up.
    • Thanks to StarKelp for developing this idea!
  • Etherjet Cloak re-enabled, damage and reload time quadrupled on all variants, albedo 0.3 -> 0.7, speed 1,200 -> 1,600.
    • For some reason, they were able to Tractor while Cloaked for some time now, so that system is re-enabled, and the weapon is adjusted to slow the rate they drain their own Cloaking Points.
    • Coupled with the new AI behaviour with Tractor units, these should hopefully behave more like their Classic incarnations.
  • Adjusted numerous Strikecraft strength values, and also their ai_cost_to_purchase values to better fit how powerful they actually are.
    • A lot of these were overpriced for the AI, so now there'll be quite a few more of them when found.
  • Vanguard health increased 30%.
  • Vanguard Hydra Head damage 60 -> 140, speed 400 -> 600, now spawns in groups of 5 and are invulnerable for 8 seconds after being spawned.
    • Some poking showed these to not really work as originally intended. The normal Vanguard is pure tanking, so to help diffentiate Hydras, their Heads are now much more offensive orientated.
    • Spawning more Heads also helps to emphasise that particular trait (and adds more offense), and the invulnerability guarantees they get some damage done instead of being picked off due to such low health.
  • Ablative Gatling/Troll health increased 30%.
  • Agravic Pod damage 80 -> 100.
  • Concussion Corvette damage 70 -> 96.
  • Porcupine damage 50 -> 80.
  • Grenade Launcher Corvette/Molotov health increased 30%.
  • Dagger health increased 50%.
  • Eyebot health increased 25%.
  • Zapper shields 2,000 -> 3,000.
  • Parasite/Persuader health increased 50%.

Frigates

  • Brawlers lose all shields, gain it in hull. Their missiles now cause knockback, some engine stun, and also have a damage multiplier against anything slower than its base speed. Damage 300 -> 200, reload time 3s -> 2s.
    • It's now kind of like the Translocator Starship? Shove little guys around and slow them down with some damage as a bonus.
    • Also thanks to StarKelp for developing this idea! It's a little different, but the spirit is there I think.
  • Forcefield Frigate shield size increased, size of the ship itself decreased, shields 200k -> 250k.
    • So it covers more, and isn't taking up as much of that space itself. Also lasts a bit longer, since it'll probably be hit more often.
  • Siphoner shields 120k -> 160k, damage 2,000 -> 250, reload time 4s -> 1s, now does 5x the damage to a target if it has more than 50% personal shields left. Vampirism gain changed from 5HP per 1 damage to 7HP per 1 damage.
    • Lasts a bit longer for the same reason, shoots faster so it's a more constant regeneration, and better suited to breaking down things like Guard Posts and...well, siphoning the shields off stuff.

Flagships

  • Armored Golem damage 2,000 -> 1,000, Sabot damage 3,000 -> 2,000.
    • This thing by far dominates its Fleet, and was really pushing the smaller units out of the game, since things had to be balanced for the player having these.
    • It was actually pretty absurd, being the toughest and best damage dealer of the bunch so...no surprise people felt it was dominating.
  • Cursed Golem damage 1,250 -> 700, Sabot damage 2,000 -> 1,500.
    • A similar case. This thing is much longer ranged than the Armored, and has paralysis to boot (including the very rare ability to paralyse bigger targets), and so also dominated the Fleet.
  • Botnet Golem damage 500 -> 450.
    • Really minor, but just brings it in a tad more.
  • Black Widow Golem damage 500 -> 200, tractor count 350 -> 250.
    • Same deal with the above ones. This thing has a lot more shots than normal for the purpose of engine stun, so the damage is definitely low per shot.
    • Tractor count is lowered since it now gains some with Mark.

Guard Posts

  • Stealth Guard Post albedo 0.4 -> 0.7.
    • Missed it long ago.
  • Pike Guard Post damage 1,200 -> 600.
    • This thing had far too high a generalist damage. Coupled with the high hull health bonus, it was capable of slaughtering things it really shouldn't have been.
  • Moved half of Guard Post hull into shields.
    • In a previous update, Guard Post durability was doubled. This unfortunately really hurt Fusion Bombers, coupled with the fact you generally have less of these specifically than you used to early on.
    • By shifting the hull over, they retain their overall durability, but are weaker to Fusion Bombers, letting them be the experts of Post demolition again.
  • Moved two thirds of Dire Guard Post hull into shields.
    • They now follow the same hull/shield ratio as the normal Posts.

New Hacks!

  • Bunches of new features for our hacking system.
    • only_for_ai_planets allows us to make hacks against planets that are AI-only.
    • added_cost_in_hacking_points_per_mark_level_of_planet allows us to add increased costs based on the mark level of the target planet.
    • max_mark_level_of_ai_planets allows us to make hacks only work against planets of a certain mark level or below. Aka not working against homeworlds or other mark 7 worlds, as one big use case.
  • Added a new hack, which is tested and does work: Weaken AI Turrets
    • Hacking into the local AI network will reduce the range of AI turrets to 25% of their normal values, and their damage output to 50% of normal. Only works on planets of mark 6 or lower.
    • Costs 1 hacking point at mark level 1, plus 5 for each mark level of the planet above that.
  • Added a new hack, which is tested and does work: Weaken AI Guard Posts
    • Hacking into the local AI network will reduce the range of AI guard posts to 50% of their normal values, and their damage output to 75% of normal. Only works on planets of mark 6 or lower.
    • Costs 5 hacking points at mark level 1, plus 10 for each mark level of the planet above that.

Prior Release Notes

AI War 2: The Arrival of Fleets