Difference between revisions of "AI War 2:Post Completion Part II"

From Arcen Wiki
Jump to navigation Jump to search
Line 87: Line 87:
 
* Easily get a random element in a list via List.GetRandom(RandomGenerator).
 
* Easily get a random element in a list via List.GetRandom(RandomGenerator).
 
* Home-Arks can now be tagged with custom_neverRandom="true" to prevent them from being chosen when Random is selected.
 
* Home-Arks can now be tagged with custom_neverRandom="true" to prevent them from being chosen when Random is selected.
 +
* Ai Types can now be tagged with custom_neverRandom="true" to prevent them from being chosen when Random or Adaptive is selected.
 
* FleetDesignTemplates for your starting fleet, mobile factory, and battlestations can now be tagged with weight="0" to be skipped past when Random is selected.
 
* FleetDesignTemplates for your starting fleet, mobile factory, and battlestations can now be tagged with weight="0" to be skipped past when Random is selected.
 
* Necromancer now checks if a guard post has ImmuneToNecromancy before converted it.
 
* Necromancer now checks if a guard post has ImmuneToNecromancy before converted it.

Revision as of 14:25, 27 July 2023

Reporting Bugs

  • Any bugs or requests should go to our mantis bugtracker
    • If you need to submit log files, those can generally be found under your PlayerData folder in the folder your game is installed in. The most relevant one is called ArcenDebugLog.txt. You can send us the whole thing, or just strip out relevant parts.
    • In rare cases, mainly if your entire game crashes (that almost never happens), we will need your unity player log. That gets overwritten the next time you run the game after a crash, unlike the other log. These can be found here:
      • Windows: C:\Users\username\AppData\LocalLow\Arcen Games, LLC\AIWar2\Player.log
      • macOS: ~/Library/Logs/Arcen Games, LLC/AIWar2/Player.log
      • Linux: ~/.config/unity3d/Arcen Games, LLC/AIWar2/Player.log

What Happens Now That The Game Is "Done?"

The last of the AI War 2 DLCs is now out, the Complete Edition is out, and you can read a retrospective of the entire project if you would like to.

At this point, we have moved on to other projects aside from bugfixes and balance tweaks and modder-support. That said, since modders and volunteers are still making updates, there tend to be patches every 1-2 weeks on average.

We expect AI War 2 to have a long life if AI War Classic is anything to go by. The game is in a really good state, and we want you to be able to enjoy it for years and years.

5.560

(Still in progress)

5.559 Deringing

(Released July 27th, 2023)

Bugfixes

  • It's very hard to test, since this is something that only happens intermittently in the case of unit testing, but the "stuck extra rings hanging around" should be a thing of the past.
    • The way it works is, the rings and similar now remember when they were last asked to be drawn, and if they are not asked to be drawn for more than 1 second, then they disable themselves.
    • Previously, these were being orphaned and not being still drawn even though nothing was asking them to. There is code running on the rings themselves which lets them self-check and thus bypasses the orphan problem. This of course leads to two other issues:
      • Issue one with the self-checking is performance. This has been implemented in a very slim way, using normal unity Monobehaviour update calls, so that should be solved. Other approaches would have involved things like iterating the list frequently or something, in a way that would have been detrimental. The other reason that this isn't too bad on performance is that we have a pretty limited number of rings ever used, since they are pooled and reused as needed.
      • The second issue is that just because something is properly cleaned up, that doesn't mean it won't be causing other problems later. Specifically, these rings are distributed from a pool of rings, and if one is orphaned, then technically some ship visualizer that previously was using it still has a reference to it. This would mean that when that comes back into play, it would resume trying to use said ring, and then we'd start seeing flickering rings or rings jumping around strangely, because two ship visualizers are writing to it at once.
        • To bypass this second problem, I implemented a version of something that I developed for Heart of the Machine, where essentially the rings all now have "owners," and before using an existing ring from a collection or variable, the ships or similar say "if I'm not still your owner, then I will ignore you and get a fresh ring from the pool, because someone else is using you now."
    • What has been successfully tested so far is that the rings still look and work fine when the game is freshly open, performance does not seem to be affected adversely, and the "check for orphans and expire them" logic is working.
    • What has NOT been tested is what happens when an orphan is actually encountered and cleared, and the bits after that. I simply can't ever make it orphan a ring, so... I have no way to test that, which is why this bug has persisted for so long in the first place (not being able to cause the bug, but knowing that other people see it regularly, is a special kind of frustrating).
      • So there's a vague possibility that the sky opens and demons spill out when this actually encounters an orphan, but the code is very simple and has been proofread carefully, so the odds seem low.
    • Thanks to Galian Gadris for the reminder that this was still going on.
  • Fix a bug since beacons first were committed. They were being treated as SmallGood when there was a FactionBeacon seeding-type.
    • Actually difference in behavior, if apparent at all, is that planets with beacons wont tend to not have any 'good' stuff seeded there with them.
  • Galaxy map strength text for 'hostile threat' which was the second/bottom line to the right, will now match the factions center color instead of confusing you by using the trim unlike other text labels.
  • Fix to 'Share Allies Vision' galaxy setting giving you vision of all planets with an Outguard Beacon.
  • Fix to ships granting lines not getting actual lines picked successfully, with certain combinations of the grant related tags.
    • This also removed a whole ton of duplicate code.

Improvements

  • The sidebar button/tab for outguard now has subtext with the number of outguard currently ready to be deployed.

