Fractal Softworks Forum

Please login or register.

Login with username, password and session length
Pages: [1] 2

Author Topic: Campaign layer AI Improvements  (Read 3264 times)

Johnny Cocas

  • Commander
  • ***
  • Posts: 172
  • Murder Wedges!!
    • View Profile
Campaign layer AI Improvements
« on: March 23, 2020, 04:29:41 AM »

After a discussion in the discord server regarding "kill target" missions in RPGs and how something similar could be implemented in Starsector we got to a conclusion:
- Killing an enemy admiral and stopping his/her fleet from spawning back further contributes to the snowball effect the game suffers in the late game right now... So how to improve it?

One of the ideas was to make the AI factions more aggressive towards the player. If the player starts attacking a massive faction such as the Hegemony or Tri-Tach and has a colony somewhere, the enemy should gather up a "screw you" fleet lead by an admiral and remove that colony from the map, or take it for themselves, instead of staying passive and engaging the player only if they stumble on it or when defending their own colonies.
If the player starts attacking the trading fleets of some faction (or even their main combat fleets) I expect the enemy to send out scouting fleets actively looking for the player and call in for reinforcements to engage and strike back, or at least gather a fleet of hundreds of ships and raid the player's bases...

The AI feels too passive to threats and as such some features like the "taking down an enemy admiral to reduce the number of fleets the enemy can command" have no impact and only further contribute to the player snowballing the game as the game progresses. It shouldn't be possible for a single player to destroy one of the main factions of the game without having to slowly wear down the supply lines and mess with the chain of command of a faction, just as a faction 10 times the size of the player shouldn't just sit around and do nothing as they see their fleets slowly be destroyed.

Let's take Mount and Blade as an example.... You take an enemy castle, and gather up some men for a garrison. The castle was being guarded by 200 men and you managed to beat them with an army of 300, not bad... The issue is at some point (and often quite quickly) the enemy marshall with gather the armies of all vassals and try to retake the castle, and when they do, their combined armies will often be upwards of 1.5k men... The same does not really happen in Starsector, your actions only make you stronger and there's no risk other than what you are during that exact moment... You know that when you are trying to take an enemy colony the enemy defence fleets will engage you but after that... You have a new colony and a new source of income, but by doing so you are also crippling the enemy faction and they don't do much to stop you... They should be sending to your location the best fleets they have and try to retake the lost colony (or even destroy your own) while that colony is still undefended as the player had little time to gather up a defence fleet to defend the new colony.

I guess the suggestion would be an improved campaign AI that messes with the fleets allowing for coordinated attacks/defences, one that is more aggressive and responds to both the player's actions and the other AI factions' as well. It could improve the late game experience of the game and while it could make it harder for the player to start its own faction it would make maintaining one harder as well, especially at the start.
It would also open up the path to new mechanics such as disrupting the enemy supply lines and eliminating high profile targets as viable options to temporarily cripple the enemy and give you a breathing room to take your own actions.


What do you guys think?
Logged

Megas

  • Admiral
  • *****
  • Posts: 12159
    • View Profile
Re: Campaign layer AI Improvements
« Reply #1 on: March 23, 2020, 07:48:35 AM »

Most important thing major factions should do is defend themselves from pirate raids.  I do not want core worlds to decivilize after ten to twenty years because I did not stop what I want to do and go out of my way to kill a pirate base that is attacking core worlds repeatedly.

Next, major factions should stop sending their fleets at my colonies if I can easily crush them.  They treat my colonies as a bigger enemy than all of their other enemies combined.  All I do is make a few more space bucks or have Free Port, and I already have high relations.  In case of Hegemony and the Church, they should launch war fleets at all of the Indie, Pirate, and Tri-Tachyon free ports in core.  If I want Free Port for increased growth, expeditions become too frequent, and then I want to sat bomb all of the major factions to make them stop.  Those factions should think twice before attacking my colonies if they are stronger than all of them combined.  If they want to attack, it should be a major event, like more than one putting their difference aside, declaring war at my faction, then wage a proper campaign.  It should not be a trickle of fleets just to fill an artificial combat quota.

