Fractal Softworks Forum

Starsector => Suggestions => Topic started by: intrinsic_parity on February 12, 2020, 11:59:58 AM

Title: Localized relationships
Post by: intrinsic_parity on February 12, 2020, 11:59:58 AM
I saw a thread where Alex said he was working on more personal interactions in the game, and it reminded me of this idea I've been thinking about for a while. I think I suggested it a while ago but in an overly complicated way.

What if the attitude of patrols in a system was a based on your relationship to the local commander of the military station rather than the faction as a whole. Then the faction commanders relationship would be based on both the overall faction relationship and the personal interactions the the player has with the commander. This would create more nuanced situations where the player could be hostile to a faction but have one or two safe ports in their systems, or get into a fight with a patrol and only become hostile with the local systems (and maybe inhospitable with the faction over all). It would also be nice if doing missions for a local commander gave you some bonuses in that system (maybe leniency for transponder stuff, or better trade deals or military tech access etc.). I think it would add a lot more nuance and interesting interactions to the game

The main issue is how to display it to the player but I think that can be done clearly within the existing UI. Just add another map overlay that colors the area around a system based on the players local relationship in that system. Green for friendly, red for hostile, grey for neutral and yellow for mixed (different factions in the same system). You could also do striped patterns to represent mixed systems. Then if the player went to the system map, each planet could be colored as well.
Title: Re: Localized relationships
Post by: Cyber Von Cyberus on February 12, 2020, 12:40:08 PM
I really like the idea, we would however need a bunch of new missions to be added in order for this to work.
Title: Re: Localized relationships
Post by: Morbo513 on February 12, 2020, 12:50:05 PM
I like it, especially with respects to the Independents and Pirates. Different factions could have different weights to personal vs. faction-wide relations too.
Title: Re: Localized relationships
Post by: Alex on February 12, 2020, 12:54:20 PM
It's something I've been half-thinking about, in the same context. Definitely no promises; there's a major piece of this that I'd like to see in action before deciding whether it "works" and/or is worth expanding on.

The UI stuff is indeed a major concern; this really goes hand-in-hand with the increased nuance - or, one might say, complexity. I guess it's the "if you're selling, it's a violin, if you're buying, it's a fiddle" thing :)

I wonder if it could work if you were nominally hostile - i.e. same as now - but the patrols just didn't hassle you if the patrol commander or the local military commander were friendly. That wouldn't capture the "you're only *hostile* locally" case, which is more involved, though - it's more important to be warned of unexpected hostility via the UI than it is of unexpected non-hostility.
Title: Re: Localized relationships
Post by: bobucles on February 12, 2020, 02:31:56 PM
It's probably too much hassle to deal with precise thresholds when considering every possible person you might meet. But it may be nice to have friendship affect dice rolls during events.

For example when you get caught smuggling, you roll against the patrolling officer's friendship level. Results might look like:
- extremely high score: Your best pal didn't see nothing, even when he saw something.
- High score: Low effort scan, willing to let a pal go, in a rush, lets you off with a warning or gives reduced penalties.
- Mid score: Defaults
- Low score: More effort in the scan, having a bad day, gotta meet quotas, more severe rep punishments and such.
- Very low score: Out to ruin your day, your week and your life. Extra thorough scans, marks stuff that isn't even contraband, and fines you for a parking violation to boot. Notorious for being That Guy.

Optional Story point: Bribe the officer. Maybe some space heroin will cheer him up! Nice way to avoid the negative effects, or maybe give a boost to an extremely mad officer.
Title: Re: Localized relationships
Post by: Aereto on May 10, 2020, 12:00:04 AM
I gave it a good amount of thought about this suggestion. Localized Relationships would help me answer the question of why I see independent smugglers flying into colonies with their transponders off and the patrols aren't tagging them.

And also, I have taken note of having personal relation gauges that seem to be left unused, especially when any gains on that bar after helping a fleet in distress or a station quartermaster have no impact and just disappears after leaving. Even turning in AI cores increases personal relations, so how it could be used is something to think over. That personal rep gauge could be used to represent localized system reputation based on which faction the player's actions are supporting.

It's something I've been half-thinking about, in the same context. Definitely no promises; there's a major piece of this that I'd like to see in action before deciding whether it "works" and/or is worth expanding on.

The UI stuff is indeed a major concern; this really goes hand-in-hand with the increased nuance - or, one might say, complexity. I guess it's the "if you're selling, it's a violin, if you're buying, it's a fiddle" thing :)

I wonder if it could work if you were nominally hostile - i.e. same as now - but the patrols just didn't hassle you if the patrol commander or the local military commander were friendly. That wouldn't capture the "you're only *hostile* locally" case, which is more involved, though - it's more important to be warned of unexpected hostility via the UI than it is of unexpected non-hostility.

