Difference between revisions of "AI War:5.000 Release"

From Arcen Wiki
Jump to navigation Jump to search
Line 1: Line 1:
 
== Statistics For The Curious ==
 
== Statistics For The Curious ==
  
* Between 3.120 and 4.000, we pushed out 81 distinct public beta releases over 170 days.  That's an average of one release every 50 hours.  This is with a major chunk of Tidalis's development happening in the middle (it was released July 16th), AND a signficant period with no public releases while we ported AI War from .NET/SlimDX to Unity3D.
+
* Between 4.021 and 5.000, we pushed out 53 distinct public beta releases over 90 days.  That's an average of one release every 41 hours.   
  
* Community contributors assisted us with over 800 distinct bugs and suggestions-that-were-implemented (counting 95 distinct contributors).
+
* Community contributors assisted us with over ___ distinct bugs and suggestions-that-were-implemented (counting __ distinct contributors).
  
* The combined release notes for those 81 betas total over 300 kilobytes of text.
+
* The combined release notes for those 53 betas total over 360 kilobytes of text.
  
* Believe it or not, this massive document (which is just under 31,000 words long) is the ''abbreviated'', organized version of the full release notes ([[AI_War_-_Current_Post-3.120_Beta|part I]] and [[AI_War_-_Current_4.0_Beta|part II]], which were over 55,000 words -- or, 222 pages of a novel.
+
* This document (which is just under ______ words long) is the ''abbreviated'', organized version of the full release notes ([[AI_War_-_Current_Post-4.000_Beta|here]]).
  
 
== Highlights ==
 
== Highlights ==

Revision as of 01:10, 27 January 2011

Statistics For The Curious

  • Between 4.021 and 5.000, we pushed out 53 distinct public beta releases over 90 days. That's an average of one release every 41 hours.
  • Community contributors assisted us with over ___ distinct bugs and suggestions-that-were-implemented (counting __ distinct contributors).
  • The combined release notes for those 53 betas total over 360 kilobytes of text.
  • This document (which is just under ______ words long) is the abbreviated, organized version of the full release notes (here).

Highlights

AI Updates

General Large Gameplay Additions

Co-Op Improvements

Performance Improvements

Interface Improvements

Graphical Improvements

New Ships

Ship Logic Updates

Balance Updates

Misc Changes

Bugfixes

  • Resolved various issues (related sound, GUI textures, error logging, etc) causing instability on OSX. This involved multiple sweeping rewrites of the sound subsystem, but hey, whatever it takes.
  • Fixed a rare bug that could cause the lobby to draw without the planets actually showing, while throwing a lot of exceptions, upon the second or third run of the program (but not always!). This seems to only have happened if the players were viewing the galaxy map when they exited out of the game, and possibly only if they were hovering over a plant at the time.
  • Hopefully fixed a rare AI Assertions bug that could be caused by a "race condition" of sorts when starting a new game or restarting the AI thread.
  • Since the 4.0 switch, the "Automatically Check for Updates" settings option was doing nothing. Now it properly disabled automatic update checks.
  • Added a new "Left Mouse <=> Right Mouse" AnyTime KeyBind (defualts to None on windows, defaults to LeftApple on a mac), for people who were having problems getting the normal ctrl+left = right logic on a mac one-button mouse.
  • When the AI Type that would be selected is unavailable (due to options being changed as above, for instance), it now defaults to Random Moderate/Easier instead.
  • When the player or AI colors would be set to nothing in the lobby based on their old values not being available, it now sets them to the first entry in the list instead.
  • Fixed a bug where Youngling Commando MkIIIs were not scaling with the unit cap.
  • Fixed a bug preventing the galaxy-map helper-window from switching out of displaying the last find-mode target. Also changed the find-mode text to reflect that left clicking empty space ends it, rather than right-clicking empty space.
  • Fixed bug occasionally causing a null exception in GameButton.SelfRender early in the game. This was being caught, logged, and ignored so it probably wasn't hurting anything, but definitely good to have it fixed.
  • Fixed a bug preventing player from buying ships from a human rebel colony.
  • Fixed bug preventing the mercenary space dock from building a ship whose base type was prohibited by the Available Ships lobby setting (so if you had it on "simple" you couldn't build ether jets or beam frigates from the mercenary space dock, but now you'll be able to).
  • Fixed an (apparently) rare crash bug in the tutorial that happens right after capturing the ARS. If the underlying bug happens it may cause problems, but at least shouldn't crash.
  • Previously the save window, load window, and stats window would not functionally fit on a 1024x600 screen (1024x768 is the lowest resolution supported, but we try to make 1024x600 work at least minimally functional), fixed the sizing of controls so this works now.
  • Also fixed the settings window to fit (albeit barely) on 1024x600.
  • Also fixed the lobby window for 1024x600, though this one is a bit more intrusive: when the lobby window first initializes, if the height of the current resolution is less than 768, it omits the logo at the top of the right window, so there's room for the start game button at the bottom. This looks a bit weird but it's at least functional.
  • Previously, the "Attack Recharge" was also being used as an "Ability recharge" for a growing number of ships (raid engines, cleanup drones, rebuilders, etc). That led to a number of bugs so subtle that no-one has ever reported them (mostly with the raid engine), but now we've split these apart and the various bugs are thus resolved.
  • Fixed bug where if you had the game in non-trial mode and your last-started-game's available ships setting was something other than "Simple", and then switched to trial mode (by adding an expansion without a key), and then tried to start a new game it would fail.
  • Fixed some inconsistencies in AI "can I give another order to this unit yet?" logic.
  • Fixed some bugs skewing the overall "special difficulty" modifier (based on homeworld/player count and AI difficulty); it was only used for hybrids, so the problems may not have been apparent.
  • Fixed some rare null-exception bugs in the lobby when coming in with a messed up settings.dat.
  • The images for the AI Carrier, Raider Guardian, and Laser Guardian have once again been included in this beta release since the 4.021 update on Steam for some reason still didn't include them.
  • Fixed a bug that's probably been around since unit scaling and armor where the game was frequently using the normal-cap base-attack-value instead of low, when playing on low. With this fixed, it is likely that stuff will die faster on low now.
  • Fixed a null-exception bug in hybrid-hive logic that was killing the ai thread when it was unable to pathfind to certain objects.
  • A message is now shown when a savegame is saved, to provide visual feedback that the save actually did occur. It's only been since SlimDX that this message was missing, incidentally, but it's fixed now.
  • Fixed bug where the minor-faction-shots-never-anger-AI logic was causing it to not even apply the repair-cooldown from the damage. Changed to handle LastDamaged separately from LastAngered.
  • Fixed swapping of text between two keybinds on the controls window.
  • System.IO.File.AppendAllText is no longer used, in favor of a wrappered System.IO.StreamWriter. It is apparently possibly the case that the AppendAllText does not close properly, or uses a secondary thread, in Mono on OSX. That's not 100% certain, but as a matter of safety at this stage we're trying to eliminate extra held handles that might exist.
  • Fixed index out of bounds exception in reference tab.
  • Fixed a sizing issue that was causing an error message and for the special forces guardian to not appear in far zoom.
  • Modules firing will now apply the same "cannot be cloaked for x seconds" logic to their parent ships as to themselves.
  • AI Carriers engine health from 100 => infinity.
  • Multi-shot ships no longer are able to get any "freebie" shots if their target dies while their shots are incoming against it. This nerfs the mutli-shot ships to a minor degree, but more significantly it is a CPU-cheap way of solving a huge bug that was recently leading to multi-shot ships sometimes getting loads and loads of freebie shots that they weren't supposed to -- leading to things like the "rapid fire artillery guardian," for instance.
  • Shot damage is now recalculated right when a ship is hit, so that if targets were changed (was the forcefield, now the ship, or vice-versa) the appropriate damage is now done rather than an inflated or reduced amount.
  • Previously, SuperTerminals and AI Eyes were not limited in what they spawned based on the types that the controlling AI had unlocked. Fixed.
  • Put in a fix that prevents a semi-rare exception from killing the AI thread.
  • Fixed bug where superterminal would stop generating ships once it tried to cross from MkIV to MkV ships. For now it will just stick with MkIV.
  • Fixed bug where AI players were having no wave-eligible core ship types unlocked, and in some cases no core ship types unlocked at all. This caused various problems. Now all AI players will have the core fighter, core bomber, and core missile frigate unlocked. This will be applied retroactively to savegames as they are loaded.
  • The way AI/minor-faction ships with module templates are created fixed to be much less fiddly (this was leading to avengers and AI-controlled Riots spawning with no modules).
  • Previously, when an AI ship contained other ships (carriers, etc) that was not reflected in the threat/attack meters properly. Now it is.
  • "Ally to all" minor faction ships were previously being affected by attrition. Fixed.
  • Previously, rally posts were able to be damaged by mines. Fixed.
  • Fixed bug where minor faction ships were consuming player energy.
  • Previously, self-attrition was impairing engineers from being able to repair ships with self-attrition. Fixed.
  • The AI now has some new logic for cleaning up certain old ships on its thread, to hopefully avoid issues with "ghost" warp gates and such that would lead to waves that shouldn't happen. That may or may not have been happening before, but we suspect it might have been and this adds on some safety checks to hopefully prevent it.
  • Nanoswarm now considered to use non-shell ammo, so bulletproof stuff should no longer be immune to them.
  • Fixed a bug where multiple science lab mkIIIs on one planet were reporting as if multi-stacking the reinforcement multipliers, even though they were not actually multiplying them.
  • Fixed some discrepancies in applying AI-Type-specific modifiers to wave sizes between mixed-wave and homogenous-wave branches.
  • Fixed a bug where the WaveSize multiplicative factor was being applied twice (once on the AI thread, once on the main thread), leading to factors < 1 causing smaller-than-intended waves and factors > 1 causing larger-than-intended waves. In some cases the factors were >= 10, and you can imagine how bad that got.
  • Fixed some mixed-wave messages showing up as homogenous and thus misleading the player as to the content of the wave (now just says Enemy Ships in those cases).
  • Fixed unintended inflation of counter-attack-wave size. May still be some issues but this should fix the biggest of them.
  • Fixed a bug that would allow the selection of a non-available bonus ship type in the lobby, but not actually allow the construction of that type in the game. Fixed to not allow the choice in the first place.
  • Warheads produced by the Neinzul Rocketry Corps will now actually do something. Their behavior was probably disabled a while ago when a wholesale revision was made to how the AI thread issued commands for minor faction ships (or, more precisely, how it does not).
    • Be afraid.
  • Fixed a bug where the game was not recomputing the coordinate in "world space" under the mouse cursor if the game was moving under the cursor without the cursor actually moving (panning, zooming, switching planets, etc).
  • Fixed unintended inflation of schizo waves where each distinct type would have a minimum of its effective ship-cap; now ignores that rule for waves containing at least two non-starship types.
  • Fixed bug causing the "minimum wave size for difficulty" logic to be twice as high as intended.
  • Raid Engines now no longer trigger on zombie ships since the human player has no way of controlling where they go.
  • Raid Engines used to be capable of triggering multiple times at once if multiple adjacent planets and/or the engine's own planet satisfied the conditions at once. Changed to only trigger at most once per "reload".
  • Fixed bug preventing ships from leaving cold storage if they were on a planet with > 4000 attack+threat ships (this led to capturables not being captured, zero-health ships not going away, ai ships sitting there and not firing and not fireable-upon, etc).
  • The galaxy map filter for detection of hybrid hives and hybrid hive facilities now works properly when fog of war is off.
  • The Unity resolution configuration screen is no longer allowed to be opened. It was pointless, anyway, as the game overrides it.
  • The "runsim" command line argument was previously crashing the game when used. As it's no longer supported, it's now been removed.
  • Previously, shot damage was only being reduced by 75% at the time of attack, not when the shot damage was actually being calculated for things like estimated damage display. Fixed.
  • Previously, shot damage was being capped at the maximum health of the target at the time of firing. Fixed.
  • Previously, if overkill damage was being dealt to an enemy ship, it would self-heal, self-damage, or help-with-replication at the overkill amount rather than the actual amount of damage needed to kill the ship. Fixed.
  • Previously, shots that self-heal, self-damage, or help-with-replication, were taking effect when they were shot, rather than when they hit. This was particularly troublesome with self-damaging shots, which could cause a ship to massively over-damage itself for very little gain. Fixed.
  • AI MRS and Fortresses were still repairing broken golems preemptively. Fixed.
  • When the game is unable to unlock a bonus ship type for human players/home-planets that is unique for their team (usually due to playing with a lot of players on the simple ship types with no or few expansions), it now unlocks something that is unique for each player instead of for the team as a whole. The only time players would get nothing is if they already had all the ship types available.
  • Previously, the game had a chance to sometimes hang if it was unable to unlock a new bonus ship for a player at various junctures. Fixed.
  • The WithSelection context is now only active in planet-view, never in galaxy-view. It now also overrides any conflicting PlanetView binds. These two changes should resolve some really confusing input-causing-multiple-unrelated-things-to-happen issues we've been seeing (including the K causing both low-power-mode and knowledge-display-filter thing).
  • Fixed a fairly longstanding bug that was totally messing up the detection of whether one input context was "narrower" than another, and thus should have precedence when one if its keybinds conflicted with another active context's keybinds.
  • Distribution nodes and zenith reserves will no longer be targeted or damaged by AI ships.
  • Distribution nodes and zenith reserves that are scrapped will now give their proper benefit.
  • The ship caps and other stats in the planetary summary are now always synced with the local player's stats. Previously they often used global defauts that weren't correct for the current game.
  • Put in a fix that should make it harder for AI ships to be brought out of low-power-mode when the player attacks and then drop back into low-power during the battle.
  • Fixed odd bug with the code that sends updates on planets (specifically on the wormholes, in this case) to the AI thread.
  • Fixed up some age-old nonsensical code from the AI thread, the unclarity of which had been the cause of some recent bugs with threat accumulating.
  • Fixed a major longstanding typo in the AI loop dating back to sometime pre-3.120, wherein huge numbers of the AI's planets often would not be evaluated for AI logic, attacking, etc. Actually, depending on the circumstances of the savegame, it could affect no planets or it could affect virtually all of them. In one example save from Spikey00, for instance, it was only processing 4 planets out of 120 for the AI... with the result that over 17,000 ships accumulated in threat.
    • This one took forever to track down, but was super worth it. A lot of the "why didn't the CPA ships actually attack" issues probably trace back to this. Not sure why exactly this issue has been seeming more prevalent in the last week (perhaps related to the other, more recent issues reported in the line item above), but it's very clearly some code that dates all the way back to the initial import to Unity and before.
  • Previously, AI ships that were being "coordinated" by other AI ships (such as hybrid hives) were counting as threat. Fixed.
  • Fixed a since-the-port-to-Unity bug with ships being selected, where if you drag-selected once it would select military-only, and then on the second time over the same group it would select all.
  • Fixed a number of issues with per-planet AI ship count limiters kicking in when they should not have been. This is most notable for things like AI starships that are included in a wave to an AI planet, or just included to a planet in general, for instance. Now only guarding or planetary roamer ships are even included in the ship caps -- free/threat ships, special forces ships, etc, don't count, since they are all transient, anyhow.
  • Fixed a bug that could cause uv textures to become accidentally flipped.
  • Fixed a hang-causing bug in processing the removal of a ship with coordinated underlings (like a Hybrid).
  • Fixed bug that could result in resistance fighter ships built by a human player at a resistance colony being produced as minor faction units and thus not costing energy (until the game was saved and reloaded, apparently, potentially resulting in a nasty shock).
  • Fixed some bugs with the Resource Flows tab of the Stats window where it wouldn't include everything that was causing an impact on metal or crystal (notably self-building turrets, etc).
  • Fixed a bug that could cause "ghosting" of old graphics (and thus both incorrect drawing as well as performance degradation) in certain circumstances. We never actually saw evidence of this occurring in AI War -- we found it via Tidalis -- but it's something that definitely could have been happening, especially temporarily as images were being loaded in to the game.
  • The logic used for most minor faction and zombie ships for deciding to move on to a different planet should now ignore the presence of any enemy target that they are incapable of actully hitting (so neutral and player-ally Dyson Gatlings won't get stuck because of mk5 ships on the planet, etc).
  • Fixed bug where neinzul clusters were only checking for non-mine military enemy units to see if they should spawn their internal squadrons. Now checks all enemy units. Will still not trigger on scouts unless it's a privacy cluster (though it will trigger in that case, it hasn't been for a while).
  • Reworked the AutoCreateUnitOutside behavior used by Neinzul Clusters and Hybrid Hive Spawners to not require that the source ship still exist when the command is processed, and to be triggered on death, so that taking out a cluster in one shot does not bypass its spawning of its internal squadrons.
  • AI ships that are immune to force fields will never now prioritize attacking them over ships under it (this makes raid starships way more dangerous than before in the hands of the AI, incidentally). It was previously simply a property being mis-applied on some ships that later got ff immunity belatedly. Now it automatically removes that flag for anything with the immunity.
  • All guardians are now immune to being insta-killed.
  • Fixed an inaccuracy in the Zenith Reserve tooltip.
  • Fixed an inaccuracy in the decoy drone description.
  • Previously, using 0 as the seed on some map types could cause the game to lock up. Fixed.
  • Fixed an inaccuracy in the Tachyon Guardian description.
  • Fixed a longstanding bug where modules would not always draw on top of their parent ship.
  • Fixed an extremely longstanding bug (since pre-1.0) where in certain rare circumstances, specific harvesters could not be built.
  • Fixed an inaccuracy in the Armored Golem description text.
  • Clarified the description text on Zenith SpaceTime Manipulators and Speed Boosters to note that they affect all friendly ships EXCEPT minor faction ships (in other words, your ships and allied human ships).
  • Previously, speed boosters and similar could override the cap of things like gravity drills, which made combos like gravity drills plus logistics command stations ridiculously overpowered. Fixed.
  • Fixed a bug in the resource flows that could previously cause self-building ships to stall out, most notably force fields under some various circumstances (such as being shot, but not just limited to that).
  • Fixed a bug that could sometimes cause the health of a self-building ship to be artificially too-high. This could cause all sorts of problems, such as engineers ceasing helping to repair it, etc.
  • Fixed a related bug that could sometimes cause the remaining time-to-build to be massively incorrectly reported.
  • Previously, EMP detonations were causing force fields to blink on and off rather than disabling them completely. Fixed.
  • Fixed an issue that previously existed where when ships were group-moving and speed-boosted, but some of the ships were immune to speed boosting, and those ships would then get left behind.
  • Previously, very old games were not having their AI units upgraded to their new counterparts properly. Fixed.
  • Previously, the "Show Ship Recharge Bars" setting was not properly being read out of the settings file into the settings visual display, causing it to reset to the default if players closed the application and later restarted it and opened the settings screen again. Fixed.
  • Fixed bug since the first Unity versions where disabling a trial-mode expansion would not fully bring the game out of trial mode (even if it was the only trial-mode piece left) until you restarted the application. This also fixes the same bug for when a valid license key was actually entered and previously the game had to be restarted before that key fully "took."
  • If a handicap was previously set on a player, then it wouldn't get reset properly when a new game or tutorial was started. This is a bug going all the way back to 1.0 or before, apparently. Fixed.
  • Previously, the Zenith Power Generator did not show up in the reactors quick-button lists. Fixed.
  • Fixed a bug that was causing the Warp Jumper AI type to not always be able to attack any human planet that wasn't warp jammed.
  • Previously, when a bully or assassin AI type could not find a valid planet to attack belonging to the weakest/strongest player (respectively), they would warp in to ???. Now they will warp in against other players if their favorite target is not available.
  • Put in more exception-preventing code in the single-select dropdowns to prevent a rare issue.
  • Fixed loooooongstanding bug where a completed game would not show up on the high scores list if another record was already there with the same map seed and a higher score. It will now prefer a record with the IsGameOver flag, even if the score is equal or lower. Also made it log the game result more promptly after IsGameOver is set.
  • Fixed several typos in the tutorial.
  • The speed floor for Speed Racer and tag teamer ships wasn't working correctly with the new way that the combat style speeds are applied (as in, it was correct only on Epic). Fixed.
  • The global "speed limit" was previously 150, including various speed boosts, etc. However, the "silent doubling" for player ships was applied after that. This meant that in the last version, the speed of player ships was now capping out at 150 instead of 300. Worse, because the combat style speed bonuses were previously after-the-speed-limit as with the silent doubling, those were also getting capped at 150... rather than 1200 in terms of blitz for player-controlled ships. Yikes. The new speed cap is now 1400, to account for the cumulative old cap plus a little extra wiggle room to account for even-speedier ships.
  • The gravitational turret mark II/III health was unintentionally lower than mark I. Fixed.
  • Previously, the "Can't use wormholes" tag was uselessly applied to mark II/III command stations. Fixed.
  • En-dashes and Em-dashes are now automatically converted to hyphens when checking license key validity. This prevents issues with players typing the wrong kind of dash and it saying their license key is not valid.
  • Previously, the low-power hotkey (K) would not toggle ships with build queues. Fixed.
  • Fixed longstanding bugs with icon-grouping that would cause ships and health bars to be drawn in spurious places.
  • Fixed bug that was having multiplied-by-square-root-of-target-armor (zenith polarizer) and multiplied-by-100-minus-percent-of-target-health-remaining (youngling vulture) attack power calculations use the minimum and maximum multipliers of the _target_ rather than the attacker. Now uses the attacker's min/max. FYI, the polarizer is supposed to have a min/max of 4x/100x and the vulture is supposed to have a min/max of 10x/90x (the defaults both was getting most of the time were 1x/100x).
  • Fixed a longstanding issue that affected a very small number of players (but more recently was suddenly more widespread... actually a good thing in terms of finding and fixing it) where the mouse edge scrolling did not work properly in some circumstances, most notably in windowed mode. The explanation on this one is long and convoluted: http://www.arcengames.com/mantisbt/view.php?id=937#c7847
  • Previously, using very high or low speed modifiers would cause explosions and similar to have the inverse amount of animation speed from what they should have. Fixed.
  • Converted away all internal references from Time.smoothDeltaTime to our own Game.Instance.GameDeltaTime, which prevents occasional skipping and lag in certain animations and scrolling the background stars as players pan the view, etc.
  • Previously, the Neinzul Enclave Starship mercenaries used the old graphics for the actual ship, but the new graphic for the icon. Fixed.
  • The objectives window will no longer act like nuked planets can be knowledge-gathered.
  • The lobby Map Type, Campaign Type, Minor Faction, and AI Plot lists now properly update when an expansion is enabled or disabled in the lobby expansion list.
  • Auto-explore/Auto-gather-knowledge orders were previously not being persisted through save/load, but now are.
  • Auto-explore/Auto-gather-knowledge orders were previously not clearing when a ship was given another direct order, but only when given the "stop" order; they now clear whenever the ship clears all its commands (generally when given an order to do something else without the shift key held).
  • Previously it was possible for using the "quick buttons" at the bottom to select ships in such a way that ships from multiple distinct planets were in your selection, leading to various problems like unintended orders. Now when using the quick buttons the selection will be completely cleared first.
  • Removed the Map Button context menu from the list on the input-bindings screen, since it didn't actually have any bindings and would cause an error if you tried to open it.
  • Added a couple missing localization strings for the edit-binding screen.
  • Fixed a bug where very high-sensitivity mice could actually have their inputs periodically rounded down to zero when edge scrolling, or where having a very high performance profile could cause this even with normal mice.
  • Fixed inaccuracy in Riot Tazer tooltip.
  • Ship modules now automatically take on the cloaking status of their parent ship.
  • Previously, AI ships would remain in cold storage if there were only cloaked player ships on a planet, which was problematic with things like spire penetrators. Fixed so that it only does this for ships that are cloaked AND which have no attack power (aka, scouts).
  • Previously, when a ship that was actively tractoring other ships was loaded into a transport, it was still tractoring those ships. Fixed.
  • Fixed a number of text wrapping and overlap issues in the ship hover window.
  • Zenith Mirrors are once again immune to blades, to prevent cutlasses from one-shotting themselves against the mirrors.
  • Previously, group movement could override the effects of gravity beams and drills. Fixed.
  • There was also some logic that was previously causing ships to be capped at 2x their normal movement speed from some but not all kinds of speed boosters. That was some old logic that hung around too long, apparently. Fixed.
  • Previously, there was a bug that was causing ships that were immune to gravity effects to not be able to be speed-boosted when group moving. Fixed.
  • Previously, the total number of allowed lines in the alerts window was 16. That meant that if there were a ton of waves plus other messages, some messages could be invisible. Fixed.
  • Scouts, spirecraft scouts, and spirecraft jumpships are now immune to being swallowed. Scout starships already were.
  • When an EMP goes off, it is now assured to hit AI ships that were in cold storage; apparently in some rare circumstances previously it was able to miss ships in cold storage. Since this bug could possibly also happen with tachyon warheads, a safety check was put in place to make sure that was prevented, too. Nukes were already assured of not having this problem.
  • A pretty sweeping internal change has been made for how group move is tracked and applied. This should hopefully resolve all the problems with the mixtures of group moving and speed boosting and speed-boost-immune ships.
    • This may cause some accidental bugs if we typed something wrong (that's the architecturally-dstructive part, and why we avoided doing that before), but it should also fix the actual bugs it's meant to fix.
    • The core of this change is basically tracking two group move speeds, rather than one: slowest boostable speed, and slowest non-boostable speed.
    • Ships in savegames that are already group-moving might be still acting briefly wrong. Simply giving them another group-move order will straighten them out, if so. By "briefly wrong," we mean that they might be moving too fast or too slow compared to what they really should be, the same as they were already moving in the old savegame.
    • This should also fix the "player ships are always moving too slowly" bug that was in the last version (it was really just a group-move thing).
  • Fixed bugs with ship coordination where ships left behind on a planet by the coordinator could get _really_ confused about whether to go to the appropriate wormhole to catch up or to go to the coordinator's coordinates.
  • Fixed a bug with various beam weapons where the firing ship would stay slightly out of range and the beam wouldn't hit anything. Will now always fire such that the beam will reach the primary target (unless stopped by some other object, in the case of human and spire beam weapons).
  • The Resource Flows tab of the stats screen now uses LastEnergyProduced instead of UnitData.EnergyProduction for reporting positive energy flows, thus fixing the bug where it was inacurrately reporting the energy contribution of poor-efficiency reactors.
  • The tooltips for the various random ai type options in the lobby now refresh properly when expansion-enabledness is changed, etc.
  • Fixed textual bug that was making the "abilities" line in ship data always reflect high-cap numbers (notably, for armor piercing), now refreshes the abilities line if the cap has changed since the last time.
  • The Bonus-ship-type-detail-window used on lobby mouseovers now snaps to the bottom of the screen rather than displaying from the same top-left as the options window if it's too tall for that to fit on the screen.
  • Put in some changes to the per-second logic for command stations to make it much less likely that the auto-construction controls would "double-build", by making a command station wait about 3 seconds after being constructed to start looking at auto-build stuff, and also wait at least 1 whole second (and potentially 2) between checking the logic instead of potentially checking it at the end of one second and again at the beginning of another.
  • When drawing in-game, the Settings window now snaps to the top of the screen rather than the bottom of the resource bar when the resolution is not tall enough to accomodate both.
  • Fixed a surprisingly longstanding (but heretofore unrecognized) bug that was making the random number generator sometimes be highly non-random. This was leading to things like a very odd default pattern of collision offsetting.
    • Really, this changes EVERYTHING about the seeding in the game. Map seeds now will give completely different (and much more varied) results, there will be less "false statistical clustering" going on, and even the patterns of where guard posts are seeded in planets looks pretty different. This bug dates back to March 6, 2009, before the game was even released -- one of the longest-standing bugs we've seen, especially of this magnitude.
    • This also seems to fix the "all new ships seed in a line" bug that has been around for a while.
  • Fixed another couple of bugs where the game's random number generator was recently not as random as one might have hoped. These were much more recent, in the main, as issues.
  • Fixed some bugs that were inflating AI Eye seeding by roughly 2x.
  • Fixed a bug that may have been causing AI ships to aggro when firing on a minor-faction ship.
  • Previously, only mark V guard posts were immune to being insta-killed. Now they all are.
  • Previously, the AI could still get gravitational turrets from the Zenith Trader. Fixed.
  • Minor Faction ships are no longer barred from shooting at low-power AI ships. This fixes some issues with the devourer not doing its job, as well as the dyson gatlings not doing their thing always, too.
  • Fixed bug where auto-knowledge-gather ships would "give up" after a few planets, even if more eligible ones were available.
  • Previously there was a bug where the ship icons on the galaxy view intel summary would appear even when the proper scouting had not been done. Fixed.
  • Allied minor faction ships (including asteroids) are no longer able to be seen in the planetary summary sidebar on planets where the player does not have a scout.
  • Since the port to unity, the cloaked enemy ships indicator was never showing on the planetary summary sidebar. This was a pretty handy indicator, especially for helping with confusion for newer players, and it has finally been brought back.
  • Previously CPA size was not scaled with unit caps. Odd that it's taken so long to notice. Anyway, fixed.
  • The game will now check Enter and Return together, like it does leftalt/rightalt, etc. This should help clear up some confusion with the chat textbox on certain OSX keyboards.
  • Fixed a couple of murky pieces of code that could have been desyncs, but probably were not. At least they are clearer as to being correct, now.
  • Fixed another really obscure desync that no one had actually run into yet. It would only occur if one player had their UI turned off and the other didn't, and a grenade went off.
  • Fixed a desync that would occur whenever the harvesters were reset in a multiplayer game.
  • Previously, enemy-to-all minor faction units (like marauders and some roaming enclaves) could get protection from human forcefields, counter-sniper turrets and the like. Fixed so that these particular units cannot get those protections from any source at all (none of them have such inherently, and being an enemy-to-all precludes getting them from anyone else).
  • Fixed a potential desync bug related to objects tracking which ships they've shot so far in a cycle.
  • Ships that emit attrition effects are now immune to cloaking and camouflaging.
  • Fixed a relatively longstanding error (since unit cap scale was introduced) in wave size computation: previously the wave size would be multiplied by the unit-cap-scale-multiplier (high = 1, normal = 0.5, low = 0.25) and then later by the ship-type-specific ship cap multiplier (e.g. on high fighter = 1, sentinel-frigate = 0.1, zenith-bombard = 0.25); the problem is that thte ship-type-specific cap was _already_ multiplied by the overall unit-cap-scale multiplier. So waves on high had the correct size, normal waves were 1/2 the correct size, and low waves were 1/4 the correct size.
    • Since the balance of wave sizes has been generally acceptable lately, we don't want to just totally shatter that to fix this math mistake on our part. Instead we are fixing that but also dividing the base size of waves by 2. So waves on normal will continue to be the same size as before, waves on high will actually be half the previous size, and waves on low will be double the previous size.
  • Fixed a longstanding bug where the lobby bonus-type tooltips would always display ship caps as if the base cap were 100 instead of 196.

Community Contributors

  • We wish to express our gratitude to our community for its tremendous help in testing, bug reporting, suggestions, patience, good humor, and encouragement. In particular, the following members have helped us with at least one bug or suggestion (the number in parenthesis is a rough count of the number of distinct cases they helped with) :