Coders

  • Added DrawBag.AllowZeroWeightItems so that added items with zero weight will still be added to the bag.
  • The tags 'force_gravity_well_size_of_planet_to_be_at_least' and 'force_gravity_well_size_of_planet_to_be_at_most' which repositions entities on planet when shrinking the grav well size, now also does so if it increases it.
  • Added support for parsing xml attributes as an html hex format color, ie. #FF0000 would be red.
  • Added GameEntityTypeData tag 'does_not_give_allies_vision' which is used if the galaxy setting to share allied vision is on to exclude individual ship types.
  • Galaxy settings that are CustomDropdownCoreTable can now be modified with partial records. This was generating exceptions if attempted.

Mods

Outguard Party

  • Fix to the remote hacking drone lingering forever as a crippled ship after it attritions to death.

More Frigates

  • Fixing xml error on startup about invalid range on a beam weapon.

Azaran Empire

  • Added DLC requirements.

Dire Macrophage

  • Added DLC requirements

5.558 New Mods And Authors

(Released July 21st, 2023)

Game

  • Decrease size of the Orchid Ark's rescue spore icons
    • Thanks to Mac for reporting
  • Add some defensive code for an exception hit in the resource bar UI
    • Thanks to R4gingFire for reporting
  • Fix to null reference exception rarely occurring in decollision planning.
  • Nanocaust invasion planet is now deterministic.
    • Which is to say it will pick the same planet if you reload and replay the same save (but it doesn't only reinvade the same place, obviously).

Coders

  • Get/Release a temporary RandomGenerator easily with RandomGenerator.GetTemporary and RandomGenerator.ReleaseTemporary.
  • Easily get a random element in a list via List.GetRandom(RandomGenerator).
  • Home-Arks can now be tagged with custom_neverRandom="true" to prevent them from being chosen when Random is selected.
  • Ai Types can now be tagged with custom_neverRandom="true" to prevent them from being chosen when Random or Adaptive is selected.
  • FleetDesignTemplates for your starting fleet, mobile factory, and battlestations can now be tagged with weight="0" to be skipped past when Random is selected.
  • Necromancer now checks if a guard post has ImmuneToNecromancy before converted it.
  • The debug feature for showing the destination of threat (occurs when debug tooltips setting is on) within the popup window for visible threat is now a ton easier to comprehend.

Mods

Azaran Empire

  • New Mod!
    • Thanks to the author @Arphar
  • Introduces the Azaran Empire as a new faction.
  • The galaxy is being invaded by the Azaran Empire. They are a highly centralized empire bringing their own planet into the galaxy from which they will produce ships to take over planets and build structures to bolster their production.
  • Face off against them in order to gain rewards and hack their facilities to gain new ships to use either against them or the AI.
  • Or fail and watch them take over the galaxy.
  • Includes rewards for Necromancer, alongside some rewards for Humans to keep on fighting.

Sapper Alterations

  • New Mod!
    • Thanks to the author @obscuris
  • This mod alters how the Neinzul Sappers faction behaves and how their economy works, along with adding new units and mechanics.
  • All changes can be read in the text file provided with the mod folder.

Dire Macrophage

  • Now has rewards for Necromancer.

Sidekicks

  • Some tweaks to the dyson sidekick's flagships for visual size and balance
  • Reapers will now find it even harder to blow up command stations when they don't have any gateways on the map
  • The Jabberwock AI will no longer automatically get ships from the Sidekicks mod if the Sidekicks mod is enabled. Instead there is a new AI type in the Sidekicks mod, Jub Jub Bird (Beware the Jub Jub Bird!) that is the Jabberwock + Sidekicks ships
    • Thanks to Dismiss for requesting

ExoWar Overhaul

  • The achievements for killing a mothership and flenser now trigger correctly upon killing the variations in this mod.

Reclaimers

  • Disabled the chat log message when a scrap box is produced and when drones are reinforced, since these can become spam with many planets.
  • Constructor ships now can build a Near-Space Outpost on the planet they are produced, instead of always first leaving it immediately.
  • Fixed bug causing the Reclaimers Home Station to always end up at the center of the planet.
    • It is now always near the player's station/necropolis as intended.
  • Fixed issue causing a startup warning about the autobuild setting for ReclamationFrigate.
  • Fixed issue with BaseReclaimersInfastructure appearing in the encyclopedia.
  • Disabled most of the reward infrastructure, they were not interesting. It now only has the wormhole suppressor and the warp gate.
  • Chromatic Ark is now never chosen when Random starting ark is selected.
  • Dismissal Fleet, Dismissal Defenses, Reclamation Fleet and Reclamation Defenses will no longer be chosen when Random is selected.
    • So no need to disable the whole mod just to avoid getting weird randoms.
  • Scrap box will no longer be destroyed by enemies.
  • Near-Space Outposts now gain cloaking at mk3.
  • The faction setting 'Debug Mode' is now more clearly separated from other settings.
  • Necromancers no longer end up converting dying Near-Space Outposts like they were a regular guard post.

Points of Interest

  • Marked all new ai types added by poi to never be picked for random or adaptive.
    • One less reason to disable the mod, when you just don't want the AI types appearing randomly.
  • Vindictive Ai type is now in a much better and playable state.
    • Halved the amount donated to hunter.
    • Anger accrued is now properly saved/loaded, in all cases.
    • Many structures which were causing anger no longer do.

Prior Release Notes

AI War 2: Post Completion