Difference between revisions of "AI War 2:0.850 Raw Chris Changelog"
Jump to navigation
Jump to search
X4000Chris (talk | contribs) (Created page with "In general, Chris wanted to be able to document the sequential progress of things since this release took an insanely huge amount of time. But at the same time, for the final...") |
X4000Chris (talk | contribs) |
||
Line 1: | Line 1: | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
* The Remains Rebuilder has been removed, and the RebuildingRemains metal_flow has now been granted to all of the player command stations and the player mobile builders. It's no longer something that is assist-line-distance-based, nor is it something that requires a dedicated unit to run around doing things with. | * The Remains Rebuilder has been removed, and the RebuildingRemains metal_flow has now been granted to all of the player command stations and the player mobile builders. It's no longer something that is assist-line-distance-based, nor is it something that requires a dedicated unit to run around doing things with. | ||
** This is one of those streamlining bits that people have requested for a while, but Chris in particular was noting that engineers and rebuilders need to be two separate functions (and they do). But making this instead essentially work like claimables and "just happen" solves the issue that people were complaining about without getting into territory of making the AI for the engineers likely to be bonkers. | ** This is one of those streamlining bits that people have requested for a while, but Chris in particular was noting that engineers and rebuilders need to be two separate functions (and they do). But making this instead essentially work like claimables and "just happen" solves the issue that people were complaining about without getting into territory of making the AI for the engineers likely to be bonkers. | ||
** Later we will need for all of our Battlestation types to have this, most likely, or things will get funky at times. This last is a note for Puffin. | ** Later we will need for all of our Battlestation types to have this, most likely, or things will get funky at times. This last is a note for Puffin. | ||
− | |||
− | |||
− | |||
* The various types of "ships rally to X location after construction" are now gone, with instead all the ships from docks rallying to their fleet centerpiece, whereever that may be. | * The various types of "ships rally to X location after construction" are now gone, with instead all the ships from docks rallying to their fleet centerpiece, whereever that may be. | ||
** This is highly automated and much more the default thing we want to have happen. | ** This is highly automated and much more the default thing we want to have happen. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
* TryToSpendBudget_CPA has had some updates to how it deploys ships from itself, since the way it stores ships is different from the start. This may or may not cause demonic fumes to erupt, so let us know. | * TryToSpendBudget_CPA has had some updates to how it deploys ships from itself, since the way it stores ships is different from the start. This may or may not cause demonic fumes to erupt, so let us know. | ||
Line 123: | Line 20: | ||
* ship_lines_to_start_with and ship_lines_forbidden have been removed, as we're going to handle that aspect of AIs a bit differently, too. | * ship_lines_to_start_with and ship_lines_forbidden have been removed, as we're going to handle that aspect of AIs a bit differently, too. | ||
− | |||
− | |||
* Schematic Servers (formerly ARSes) have been removed. Those also no longer make sense in the brave new world that is the new setup for fleets, etc. | * Schematic Servers (formerly ARSes) have been removed. Those also no longer make sense in the brave new world that is the new setup for fleets, etc. | ||
Line 130: | Line 25: | ||
* The idea of CorruptedAIDesigns has been removed, as that was something that people weren't really using and it doesn't fit well with the new approach to AIs and fleets. | * The idea of CorruptedAIDesigns has been removed, as that was something that people weren't really using and it doesn't fit well with the new approach to AIs and fleets. | ||
− | |||
* The keybind for "select all scouts" has been removed, since scouts are removed. | * The keybind for "select all scouts" has been removed, since scouts are removed. | ||
Line 148: | Line 42: | ||
** This way we still have the xml, but the game never looks at it. Normally the purpose of deprecating something is to make sure that savegames that are older can still be read in. With 0.900 we're breaking the savegames anyway, so clearing out the deprecated stuff is only natural. | ** This way we still have the xml, but the game never looks at it. Normally the purpose of deprecating something is to make sure that savegames that are older can still be read in. With 0.900 we're breaking the savegames anyway, so clearing out the deprecated stuff is only natural. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
* The Mobile Builder is now the Basic Battlestation. | * The Mobile Builder is now the Basic Battlestation. | ||
Line 177: | Line 52: | ||
* The Fortress is now a form of Battlestation. | * The Fortress is now a form of Battlestation. | ||
** Puffin: this is only kinda-sorta set up in the xml, and needs more work. | ** Puffin: this is only kinda-sorta set up in the xml, and needs more work. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
* The ship_cap_multiplier actually works now in the new system. It won't increase the caps for anything with a cap of 1, though, just FYI. It also can't be used to reduce the cap. | * The ship_cap_multiplier actually works now in the new system. It won't increase the caps for anything with a cap of 1, though, just FYI. It also can't be used to reduce the cap. | ||
** Puffin: We need a better name for AdvancedFactory, and should adjust the code and xml accordingly to have the new name. It's confusing now in general because of our nomenclature changes and because it's the same name as something from the first game but works differently. | ** Puffin: We need a better name for AdvancedFactory, and should adjust the code and xml accordingly to have the new name. It's confusing now in general because of our nomenclature changes and because it's the same name as something from the first game but works differently. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
* Added a new AIShipGroupCategory table. | * Added a new AIShipGroupCategory table. | ||
Line 245: | Line 93: | ||
** This whole thing is going to take a lot more defining and redefining over time, but it's really well set up for having lots of ship variants and strange outliers. In a lot of ways, this is intentionally pushing planets and waves a bit more in the direction of a RogueLite, where you never quite know what you're going to find. Chris was really missing some of the sense of exploration, and this is his way of trying to capture that again. | ** This whole thing is going to take a lot more defining and redefining over time, but it's really well set up for having lots of ship variants and strange outliers. In a lot of ways, this is intentionally pushing planets and waves a bit more in the direction of a RogueLite, where you never quite know what you're going to find. Chris was really missing some of the sense of exploration, and this is his way of trying to capture that again. | ||
*** And note that this is completely parallel to the player fleet waves and such, so the nice thing is that the AI, other factions, and players can all be thought of using completely separate structures and in completely different terms. As it should be. | *** And note that this is completely parallel to the player fleet waves and such, so the nice thing is that the AI, other factions, and players can all be thought of using completely separate structures and in completely different terms. As it should be. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
* The Stealth Wormhole Sentinels have been set up as something that only show up rarely, now that scouting is going to be working differently. This is useful for making planets feel a lot more varied, and not all planets so hard to sneak your stealth ships into. | * The Stealth Wormhole Sentinels have been set up as something that only show up rarely, now that scouting is going to be working differently. This is useful for making planets feel a lot more varied, and not all planets so hard to sneak your stealth ships into. | ||
Line 329: | Line 153: | ||
* balance_planet_seconds_of_metal_to_claim has been removed, and is now just metal_to_claim. | * balance_planet_seconds_of_metal_to_claim has been removed, and is now just metal_to_claim. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
* A bunch of stuff relating to Golems the way they used to be, including the entire Broken Golems faction, has been removed. | * A bunch of stuff relating to Golems the way they used to be, including the entire Broken Golems faction, has been removed. | ||
Line 364: | Line 158: | ||
* Fixed a minor bug where the HRF Raiders were never spawning because of a typo in their tag. | * Fixed a minor bug where the HRF Raiders were never spawning because of a typo in their tag. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
* Metal harvesters are now markless, rather than being upgradeable. This solves an issue with them being funky upgrade levels on enemy planets, and in general the ability to upgrade them is something that I was iffy about in the current system anyway. It was likely to be too powerful. | * Metal harvesters are now markless, rather than being upgradeable. This solves an issue with them being funky upgrade levels on enemy planets, and in general the ability to upgrade them is something that I was iffy about in the current system anyway. It was likely to be too powerful. | ||
Line 494: | Line 165: | ||
** Thanks to Puffin for finding this. | ** Thanks to Puffin for finding this. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
* The home forcefield generator, which has existed since the first game as a last-ditch tool that you have until you lose it, is now something that you can rebuild. | * The home forcefield generator, which has existed since the first game as a last-ditch tool that you have until you lose it, is now something that you can rebuild. | ||
Line 657: | Line 175: | ||
** The whole purpose of this is so that you can rebuild it if it dies, since you don't otherwise inherently have access to any forcefield generators on your home planet at all, now. You have to put a battlestation or a citadel there in order to get a forcefield beyond the first, and depending on your playstyle you might choose not to do that. | ** The whole purpose of this is so that you can rebuild it if it dies, since you don't otherwise inherently have access to any forcefield generators on your home planet at all, now. You have to put a battlestation or a citadel there in order to get a forcefield beyond the first, and depending on your playstyle you might choose not to do that. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
* The old quickstarts have all been moved to QuickStartsOld, since they no longer function with the new system in general. | * The old quickstarts have all been moved to QuickStartsOld, since they no longer function with the new system in general. | ||
** Because of the way Steam updates work, the QuickStarts from now on will be loaded from QuickStarts2 instead, which is presently empty and needs to be for the next little while. But at least it won't be throwing errors when players try to start quickstarts in the new build. | ** Because of the way Steam updates work, the QuickStarts from now on will be loaded from QuickStarts2 instead, which is presently empty and needs to be for the next little while. But at least it won't be throwing errors when players try to start quickstarts in the new build. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
* A new Station-Keeping Assault Frigate has been added to the loadout of military and home command stations (2x each), and logistical command stations (1x each). | * A new Station-Keeping Assault Frigate has been added to the loadout of military and home command stations (2x each), and logistical command stations (1x each). | ||
** As with the pike turrets that all the command stations now have, this gives you some more defensive options without having a fleet or a battlestation around. | ** As with the pike turrets that all the command stations now have, this gives you some more defensive options without having a fleet or a battlestation around. | ||
** Unlike the turrets, these don't require any placement planning, since they are mobile and able to roam around and hit enemies. Seemed like this would get around a variety of frustrating situations that even having turrets would not solve. | ** Unlike the turrets, these don't require any placement planning, since they are mobile and able to roam around and hit enemies. Seemed like this would get around a variety of frustrating situations that even having turrets would not solve. | ||
− | |||
− | |||
* The warden special forces hideouts were previously always seeding 4, but now it's sometimes more based on the size of the galaxy being larger. | * The warden special forces hideouts were previously always seeding 4, but now it's sometimes more based on the size of the galaxy being larger. | ||
Line 802: | Line 207: | ||
** Note that there is still some issue that may make you need to alt-f4 the program after changing between fullscreen resolutions or fullscreen to not-fullscreen, but it then shows up properly after that. I expect an upgrade to the unity engine, due in the next month or so, will probably fix that one part. And that one part probably isn't new. But the new part that was broken is now fixed. | ** Note that there is still some issue that may make you need to alt-f4 the program after changing between fullscreen resolutions or fullscreen to not-fullscreen, but it then shows up properly after that. I expect an upgrade to the unity engine, due in the next month or so, will probably fix that one part. And that one part probably isn't new. But the new part that was broken is now fixed. | ||
− | |||
− | |||
* Added back a new Hackers EntityRollupType that just gives command stations and mobile fleet flagships, since those do the hacking. It's a more efficient way to loop over potential hackers. | * Added back a new Hackers EntityRollupType that just gives command stations and mobile fleet flagships, since those do the hacking. It's a more efficient way to loop over potential hackers. | ||
Line 859: | Line 262: | ||
** This flag is also explicitly NOT on certain units like the human home forcefields and the various things you get from the Zenith Trader. They will frequently be over-cap (since their command station type doesn't always include it but you might have bought it separately), and so these are always assumed to be valid. | ** This flag is also explicitly NOT on certain units like the human home forcefields and the various things you get from the Zenith Trader. They will frequently be over-cap (since their command station type doesn't always include it but you might have bought it separately), and so these are always assumed to be valid. | ||
** Confusing? Basically this just shuts down an exploit and doesn't affect much else. | ** Confusing? Basically this just shuts down an exploit and doesn't affect much else. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Revision as of 19:37, 17 April 2019
- The Remains Rebuilder has been removed, and the RebuildingRemains metal_flow has now been granted to all of the player command stations and the player mobile builders. It's no longer something that is assist-line-distance-based, nor is it something that requires a dedicated unit to run around doing things with.
- This is one of those streamlining bits that people have requested for a while, but Chris in particular was noting that engineers and rebuilders need to be two separate functions (and they do). But making this instead essentially work like claimables and "just happen" solves the issue that people were complaining about without getting into territory of making the AI for the engineers likely to be bonkers.
- Later we will need for all of our Battlestation types to have this, most likely, or things will get funky at times. This last is a note for Puffin.
- The various types of "ships rally to X location after construction" are now gone, with instead all the ships from docks rallying to their fleet centerpiece, whereever that may be.
- This is highly automated and much more the default thing we want to have happen.
- TryToSpendBudget_CPA has had some updates to how it deploys ships from itself, since the way it stores ships is different from the start. This may or may not cause demonic fumes to erupt, so let us know.
- The gameplay settings for automatically building remains rebuilders and setting them to auto-FRD are both now gone, since so are remains rebuilders.
- The gameplay settings for "brave scouts" is also now gone, since scouts are also being removed and rejiggered.
- Design Template Servers have been removed. They were not exactly exciting, and they don't make sense in the new method of AIs working with unlocked ships/
- UnlockShipLineForAI() has been removed, as AIs don't work that way anymore, either.
- ship_lines_to_start_with and ship_lines_forbidden have been removed, as we're going to handle that aspect of AIs a bit differently, too.
- Schematic Servers (formerly ARSes) have been removed. Those also no longer make sense in the brave new world that is the new setup for fleets, etc.
- The idea of CorruptedAIDesigns has been removed, as that was something that people weren't really using and it doesn't fit well with the new approach to AIs and fleets.
- The keybind for "select all scouts" has been removed, since scouts are removed.
- SelectNextUnitType and SelectPreviousUnitType have both been removed, as they were buggy like crazy in general, and also don't really make all that much sense in the new workflow of things.
- The default serialization style for things the game saves is now Byte arrays rather than the char arrays. This will make savegames vastly smaller than before, although not as legible (as if they were before) to edit by hand.
- This is great for a variety of practical reasons, but among them it causes fewer transient garbage collector allocations. And it also makes it so that large integer numbers are no longer something that make the savegame larger. Rather than one char's worth of bytes per digit in the number (1-6 bits, per UTF-8 specs), it now just has a fixed 4 bytes for the number regardless of how many digits it has.
- This breaks all the previous savegames, but they were already broken anyway.
- Player profiles and settings are still using char arrays so that they can be edited by hand as desired.
- There was previously a "too smart for our own good" method for "compacting" integers down that were used as primary keys. This could cause all sorts of bugs when used incorrectly, and aside from known bugs that this fixes, we happened to see a few other bugs in passing as we were removing it.
- Note that this was needed almost exclusively because of the char arrays serialization that we were using. Now that we're using byte arrays, this compacting is not just bug-prone it's actually not any more efficient in the first place. So it's really good to have that out of there in general.
- Thanks to DEMOCRACY_DEMOCRACY for reporting a particular bug caused by this.
- Items that are truly deprecated, but that we still want some record of for whatever reason, are presently moved into a new GameData/Pre900Deprecated folder.
- This way we still have the xml, but the game never looks at it. Normally the purpose of deprecating something is to make sure that savegames that are older can still be read in. With 0.900 we're breaking the savegames anyway, so clearing out the deprecated stuff is only natural.
- The Mobile Builder is now the Basic Battlestation.
- Puffin: This is something that we'll want to actually make copies of and have 4-5 variants that actually have unique qualities, and ditch the basic version.
- The Mobile Factory is now the CombatFactory.
- Puffin: We may want a couple of variants of this, up to you. One that is more heavy on the factory-ish nature of itself, and one that is more about spawning a metric ton of combat engineers, for instance?
- The Fortress is now a form of Battlestation.
- Puffin: this is only kinda-sorta set up in the xml, and needs more work.
- The ship_cap_multiplier actually works now in the new system. It won't increase the caps for anything with a cap of 1, though, just FYI. It also can't be used to reduce the cap.
- Puffin: We need a better name for AdvancedFactory, and should adjust the code and xml accordingly to have the new name. It's confusing now in general because of our nomenclature changes and because it's the same name as something from the first game but works differently.
- Added a new AIShipGroupCategory table.
- This is a new layer of indirection connecting AI ship groups into one or more categories that AI types then subscribe to.
- This makes it far easier for multiple AI types to share the same ship group, and for modders to add ship groups.
- The ultimate goal is for a modder or us devs to be able to add a ton of different intelligently-crafted groups of AI ship types for various purposes, and for AI types to then use those as appropriate, thematically.
- These also have different weightings on them, so that the AIShipGroups can be more or less frequent depending on how hard or annoying or whatever they are.
- ai_ship_groups_i_am_part_of now uses weights so that you can specify how frequently a ship type comes up inside an AIGroup relative to other stuff in that group.
- The previous methods for some of the map seeding of AI things are also being... phased out in some ways, and made a lot more centralized and thus flexible.
- This in turn lets us make the various AI planets a lot more unique, and lets modders add to things without replacing them.
- The Hydra is now the Vanguard Hydra, and there's a new Stringray Hydra type to keep it company.
- The Stingray version is markedly more strong in the sense that it subdivides but doesn't have worse stats. It's a quick bit of variance for planets or waves that are replicant-heavy.
- Also added a Parasite Hydra to round it out even more, although made them thankfully lexss frequent.
-question: is MiniCluster actually used by anything in the new setup? I don't see how it could be.
- Added Ghost Grenade Launcher Corvette and Ghost Concussion Corvettes, to round out the ghost strikecraft category a bit.
- Basic definitions for ai ship groups and ai ship categories have been implemented. These are based around the excellent document that Puffin set up on the subject, but with some changes and additions here and there.
- Note that this is ai_ship_groups_i_am_part_of, and it refers exclusively to how the AI uses ships. This isn't meaningful at all to fleet design stuff for players, which is a separate topic.
- This also doesn't affect minor factions, although there's nothing stopping minor factions from adopting this new pattern in the future.
- At the moment this also only describes strikecraft and frigates, and not turrets or other things of that nature. Those are coming soon. Puffin, if you want to set up the other categories and groups based on this starting template, probably ignoring the "singular freaky surprises" stuff, then please feel free as it would save me some time.
- The overall rule with this usage of ships in groups is that anything that is a variant of something else shouldn't be in the same group with it. This is just a design thought, not a technical restriction. Warden and Hunter fleets will wind up having all sorts of strange mixing and matching, but by keeping to this rule we will ensure that planets and waves otherwise don't have that sort of strange mixing.
- You'll also notice that for the ship group categories that are specific to certain AI types, like Turtle or Cloaking-Heavy or whatever, those also include some sub-groups that are unrelated to their type, but which will provide some... well, variety. Aka sometimes instead of being a cloaking-heavy wave, it will by an anti-structures wave. Sneaky! There's nothing worse than a predictable AI type, so having some variety in what they do, even if they are thematically heavy, is good.
- It's also worth noting how the "draw bags" work, in this context. Essentially the number after the things that are included say "how many raffle tickets do I put into the draw bag?" And depending on how many other total raffle tickets have been put in, that's how likely it is to come out.
- In order to allow for granularity in definitions, our default number of tickets to add is 100. That way we can say "only do this 1% as often as most stuff" by putting in 1 ticket instead of 100.
- But even there, the odds of it coming out are not 1%, because it depends on what else is put into the bag. And by very definition, what is put into the bag is something that is meant to be unknowable at design time, since it can be modded, and expanded in the future. So we simply use something like "100" to mean "regular frequency, whatever that is," and then the other numbers like "25" to mean "about a quarter as often as usual, whatever that is."
- It is worth noting that not putting too many types inside a single draw bag is probably good in MOST cases, because it means that players will be facing a planet or a wave that has some sort of coherency to it that they can plan around. I'd say that 3 types is a sweet spot for waves, but sometimes having many more or fewer types is okay. Variety being the spice of life, it's okay that many of the things drift off the "normal" design parameters.
- Overall we'll find some situations where people go "wow there's way too many xyz unit in this circumstance," and we'll deal with that as need be. But most of these groups are intended for things that are not strictly numbers-bound (aka more than a handful of forcefields on a planet is terrible, so using them in these groups would be a Very Bad Idea since it would lead to occasional bouts of player dismay).
- Most of the time, we are likely to wind up with something like "holy cow that one planet is a nest of sniper like I've never seen in my life," and we just kind of sit back and go "yep! That will happen, in extremely rare cases. Either deal with it or go around, but that's the fun of this." The prior system was leading to a feeling of samey-ness on all the various planets, and so this is meant to break things up more into various thematic niches, some of which are more rare than others due to being either annoying or scary or hard or whatever. But we still want those rare outliers to happen, because those are either the places where good stories happen during AARs, or where the player's eyebrows can shoot up as they go "I'm glad I don't have to go THERE." Or sometimes it's just going to be the Wave From Hell that surprises players before going away again.
- This whole thing is going to take a lot more defining and redefining over time, but it's really well set up for having lots of ship variants and strange outliers. In a lot of ways, this is intentionally pushing planets and waves a bit more in the direction of a RogueLite, where you never quite know what you're going to find. Chris was really missing some of the sense of exploration, and this is his way of trying to capture that again.
- And note that this is completely parallel to the player fleet waves and such, so the nice thing is that the AI, other factions, and players can all be thought of using completely separate structures and in completely different terms. As it should be.
- The Stealth Wormhole Sentinels have been set up as something that only show up rarely, now that scouting is going to be working differently. This is useful for making planets feel a lot more varied, and not all planets so hard to sneak your stealth ships into.
- Added a new Basic Minefield Wormhole Sentinels, possibly against our better judgement, to let a tiny minority of wormholes actually have mines around them that players can stumble into.
- Since these should only really show up once, with the AI not rebuilding them, this should be an interesting thing for the player to run into well under 1% of the time. Thanks to Puffin for suggesting this; this should provide for some interesting traps without being too frustratingly common.
- Actually jacked up the default NobodyHereWormholeSentinels draw bag count to 1000, and the StealthWormholeSentinels to 50, so that the 1 of BasicMinefieldWormholeSentinels is EVEN MORE RARE. Hopefully players run into one or zero minefields during a given campaign, thus making it more exciting.
- Of course, if someone wants to make a minefield-heavy AI type, that is straightforward to do, now.
- Additionally, there are now 5 different kinds of wormhole sentinel setups that are based around using tractor arrays and turrets, tesla turrets, gravity weapons and pike turrets, and whatever else.
- These are also in the minority in terms of how frequently they will seed, but are way more common than the minefields and should make it so that some of the wormholes are a lot more interesting to face, now.
- This gets back a bit more back to the original design of the original game, which is only possible now because of how some of the scouting changes will interact with the game here. We had had to move away from this because of tedium of automated scouting in other circumstnaces.
- There are still quite a few wormholes that won't be directly defended at all, and it's possible for us to set up way more wormhole defensive types as desired in the future; these are mostly a proof of concept.
- Note that with the sentinels at wormholes, the idea is that these will exist from the start of the game and never get upgraded or reinforced, unlike what happens at guard posts.
- All of the turrets have been sorted in general into some ship groups and categories for the various AI types to use them, now.
- Right now these are just kind of freeform jumbles, but we can easily make themed groups out of these so that some planets have some sets of turrets, while others have others. Long-term that might feel more fun.
- Also did the same work with the "non turret defenses," which are things like gravity generators and tractor arrays that are used at the AI's reinforcement points rather than as wormhole sentinels. The statement "just a jumble" for these probably doesn't apply too much, though, since that's inherent in these.
- Also did this for guard posts and dire guard posts, and these ones are also just a pure jumble for now. Like the turrets, getting slightly more thematic verstions than just the "free for all" bags that exist now probably would make sense. But isn't a priority, honestly.
- The turtle guard posts are presently just set up to be a copy of the regular guard posts, but later that can be split.
- Set up new "singular freaky surprises" that includes how golems are seeded for the Golemite now, and actually gives a very rare chance that some regular planets will sometimes have an AI golem.
- The Vanilla AI type has been renamed to "Full Ensemble," referening the fact how it is basically the most well-rounded AI type that presently exists. It has the most varied surprises up its sleeves.
- Added a new Simple Ensemble AI variant: Like the full ensemble in most respects, but minus some of the more esoteric ship variants. There's plenty going on here, but not quite so much craziness to discover as you explore.
- The Starfleet Commander AI type has been removed, as now all the AIs kind of do what it was doing before. It no longer stands out as unique.
- The Everything AI type has been removed, as it was kind of redundant now, and wouldn't have made for coherent gameplay anyhow.
- Added in a completely untested new Thief AI type that was kinda-sorta defined previously but seemed to be missing, nonetheless.
- Also added a completely untested new Zombifier AI type that uses a bunch of zombifying ships and other nasty things. It was kinda-sorta previously defined but again still seemed to be missing.
- In general there were very few AI types removed, and instead they are all just a whole heck of a lot more vibrant, and we actually added a few.
- AIs no longer have any concept of "unlock points," and they don't unlock new ship types over the course of the game.
- This was a neat concept in AI War Classic, kinda-sorta, but in a long campaign it just meant more chaos, honestly.
- The original intent was to make it so that there was a feeling of progression and the AI doing new things with new tools as you go through the game, and that is now handled far better via the ship groups instead, and the planets being more unique, etc.
- When the budget for a wave is over 3k, the AI no longer randomly gets guardians added in as a thing they can buy for the wave. Instead things are more hand-designed than that.
- Each planet belonging to an AI now seeds a single entity from SingularFreakySurprisesAIShipGroup on each of their planets at the start.
- Note that this includes a fair bit of blank space, and that if it chooses blank space that is considered A-OK. So it won't really be every planet, and the frequency is actually determined in the xml rather than the code.
- This lets things like the Golemite be set up a lot more directly, and without using tags.
- The ONE downside of this is that the frequency can no longer be based around things like what the AI difficulty level is. But frankly, that's something that makes the AIs feel less unique and not just easier; if the game is meant to be easier, the player should still be facing the unique foes of that AI nonetheless.
- As part of this, the explicit seeding code for the Golemite to seed its golems has been removed, and it now uses the new central xml-based function.
- Note that, if we want to, there's nothing stopping us from using both the old method and the new one at the same time. The new one is mainly a convenience that makes for some powerful new xml-only modding capabilities that don't need to touch C# to add cool stuff to an AI.
- required_aip_level_in_planets_worth has been removed from the MarkLevel definition, and the whole RequiredAIPLevel bit has been removed from ships in general.
- This again was to unlock things over time for the AI, but now that is so much more contextual that this makes no sense anymore.
- Planets now remember what specific ShipGroup out of a ShipGroupCategory they are using for a given faction. This is where the theming comes in for these planets.
- For the wormhole sentinels, it's actually only seeded at the start of the game, and each wormhole is unique rather than being homogeneous per planet. So those don't get remembered.
- The entire way that AIs choose their "draw bags" for how to populate a planet's guard posts, strikecraft, turrets, or whatever, has been redone; but also the same is redone for waves and CPAs and the like. It's all using the new AIShipGroups and AIShipGroupCategories.
- balance_planet_seconds_of_metal_to_claim has been removed, and is now just metal_to_claim.
- A bunch of stuff relating to Golems the way they used to be, including the entire Broken Golems faction, has been removed.
- Golems are now another form of Ark, basically, and are capturable in that fashion.
- Fixed a minor bug where the HRF Raiders were never spawning because of a typo in their tag.
- Metal harvesters are now markless, rather than being upgradeable. This solves an issue with them being funky upgrade levels on enemy planets, and in general the ability to upgrade them is something that I was iffy about in the current system anyway. It was likely to be too powerful.
- Rather than having one AIKingUnit special type, that has been split into AIKingCommandStation -- which takes planet ownerships, and is the phase 1 -- and AIKingMobile, which is not allowed to take planet ownership and is phase 2.
- There was a legitimate paradox before in that these two phases work differently and the special type rules could not work for one without breaking the other. Now we have two different types to handle the cases.
- Thanks to Puffin for finding this.
- The home forcefield generator, which has existed since the first game as a last-ditch tool that you have until you lose it, is now something that you can rebuild.
- It's also now markless and has its stats more directly set, so that you definitely never get more than one. It was kinda funky having it be mark 2 in this game from the start, and it also led you to having a cap of 2 instead of 1.
- The whole purpose of this is so that you can rebuild it if it dies, since you don't otherwise inherently have access to any forcefield generators on your home planet at all, now. You have to put a battlestation or a citadel there in order to get a forcefield beyond the first, and depending on your playstyle you might choose not to do that.
- The old quickstarts have all been moved to QuickStartsOld, since they no longer function with the new system in general.
- Because of the way Steam updates work, the QuickStarts from now on will be loaded from QuickStarts2 instead, which is presently empty and needs to be for the next little while. But at least it won't be throwing errors when players try to start quickstarts in the new build.
- A new Station-Keeping Assault Frigate has been added to the loadout of military and home command stations (2x each), and logistical command stations (1x each).
- As with the pike turrets that all the command stations now have, this gives you some more defensive options without having a fleet or a battlestation around.
- Unlike the turrets, these don't require any placement planning, since they are mobile and able to roam around and hit enemies. Seemed like this would get around a variety of frustrating situations that even having turrets would not solve.
- The warden special forces hideouts were previously always seeding 4, but now it's sometimes more based on the size of the galaxy being larger.
- The game is now able to seed multiple entities on certain planets if we so desire, during mapgen.
- As the sole use of this so far, we're now seeding two battlestations/citadels on any planets that have those, to make those a lot more attractive as targets and also thus provide more firepower for defensive purposes for players without them having to capture QUITE so many planets for each of these that they get.
- Did a fair bit of rework on some of the mapgen logic where it is trying to seed things close to the player homeworlds.
- A while back we had some problems where things were frequently seeding too close, so we put in code to counter that. That was in turn preventing us from intentionally putting stuff there more recently.
- Now there's a healthy balance between us being able to do that while still avoiding the old bug, and in general things seem to be working well.
- There was some other funkiness with it being really unlikely to seed certain things very near to you.
- That has been fixed, to start with, but then beyond that it also now tries to seed half the flagships and battlestations kind of in the middle-distance for you on the map.
- In general this now gives you way more options for middle-game goals for making yourself stronger.
- The way that the "too many fleets on a planet" code works has been reworked a fair bit, but not tested:
- It now looks at all the human ships that are part of a mobile (flagship) fleet or a battlestation/citadel fleet. Before it was just looking at the fleet centerpieces, meaning you could have your centerpiece hide on an adjacent planet and send its ships in and the AI wouldn't notice.
- It also now only looks at the ships that are actually on the planet, and not the total strength of the fleet. The strength must be at least 2 in order for it to care at all about it for these purposes. If you send in 10 fleets of strength 1 -- or a slice of them that is strength 1 -- then it won't care.
- This latter thing will probably encourage all sorts of bad behavior, but we'll figure that out in the future. For now it should feel more natural in general, but it will likely need further iterating.
- In the tooltips, you can now see how many ships and what strength is contained inside a guard post, as you used to be pre-fleets. HOWEVER, you can also now see exactly how many of each type of ship is inside there, to see what mix the AI is using at that planet without having to go aggro a guard post.
- Fixed that issue with the fullscreen resolution not being settable in recent internal builds.
- Note that there is still some issue that may make you need to alt-f4 the program after changing between fullscreen resolutions or fullscreen to not-fullscreen, but it then shows up properly after that. I expect an upgrade to the unity engine, due in the next month or so, will probably fix that one part. And that one part probably isn't new. But the new part that was broken is now fixed.
- Added back a new Hackers EntityRollupType that just gives command stations and mobile fleet flagships, since those do the hacking. It's a more efficient way to loop over potential hackers.
- Fixed a bug that was causing blank-ish notifications to appear at the top of the screen in internal builds for every mobile fleet flagship and command station you control, because they might be working on a hack but likely were not.
- The Battlestation special entity type has been split into two: BattlestationBasic and BattlestationCitadel.
- The MobileFleetFlagships special entity type has been split into three: MobileCombatFleetFlagship, MobileSupportFleetFlagship, and MobileLoneWolfFleetFlagship.
- The third in this category is for the things that don't have a fleet with them, namely right now the spire frigates.
- The seeding for battlestations and mobile fleet flagships has been updated, as you might guess.
- The existing logic for mobile fleet flagships now applies to MobileCombatFleetFlagships, and MobileSupportFleetFlagships still also work the same.
- The existing logic for battlestations now applies to BattlestationBasic.
- MobileLoneWolfFleetFlagship is now seeded "kinda wherever" and is both rarer but also no longer counts against the normal combat fleet flagships.
- BattlestationCitadel is following the general pattern of the basic battlestations, but with the following differences:
- It only ever seeds one on a planet, not two at a time.
- It seeds one within 2 hops of a player starting planet if possible.
- It then seeds a smaller number of citadels out in the galaxy, mixed between the middle-distance and far out. These are in addition to the basic battlestations, not in place of them.
- With all this, there's a better sense of control of what exactly the player can look forward to out there, but also in general there are yet more capturables out there, and they can continue to be balanced in their niches: we can add more lone wolf stuff without swamping the main mobile flagships, and we can add more citadels or regular battlestations without affecting their relative mixes.
- The way that fleets are named has been improved a bit, so that they are more consistent and interesting and descriptive now.
- This only affects new savegames.
- Added a whole bunch of ways to calculate the strength and health percentages of fleets based on their type, which is more complicated than you might think.
- For command station fleets, or the battlestation ones, it's based around the total power out of what you've DECIDED to build (and what has died to remains or is hurt or whatever).
- For drones and mobile fleets, it's out of the total things that would be auto-built, since you get no decision-making in whether to fully stock those fleets or not (aside from keeping them away from docks).
- This is surprisingly complex when it comes to things like the ships being transported in fleets, or undeployed drones, etc, etc.
- The docks tab is gone, and a new fleets tab has taken its place.
- The fleets tab has a bunch of sections which show first your fleets at the current planet, and then all of your fleets in the entire galaxy, by category, after that.
- The categories, in order, are:
- Current Planet
- A quick view of all your fleets at the current planet.
- Mobile Combat
- The most versatile of your fighting forces: generally intended for offense, but quite able to come and defend your own planets as need be.
- Mobile Support
- Unusual supporting fleets that are able to either act as a force multiplier for your offensive or defensive fleets, provide remote supply on deep strikes, or perform surprising other secondary duties.
- Lone
- Unusual single 'lone wolf' massive ships that forego having attending ships in exchange for a simply awe-inspiring amount of direct power. Use them offensively or defensively, as you see fit.
- Battlestations
- General battlestations that are useful for either defending your planets or for setting up offensive beachheads on enemy planets.
- Citadels
- Citadels that are much stronger versions of your general battlestations, packing a huge punch in their own right as well as providing access to defenses for your planets or for offensive beachheads on enemy planets.
- Planet Cmd Stations
- Each command station you have on a planet has a small force of mostly basic, utility, or economic nature. However, if you've made purchases from the Zenith Trader or found other unique capturables throughout the galaxy, you might have some fixed-position weapons of surprising power here, too.
- Current Planet
- For the time being, the tooltips over the actual fleets just shows the tooltip for their centerpiece. This won't always be the case; they'll later have their own unique tooltips that are more informative.
- For the time being as well, clicking these does nothing but show you a message saying that the fleet management interface is coming soon.
- The individual fleet entries show the name of the fleets, their health percentage, their total ships out of their EFFECTIVE ship cap (for the stationary things, that's out of what you've deployed), their planet name, and their total effective strength if they were fully powered at the level that is chosen for them.
- A new destroys_self_until_not_over_ship_cap_if_planetary_command xml tag has been added.
- This is used only in a really narrow set of circumstances: it was a planet that a human player controlled with one kind of command station, and they now have a different kind of command station there.
- Basically, different types of command stations give you different numbers of engineers, basic turrets, energy collectors, etc. This prevents you from having too many left over after you switch from a military to an economic command station, for instance; there were all sorts of games you could play with that to exploit things.
- What this does NOT do is destroy units after your command station has died on a planet; in those circumstances, whatever is there continues to live on until you build a new command station. Presuming you rebuild as the same type, nothing gets destroyed.
- This flag is also explicitly NOT on certain units like the human home forcefields and the various things you get from the Zenith Trader. They will frequently be over-cap (since their command station type doesn't always include it but you might have bought it separately), and so these are always assumed to be valid.
- Confusing? Basically this just shuts down an exploit and doesn't affect much else.