Also, the size of their defense fleets and expeditions need to be reversed.  It is easier to overpower the defenses of their capital worlds before I wipe them off the map with several sat bombs than it is to intercept three endgame expedition fleets and take them out without my battlestation to help.  Their weaker planetary defenses means zombie pirate fleets successfully raid their worlds consistently.

The only reason I do not sat bomb all of core worlds after I tire of core worlds bullying my colonies is the pirate threat becomes insane later, if I am enemies with pirates.  For the next game, I should be friends with pirates to stop their raids against my colonies and eliminate all babysitting annoyances after core is destroyed.

Quote
One of the ideas was to make the AI factions more aggressive towards the player.
They are more aggressive against the player than against their other enemies, especially against pirates that threaten to destroy them if I do not intervene to stop pirate raids.  Pathers too if they were not bugged.  Before the majors get more aggressive against my faction, which I have friendly or cooperative relations with, they should send some of their expeditions to attack pirates or other enemy major factions.  Currently, the major factions dig their own graves by foolishly bullying a dragon (my faction).
Logged

Alex

  • Administrator
  • Admiral
  • *****
  • Posts: 24125
    • View Profile
Re: Campaign layer AI Improvements
« Reply #2 on: March 23, 2020, 09:19:49 AM »

- Killing an enemy admiral and stopping his/her fleet from spawning back further contributes to the snowball effect the game suffers in the late game right now... So how to improve it?

I just want to make sure it's clear that this is not a vanilla feature :)
Logged

Johnny Cocas

  • Commander
  • ***
  • Posts: 172
  • Murder Wedges!!
    • View Profile
Re: Campaign layer AI Improvements
« Reply #3 on: March 23, 2020, 11:21:53 AM »

- Killing an enemy admiral and stopping his/her fleet from spawning back further contributes to the snowball effect the game suffers in the late game right now... So how to improve it?

I just want to make sure it's clear that this is not a vanilla feature :)

That is not in Vanilla, we know, but we were discusssing it as a possible addition to the game (related to questing and such), but also stating it as something that can't be implemented right now because of how the game works, and how it fails to even become hard for the player as it is, let alone with more tools to further cripple the AI :P Thus this campaign AI suggestion to make it more aggressive in both defending and attacking the player and the AI factions
Logged

Mondaymonkey

  • Admiral
  • *****
  • Posts: 777
    • View Profile
Re: Campaign layer AI Improvements
« Reply #4 on: March 23, 2020, 11:30:43 AM »

Alternative suggestion - "vengeance" multiplier, applied to a faction fleet, ground defense and raid strength.  The more markets faction loose - the higher those values up to a x20 if they have a last planet.

Less good as OP said, 98% easier to implement.
Logged
I dislike human beings... or I just do not know how to cook them well.

Alex

  • Administrator
  • Admiral
  • *****
  • Posts: 24125
    • View Profile
Re: Campaign layer AI Improvements
« Reply #5 on: March 23, 2020, 12:30:07 PM »

That is not in Vanilla, we know, but we were discusssing it as a possible addition to the game (related to questing and such), but also stating it as something that can't be implemented right now because of how the game works, and how it fails to even become hard for the player as it is, let alone with more tools to further cripple the AI :P Thus this campaign AI suggestion to make it more aggressive in both defending and attacking the player and the AI factions

That's fair! I was just a bit thrown off since to me the suggestion reads as one for improving something (the "faction campaign AI", more or less) that doesn't exist, so I wasn't sure if there was possibly some confusion.

As far as the suggestion, I can't say too much either way. I think it makes more sense in the case of Nex, which very much goes in a 4x direction. The endgame for Starsector more than likely won't do the same, though, and there are other ways to ramp up the challenge. Still, yeah, the sort of thing you're suggesting is an option, it just fits in more readily when there are other 4x elements.
Logged