UI nuances, I could just suggest using the sector chart and coloring the colonized star system names based on the highest local faction relationship's color. The tooltip shows the star system detail, so could just add another section showing the faction the player has the highest local reputation. Instead of the -100/100 scale, it is 0/100, starting at 0 as neutral to 100 as cooperative or famous. As for the detailed local relationships, it would be better done in the star system info page, as a system rep tab to show each faction relation. Only factions (except Pirates) with a permanent location can accumulate local reputation. For practical reasons and easy on the dev work to be done, the local factions in the system will only recognize the player's highest local faction rep, so being a local hero has it perks of getting away with smuggling or quietly raiding, since authorities may dismiss those activities as slanderous rumors. It does have a drawback if there are factions that are hostile to each other and have locations in the same system. Unless the player is a local hero to Independents or other non-hostile faction, it can give the opposing faction any reason to treat the player like a Pirate.

This also discourages frequently getting caught using the black market in the same system (Especially Naraka and the frequently cheap fuel prices), or stealthily raiding planets too frequently to the point the local patrols should be scanning for the one fleet that keeps blowing up their station and taking their goods. These actions would raise local reputation with Pirates, but not increase the faction reputation with Pirates, and being more Pirate-aligned means Pirate fleets are more likely to ignore you during their raid by talking to the comms (and chance of recognizing your local notoriety) while lawful patrols are more likely to scan more thoroughly and find contraband or suspicious cargo despite shielded cargo holds, or just outright engage if Pirate alignment is too high for being a serious local threat like actively attacking ships and ports.

Hunting pirate fleets in a faction-dominant system will raise local reputation to the faction owning the system, while helping a fleet under attack and succeeding raises local rep of the fleet's faction IF the faction has a colony or station in that system. If the local faction is high enough, local patrols are more likely to look the other way and pretend your illegal and suspicious cargo are just regular cargo and left be without reporting or destroying them, and takes more to raise black market suspicion for faction reputation hits, or reduce rep loss if said cargo is tagged. In a Pirate activity/raid event, reputation changes are greater to reflect increased attention to the star system.

To balance that out, the local relations can degrade over time on a per month basis. That way, the player fleet can stay away until the heat dies down before making another heavy dose of shady business.

This suggestion may be a few months old, but this thread has been nagging at my mind and should help by giving a more detailed concept I can suggest.

As an off topic side note, I tried out some mods and noted that people in comms become persistent, so the personal rep stays. That alone gave me ideas. I may have some understanding of Java, but it may not be enough for me to make a mod and demonstrate the concept personally (and call it Local Legends for a touch of humor).
Title: Re: Localized relationships
Post by: Goumindong on May 10, 2020, 01:38:28 AM
It's something I've been half-thinking about, in the same context. Definitely no promises; there's a major piece of this that I'd like to see in action before deciding whether it "works" and/or is worth expanding on.

The UI stuff is indeed a major concern; this really goes hand-in-hand with the increased nuance - or, one might say, complexity. I guess it's the "if you're selling, it's a violin, if you're buying, it's a fiddle" thing :)

I wonder if it could work if you were nominally hostile - i.e. same as now - but the patrols just didn't hassle you if the patrol commander or the local military commander were friendly. That wouldn't capture the "you're only *hostile* locally" case, which is more involved, though - it's more important to be warned of unexpected hostility via the UI than it is of unexpected non-hostility.

One way to make this easier might be by untethering local relationship with "hostilities" and/or untethering relationship with reputation.

Lets examine two options:

1) Faction and Local Relationships. You have a relationship with every locality, which means every faction in each system.


The pros of this are that you can, with more granularity, control how you're treated in different areas. You can implement bribes and the like. The con is that recording this is not terribly easy. Though it might not need to be since the impacts are relatively low especially now that you have a system that lets a locality like you less without causing outright hostility.

*minimum value for trade? Main thing here is that you won't get surprised by going to a place that doesn't like you all of the sudden getting you stopped, scanned and then pushing your faction rep into "no trade" or "combat" mode.

2) Faction Relationships and Global Reputation

Faction Relationships work as they are now and instead of a local relationship you have a global reputation. Reputation is a score on a number of different criteria related to actions you take. Are you violent? Do you pay bribes? Do you trade on the black market? etc etc. Every time you do something it has an effect on this reputation, which tends towards centered as your fleet changes and time goes on.

The advantage here is that because its global its very easy to display. You just add another tab with your your 8 or whatever reputation axes and you can track all the changes via this.

Axes could be

