Greetings Terrans!
This build adds a number of internal features for Monday's DLC release that enable a wider range of starting config in scenarios, as well as adjusting the AI to handle those scenarios and overall play better.
This build also significantly improves game performance in three areas: 1) campaign startup speed; 2) 2nd and later save loads or campaign starts in a single session; 3) during the mission planning phase for AI.
This build is compatible with earlier saves. There may be some balance changes that are more apparent in 2022 and 2070 scenarios. We have added a rollback branch in Steam Betas that allows you to revert to the prior (1.0.39) build.
Steam Reviews: Your Feedback Matters
If you’ve been playing Terra Invicta and have thoughts to share, leaving a Steam review is a great way to support the game. Reviews help other players understand what the experience is like and give the team a valuable perspective on what’s working well and where things could improve.
It doesn’t need to be long or detailed. Even a short note about your experience is helpful, and the team truly appreciates everyone who takes the time to leave one.
Changelog
The full changelog for v1.0.47 and earlier beta builds is here or you can find it down below.
1.0.47
A
- 6294: Fix a crash when hovering the solar power tooltip in the ship panel before solar power modules have been invented. This only affects a DLC scenario.
B
- Fix an exploit where using the build-fastest button in construction manager could assign ships to depowered shipyards
- Fixed UI display of mixed project & tech alt prereqs in selected tech panel within tech tree
C
- More attempts to try to display tech modifier totals in the UI for when negative sign is best to communicate aggregate nature of the effect. It's not fixed yet though and we're gonna have to go through and individually mark each of 720 effects plus howevermany they came up with for the DLC for how it should display.
UI
- new councilor recruits and new orgs in the market will be put at the beginning of each list in their respective UIs (working on a visual indicator but that will take longer; this is just an internal sorting change)
Gameplay
- When orgs cycle around between faction marketplaces, the game will track which orgs just left a particular marketplace and ensure they don't immediately reappear there
1.0.46
A
- TIGlobalConfig.AI_AlienBaseQuietness() : Fixed bug where this method could return NaN and break starting alien councilors
- Fix a crash when a faction is disabled and goals affecting it are being processed
B
- ManageFleets() : Static fleet fraction merging logic now exits early if the static fleet fraction reaches the desired quantity
- SingleFleetOperation() : When cutting down the size of defense fleets, now ensures that any ships removed will not reduce the current static fleet fraction below the desired level. Prevents instance fleet flip-flopping between joining/breaking off from another fleet and associated notification spam.
- Fixed bug where map_RockyMountains was considered to be adjacent to map_Monterrey
- Fix a bug preventing AI factions from being disabled in some cases when they should have been
- Fix a new bug in 1.0.45 causing thruster audio to not stop during combat
- 6290 - Fixed ship designer transfer details not updating when leaving transfer planner after making changes
C
- Restored PCT VFX now that it turns off correctly after ship destruction
- 6291 - Select Project screen now updates when an active notification toggles favorite/obsolete status while it is open
- Fix org admin cap value in councilor UI to reflect that inactive orgs still provide admin for org-control purposes.
AI
- AI: If a faction's only inspire-capable councilor is known to be turned, fire that councilor
1.0.45
A
- Fix a bunch of potential crashes and add some UI handling for cases of trying to load DLC saves on TI without DLC installed
C
- Fix an issue where some of PCT's visual FX would linger after ship destruction
1.0.44
A
- fix a UI crash when a fleet is going toward a no-longer-existing station
- fix a crash when corrupted saves appear in the save menu and the game tries to read metadata from them. also prevent load of those saves.
- fix a weird bug experienced by me and one other guy back in December where the game would forget the path to the save directory after loading from a save ingame. it'll now remember it for the entire session.
C
- handle a case where multiple multiplying effects would display a positive instead of negative net effect in the faction modifiers UI
- adjust some notification behavior when a once-only-in-campaign project is completed
Performance
- Fiddled with some internal Unity UI memory behavior and gained significant performance improvement on 2nd and later load of a save or campaign start during a session.
Loc updates
1.0.43
A
- attempt fix two reports of a crash by DLC testers when generating a region tooltip and looking for intel data on alien activities
Loc updates
1.0.42
C
- Fixed certain 2d ship radiator images overlapping other UI elements
- Clean up of ProjectComplete notification display discrepancy. Removed unnecessary line and modified loc call in TINotificationQueueState to use a different one appropriately
- Some loc cleanup
1.0.41
B
- 6270, fix funding priority not going away when funding value is at cap
- 6266, fix gov't priority not immediately going away when democracy at 10 and last hostile claim is cleared
- 6264, fix some priorities not properly updating when re-activated by other advances (economy, education => mission control, tech advances => environment)
- 6272 Govt Favours and Criminal Favours events require councilor to be on Earth
- TIGlobalValuesState.globalGDP_CampaignStart : Fixed bug where system was using current GDP as oppose to starting GDP (new in 1.0.40)
C
- Fix Angola's starting GDP in 2026 scenario
- updated Geoscape icons for xenoforming progress for easier readability of progression
- Adding missing Djibouti army name.
- Fixed a Shading bug on the moon
Performance
- Cached best possible environment score for performance
1.0.40
This includes code to support Dark Skies DLC that will be released in the primary build.
A
- FactionGoal_BuildHab.SavingForTemplate() : Fixed crash from null module
B
- TIFactionState : Fixed bug where no-prereq projects wouldn't get triggers when starting a new campaign
- TICouncilorState.RandomizeStats() : Make sure attributes are not reduced below zero
- SolarSystemBootstrap.InitializeNations() Added code to merge together scenario wars into multi-state conflicts
- 6261: Fixed some issues with org logos and names
C
- Fix Hab monthly revenue calculation not including adviser multiplier bonus (mostly impacted trade evaluation)
AI
- 6223: Prevent fleet from continuous transfer to attack target hab if too many failures
- AICouncilorMissionPlanner : adjusted abduction payoff
- Added logic for the servants to grant nations to the aliens
- AICouncilorMissionPlanner : Added logic to force xenoforming
- AICouncilorMissionPlanner : Improved alien nation building logic
- AICouncilorMissionPlanner : Added logic to speed up alien facility construction
- AICouncilorMissionPlanner : limited the number of aliens that can be forced to abduct / enthrall
- Improved human AI's ability to track down aliens
- Added helper for checking if faction can count abductions
- ScoreRegionForAlienSearch() : added 2-step adjacency to recentAlienSite logic
- ScoreRegionForAlienSearch() : Adjusted logic
- PlanMissions : Avoid running the same alien detection missions with different councilors
- PlanMissions() : Improved alien tracking AI
- Added logic to make sure the aliens do a mix of abductions and enthralls if there are factions that still need both
- SingleFleetOperation() : Adjusted logic for breaking up fleets. Fleets can now be reduced from only one ship (to zero) under certain circumstances.
- Added logic for thinking about projects that make nukes easier to make for everyone
- Made AIs save more of their ops during mission selection
- SetResearchPriorities() : AIs now prefer to work on fastest objective project
- AI factions now save influence if they have empty councilor slots earlier in the campaign.
- Adjusted alien councilor transport importance
- Adjusted build station / base goal importance
- LegacyHabPlanner : Added logic to make sure aliens build shipyards at their main base (if they don't already have them)
- FactionGoal_TransportCouncilorWithFleet.DailyGoalMaintenance() : Added logic to upgrade transport goal importance if there aren't any councilors on earth or en route
- Adjusted defense goal importance to make sure it does prevent councilor transport.
- LegacyHabPlanner : Added better hab building logic
- SetResearchPriorities() : Added logic to avoid AI go all-in on extremely expensive techs (relative to their income)
Scenario options
- Added a scenario options to have orgs scale with the global research and GDP values
- TIStartTimeTemplate : Added alienProgressionModifier
- Added alien surveillance delay option
- TIStartTimeTemplate : Added alienStartingProgression_years
- Added "Quiet" aliens feature - Aliens will focus on less aggressive actions in space and on earth for a time
- Added optional wormhole ramp-up feature - Alien wormhole will start with less income and increase over time
- TIStartTimeTemplate.GDPDefenseModifier, CPMaintenanceModifier
Gameplay
- Added relative worldwide GDP scaling for unrest, cohesion, and CP maintenance. This is relative to the 2026 scenario
- TIControlPoint : priorities that have been reduced to zero or less efficiency do not receive diversity bonuses
- Added "Competition" AI category for techs. AIs will work extra hard on these
- Added option to have an alternative prerequisite for the second prerequisite of a project
- Added new UI to more clearly show tech/project alternatives
- Added template replacement feature - Can now add templates duplicate dataNames to replace existing templates
- TIDateTemplate : Added referenceAlias, referenceName - Allows connecting templates that have been duplicated/replaced
- Adding TIDataTemplate.scenarioAlias, scenarioName - Allows localizing templates that have been duplicated/replaced
Performance
- Turned AI mission planning into background task. Significant improvement.
- Optimized nation initialization in startup; removed some save-repair code that was needlessly firing and saved about 15 seconds total
- 6226: Memoize driveModule, powerPlantModule and radiatorModule in TISpaceShipState. This helps shave a couple of seconds off long running space combat simulation.
- Use one Random instance per simulated combat instead of per attack
- Memoize TIFactionState.playerControl. This was hitting a GetComponent call on each access unnecessarily. I found it when experimenting with migrating bits of code to background threads. Just a minor perf improvement, and will be set up better in case we do move more logic to the background.
Join the Terra Invicta Community
You can find the Terra Invicta community on Discord and Reddit for discussion, updates, and feedback. We also post detailed patch notes on Discord and our forums for those who want to follow changes closely, and there is a community-run wiki available if you are looking for reference material or answers to common questions.
[dynamiclink href="https://store.steampowered.com/app/1176470/Terra_Invicta/"]