MesoTroniK

  • Admiral
  • *****
  • Posts: 1731
  • I am going to destroy your ships
    • View Profile
Re: Campaign layer AI Improvements
« Reply #6 on: March 23, 2020, 08:44:17 PM »

At the least, I have two main suggestions to fix what I see are some fairly serious design and gameflow / difficulty issues in the current version of SS. Progress bars, use them on things! And a system defense fleet AI manager rig! Now time to explain what I mean by these.

So right now, one can go around survey, salvage, saturation bomb, and raid places with nearly basically reckless abandon. This trivializes Remnant systems as long as your fleet is faster than theirs. And also trivializes attacking factions (once the battlestation is destroyed). As I see things, any such actions, should kick the player back into the campaign map for a moment once started and start ticking down a progress bar giving a chance for enemy fleets to intercept the player and prevent them from doing the action! And this ties into the next point which is a much larger scope suggestion but would do so much for the game.

When I say "system defense fleet AI manager" what I mean is basically coordinated defenses and patrols. So right now we got the hidden mechanic of the more patrol fleets you destroy, the faster they spawn. This is all well and good but in the end doesn't really mean much due to how the AI works combined with the usually fairly small size of such fleets.

I propose that instead defense fleets work more like this in terms of behavior:
- A fleet with its transponder off is detected (could be NPC or player) *right away* divert a single defense fleet (closest one) to intercept it regardless of where it is in the system. Also only do this if the faction cares about transponder usage heh.
   - If the unidentified fleet gets into combat with the defense fleet? *Right away* it calls for backup, and other military fleets in system divert to the location and attempt to join the battle. This would not care about transponder laws for the faction.
   - It scales the number and size of these fleets to the relative threat factor so it doesn't end up a gank fest and unfair to players. So it would always send enough to be roughly equal power ± randomized a bit, with a hidden scalar mechanic for the player only where if he keeps messing with the faction it will skew the called reinforcements to be stronger than the player fleet assuming there is enough assets in-system to do so.
- Of course, if the hostile fleet has its transponder on, it skips the "patrol car pull over" step and goes right away to allocating defense fleets to intercept them.
- If the fleet does actions that are especially heinous. Like raiding, killing many fleets, and *especially* saturation bombing? It will start pulling defense fleets not only from within system, but also nearby ones in hyperspace and or other star systems if they are reasonably close. And also skew the number of and strength of intercept fleets in favor of them regardless of earlier rules.

Basically, right now factions don't really do anything about the player (and hostile NPCs). One can just raid over and over until a colony is decivilized and nothing happens as the factions pretends nothing is happening! Where instead they should go, wait there is an unidentified fleet at X location, lets go check it out. Or there is a genocidal maniac at Y location with enough firepower to glass Jangala, dogpile and hit him with everything we got before he uses it!

The idea of the progress meters for significant campaign actions as initially stated, along with actually intelligent defense fleets? Would be really cool, making more "sense" and believable actions, and help to fix the inverse difficulty curve issue. I also feel this would fit within Alex's vision, while I was tempted to blab about believable offensive actions as well as defensive. As Alex said, that might not fit within the eventual scope of SS while I feel intelligent defensive actions would go right in regardless of what the final state of the campaign ends up as :)

Edit: Typos...
« Last Edit: March 23, 2020, 08:48:53 PM by MesoTroniK »
Logged

Avanitia

  • Commander
  • ***
  • Posts: 123
  • Local Egg Demon
    • View Profile
Re: Campaign layer AI Improvements
« Reply #7 on: March 23, 2020, 08:57:12 PM »

- A fleet with its transponder off is detected (could be NPC or player) *right away* divert a single defense fleet (closest one) to intercept it regardless of where it is in the system. Also only do this if the faction cares about transponder usage heh.
- Of course, if the hostile fleet has its transponder on, it skips the "patrol car pull over" step and goes right away to allocating defense fleets to intercept them.