Advantages here is that you can produce very nuanced interactions across various situations. The difficulty here is producing all the content that makes those reputations matter and not having weird interactions.

Edit:

As an example by reputation you can make independent places feel more independent by having a reputation (independence vs aligned)  handle interactions over a relationship.
Title: Re: Localized relationships
Post by: Serenitis on May 11, 2020, 05:14:14 AM
There's a question that I've been toying with for a while, but never really seen the need to ask, but might be relevant to this:
Could sub-factions be a thing?

As in, could you set up a faction and have that be composed of a number of smaller factions, all sharing the same attributes as the primary.
But have the option for each sub-faction to "override" a primary thing, for example a slightly different fleet composition, or a different name list, or a different relationship to another entity etc.
Title: Re: Localized relationships
Post by: Goumindong on May 11, 2020, 10:53:59 AM
Well so long as theyre slaved to the main factions reputation that much is fairly easy. Its just a nee fleet type. Trading fleets dont have the same composition as combat fleets afterall.
Title: Re: Localized relationships
Post by: SafariJohn on May 11, 2020, 11:38:53 AM
I think doing discrete reputation by system is not a bad idea, but I believe a wider set of mechanics would be more effective and easier to display in the UI. In fact, I have suggested more detailed faction relationships through major NPCs (i.e. subfactions) :

When something happens in the Sector, odds are a major NPC is involved. The Hegemony doesn't simply besiege a planet - Space Marshal Baikul Daud orders the planet besieged. Given major NPCs' importance in their faction, I think the natural place for their intel is on the factions screen:

Spoiler
(https://i.imgur.com/kEtHuKk.png)
[close]

A faction's major NPCs would only be shown when the faction is selected (or one of the NPCs, of course). An NPC's information should at least include their full name and title (e.g. "Diktat Executor Philip Andrada"), their full-size portrait, the player's reputation with them, a description/history/summary, and any personal allies or enemies they have. It is these personal allies and enemies that provide the nuance we desire.

Take the TT-Heg hostilities. Say they are Suspicious with each other instead of Hostile. Say Space Marshal Daud has fleets (with a distinguishing prefix) that are influenced by his relations. Say Daud is enemies with a TT NPC that also has loyal fleets (perhaps Kader from Forlorn Hope, who probably escaped disgrace and has climbed the ranks despite being part of the "head-on attack" crowd). Does it not make sense those two sets of fleets would attack each other?

...

I like Alex's fixed pirate rep idea; a big "HOSTILE" in place of the usual faction's reputation bar would be fun. Warlords and other crime boss major NPCs would allow some pirates to be part of subfactions the player could make peace with (for a time at least). It might also make it possible for pirates to fight each other without it being incomprehensible ("X Gang Raider" vs "Y Gang Raider" instead of two "Pirate Raiders").
Title: Re: Localized relationships
Post by: SCC on May 11, 2020, 12:12:28 PM
Spoiler
(https://i.imgur.com/UhIDAgZ.png)
[close]
There's some empty space at the top. There could be a bar there, telling the player what system they are in and how the factions are treating you, is it different from regular or not, if a given faction demands transponders or not, which one is the system owner and other useful stuff.
In the crude mock up I made, Persean League is cooperative (square shake hands) and the owner of the system (the flag). Tri-Tachyon is friendly (thumbs up) and requires transponders on (transponder icon) (I don't recall if it's true, but it serves my example), but its behaviour is the same as elsewhere (grey stripes and dim colours). Pirates are inhospitable (lightning icon). Dotted icons indicate treatment different from faction regular.
I assumed that all colonies in a given system owned by a given faction treat you the same for the sake of brevity. You could do this for particular colonies, but there's no way to discern patrols from one colony from other patrols, unless they're different faction.
Title: Re: Localized relationships
Post by: intrinsic_parity on May 11, 2020, 04:21:03 PM
TBH, I don't think allowing NPC's to have relationships with each other is a good idea. If the players relationships with the NPCs could drag them into conflict, then the player has to stay up to date on all the sector politics/drama to know if they are safe which isn't a good thing IMO, although maybe some people would like that.

I also don't think having roaming fleets associated with NPCs is a good idea. It's not too hard to communicate that fleets in a particular system will be hostile with the map and UI, or that fleets from a whole faction will be hostile, but if random fleets within a faction could be hostile or friendly anywhere, that makes it really difficult for the player to know if a fleet will be hostile without looking NPCs up.



My original suggestion was not so much about making NPC's more interesting as it was about making a wider variety of player/faction interactions. In particular, I think there just aren't enough interesting reputation based consequences for player actions.
Currently reputation consequences can have one of three immediate effects:
1) Small enough rep penalty that there is no immediate consequence but the player has to eventually get rep back up by grinding. These are boring and uninteresting, but there are a lot of things the player can do that don't necessarily warrant bigger consequences, so they get stuck with this.
2) Rep penalty that causes loss of trade access but not hostilities. This can be annoying, but usually its more the result of a series of type 1 consequences so you can avoid this by grinding rep back up. Generally not that significant unless you need to trade immediately.
3) full faction hostilities. Really bad, the whole faction is trying to kill you, a significant chunk of the core becomes off limits unless you want to fight your way through.

There's a bit more nuance with patrol interactions, but generally there's very little middle ground between 'nothing happens but you have to grind some rep' and 'the whole faction is trying to kill you'. The really important part of this suggestion for me is to separate local consequences from faction-wide consequences. There also could be some cool 'decaying consequences' depending on the implementation. With my suggestion, the idea is that you can get into a fight with a local patrol for not surrendering cargo or something and have that one system be hostile to you, but then you can still go to the rest of the faction and trade/interact with less significant rep loss. After some time, you would be able to return to that system, but you overall reputation with that faction will be lower.

Exactly how local interactions affect faction-wide reputation should be a characteristic of the faction. For a centralized faction like the hegemony you would expect the local officers to report stuff quickly and also fall into line with the faction, so local commanders opinions of you would decay to the overall faction rep quickly and local events would have a significant impact on your faction-wide rep. For a decentralized faction like the Persian league, you might expect local commanders to keep their own opinion of you much longer and your local actions to not have a less significant effect on the overall faction reputation. For the independents or pirates, you might expect your reputation in each system to be mostly or completely independent.
Title: Re: Localized relationships
Post by: SafariJohn on May 11, 2020, 05:08:57 PM
There are already fleets in vanilla that are hostile even though their faction may not be. Just fail a delivery mission and you'll meet one.

All of this non-monolithic factions stuff, in whatever form, would be much easier to do if the UI immediately communicated which fleets/markets are hostile/won't trade.
Title: Re: Localized relationships
Post by: intrinsic_parity on May 12, 2020, 11:03:46 AM
There are already fleets in vanilla that are hostile even though their faction may not be. Just fail a delivery mission and you'll meet one.

All of this non-monolithic factions stuff, in whatever form, would be much easier to do if the UI immediately communicated which fleets/markets are hostile/won't trade.
That's a fair point. I definitely agree that hostile fleets could be more clearly communicated. I think there have been suggestions that if a fleet is pursuing you there should be some sort of alarm/UI color change. That sort of thing seems like a decent QOL change regardless of any changes to factions.

I would like to say that I like that there are big monolithic factions and the big consequences associated with those getting mad at you, I just don't think those should be the only consequences that are possible. The problem I really wanted to address with my suggestion was:
Quote
generally there's very little middle ground between 'nothing happens but you have to grind some rep' and 'the whole faction is trying to kill you'

The way that I addressed that was by having local relations able to change significantly but still decay back to the global rep which changes moderately so you get the local/short term 'patrols trying to kill you fun combat scenarios' but the long term consequences are much less significant than a whole faction trying to kill you/refusing to trade with you. I guess your suggestion about having NPC sub-factions doesn't preclude that, but the way you described it makes it seem like the sub factions are fairly independent. It seems to me like if the sub factions can war independently and there are random diplomatic events and stuff, it would be essentially equivalent to just having more factions. Maybe you had some other idea of how it would work though. I personally don't like having too many factions, I think it just clutters the game, but that's very much an opinion. Even if you just have 4 NPC's per faction, you end up with 32 sub factions in vanilla which is just a lot to keep track of. I like the idea of local relations still being tethered to the main faction rep so that unless you've been doing stuff to change local relations, you only need to keep track of the main faction relations.
Title: Re: Localized relationships
Post by: bobucles on May 13, 2020, 07:02:13 AM
It might be cool if the relationship with a captain was a simple faction rep + personal rep. That would give a range of -200 to +200 rep for an encounter, but you can do a few things with it:
- If faction rep is very negative but personal rep is very high, it's the same as being netural. He may be under orders to hurt you, but as best friends he'll let ya go.
- If rep is neutral but personal rep is low (-50 total), the guy will bug you with more contraband searches, more fines and such. Kind of a grudge.
- High on both counts (150+) is super friendly, they'll even ignore contraband searches (best friends!) and such.
- Super low on both counts (-150) is super hostile, they might even chase you to the ends of the universe. Kind of like a bounty or personal nemesis.
In the end it's more or less expanding on the current system. The text doesn't have to change if it's generic enough, but it can introduce fun events if the player pushes reputation too far to the extremes.