I can see one edge case - what if there's more than one faction in the system?
Let's say Hegemony and Tri-Tach are in a system (Valhalla-Ragnar in vanilla game), I'm hostile to one of them. What will happen? Will I get annoyed by some small patrol because I show up there to resupply at friendly market or do something else that doesn't involve making ships and other things explode? Will they ignore me, but stay in sensor range till I start performing more hostile actions?

So right now, one can go around survey, salvage, saturation bomb, and raid places with nearly basically reckless abandon. This trivializes Remnant systems as long as your fleet is faster than theirs. And also trivializes attacking factions (once the battlestation is destroyed). As I see things, any such actions, should kick the player back into the campaign map for a moment once started and start ticking down a progress bar giving a chance for enemy fleets to intercept the player and prevent them from doing the action!

I feel like both surveying and salvaging would get way more tedious because of that, especially if you're trying to salvage debris field that spawns after battle / salvaging research station or other salvageable object.

Instead of:
Go to object -> survey/salvage -> salvage debris field (optional) -> go on your merry way
It becomes:
Go to object ->  survey/salvage -> wait till meter fills itself -> salvage debris field (optional) -> wait again -> go on your merry way

If there's one or two objects it's not that much of an issue (could limit it to really special / unique objects!), but gets really annoying if you're doing serious exploring - systems often have multiple salvageable objects, it would suck the fun out of it really quickly, I feel.

Edit: Fixed the post
« Last Edit: March 23, 2020, 09:06:21 PM by Avanitia »
Logged
You haven't played Starsector unless your storage has one thousand Vulcans in it.

MesoTroniK

  • Admiral
  • *****
  • Posts: 1731
  • I am going to destroy your ships
    • View Profile
Re: Campaign layer AI Improvements
« Reply #8 on: March 23, 2020, 08:59:56 PM »

Those are solid points, but at the same time the fact that NPCs basically ignore the player and other hostiles are serious issues that I feel looking into somehow is worth some serious consideration. And even if that is fixed, without wait times? It won't mean much.

Alex

  • Administrator
  • Admiral
  • *****
  • Posts: 24125
    • View Profile
Re: Campaign layer AI Improvements
« Reply #9 on: March 23, 2020, 09:18:21 PM »

I get the benefits of progress meters, yeah. For me they're an absolute no-go because 1) tedium and 2) the code gets more complicated (since everything that uses this now has to handle failure states and re-interacting with the entity when done), which in practical terms means there would be fewer interactive things in the game, and more bugs. (This isn't theoretical, btw; if you'll recall the original comm relay sniffer installation did this. The benefits were good, but imo just not worth the downsides.)

"You can't do X when a hostile fleet is nearby" - along with cooldowns on repeatable actions such as raids - are essentially a replacement for progress bars, though of course not identical. But it's more manageable. This still leaves room for more intelligent fleet behavior, though.

Actually, this reminds me - in the next release, raiding or bombarding a colony will cause in-system patrols to converge on the location, so repeat-raiding something into the ground should be more complicated. Not a full solution, by any means, but it's a step in the right direction.
Logged

MesoTroniK

  • Admiral
  • *****
  • Posts: 1731
  • I am going to destroy your ships
    • View Profile
Re: Campaign layer AI Improvements
« Reply #10 on: March 23, 2020, 09:21:43 PM »

That is indeed a step in the right direction! But still doesn't attempt to stop the player (and other NPCs) from doing the thing *before* they do it :(

Any thoughts on the other points maybe being considered though? Actually intelligent defense fleets blah blah ramble, you did say it left room for it heh.

Alex

  • Administrator
  • Admiral
  • *****
  • Posts: 24125
    • View Profile
Re: Campaign layer AI Improvements
« Reply #11 on: March 23, 2020, 09:29:10 PM »

Hmm, maybe? I feel like in the context of what's in vanilla right now it's not essential, but it might make sense to look at depending on how a few things shape up. In the context of Nex, it's another story - but then, Nex could do this, so in a sense this is almost more of a suggestion for Nex, as things stand right now.
Logged

Wyvern

  • Admiral
  • *****
  • Posts: 3803
    • View Profile
Re: Campaign layer AI Improvements
« Reply #12 on: March 23, 2020, 09:41:46 PM »

I mean, it's obviously not essential, because the game is fun to play as-is.  But the problems mentioned are vanilla issues, not Nexerelin issues - in fact, Nexerelin has gone out of its way to address some of these issues in other ways (like making multiple back-to-back raids not give out blueprints, for one example.)
Logged
Wyvern is 100% correct about the math.

Avanitia

  • Commander
  • ***
  • Posts: 123
  • Local Egg Demon
    • View Profile
Re: Campaign layer AI Improvements
« Reply #13 on: March 23, 2020, 09:53:49 PM »

Hmm, maybe? I feel like in the context of what's in vanilla right now it's not essential, but it might make sense to look at depending on how a few things shape up. In the context of Nex, it's another story - but then, Nex could do this, so in a sense this is almost more of a suggestion for Nex, as things stand right now.

As it is now, I can go to any vanilla market, defeat its Orbital Station/Battlestation/Star Fortress, nuke it to hell, go to same faction's market (even in same system!), open comms, give them enough cores to turn them non-hostile and pretend I totally didn't bomb entire planet.
There are no consequences either - reputation with factions can be regained with AI Cores or through bounties.

I could still do this even if system mentioned by MesoTroniK was implemented, but it would be harder - and I'd actually have some kind of consequence for bombing a planet, which would be getting attacked by fleets trying to throw me out of an airlock into a black hole  :D
Logged
You haven't played Starsector unless your storage has one thousand Vulcans in it.

Alex

  • Administrator
  • Admiral
  • *****
  • Posts: 24125
    • View Profile
Re: Campaign layer AI Improvements
« Reply #14 on: March 23, 2020, 09:58:23 PM »

I mean, it's obviously not essential, because the game is fun to play as-is.  But the problems mentioned are vanilla issues, not Nexerelin issues - in fact, Nexerelin has gone out of its way to address some of these issues in other ways (like making multiple back-to-back raids not give out blueprints, for one example.)

What I mean is that the more you lean in a 4x direction, the more this is magnified. The whole concept of "when you establish a faction, other factions will be your primary antagonist" isn't even necessarily a thing, but it feels like an important assumption here, doesn't it?

Not to say that this stuff is a bad idea - in fact, I'd say I generally agree with a lot of it. It just has a very different priority to me and I want to other endgame things take concrete shape before deciding what, if anything, needs to happen here.


As it is now, I can go to any vanilla market, defeat its Orbital Station/Battlestation/Star Fortress, nuke it to hell, go to same faction's market (even in same system!), open comms, give them enough cores to turn them non-hostile and pretend I totally didn't bomb entire planet.
There are no consequences either - reputation with factions can be regained with AI Cores or through bounties.

I could still do this even if system mentioned by MesoTroniK was implemented, but it would be harder - and I'd actually have some kind of consequence for bombing a planet, which would be getting attacked by fleets trying to throw me out of an airlock into a black hole  :D

This is not really an issue with these mechanics - but more the game not registering this as a meaningful event that maybe can't be wiped away. Like, "doing X is harder" doesn't really factor into "the consequences of X can be negated too easily".


(Edit: I just want to emphasize that I think there are a lot of good ideas here, so hopefully what I've said doesn't come across as too negative! It's more in the vein of justification for why I think other stuff should take priority now.)
« Last Edit: March 23, 2020, 10:09:06 PM by Alex »
Logged
Pages: [1] 2