Grid Sage Forums

Grid Sage Forums

  • November 22, 2024, 07:55:02 AM
  • Welcome, Guest
Please login or register.

Login with username, password and session length
Advanced search  

News:

LINKS: Website | Steam | Wiki

Author Topic: Consequences for attacking allies  (Read 2838 times)

Kyzrati

  • Administrator
  • True Cogmind
  • *****
  • Posts: 4477
    • View Profile
    • Cogmind
Consequences for attacking allies
« on: June 27, 2017, 08:06:10 PM »

Technically in some situations you can attack allies, even powerful ones, and they won't fight back. This won't do much for Cogmind in the number of situations where there are many allies around, as they'll turn on you en mass, but a lot of individual encounters and random allies are susceptible to murder.

While this is not something a lot of players do, either for immersion/roleplaying reasons or because they'd rather have the ally/allies alive and don't really need to salvage whatever their buddies happen to be using, a minority of players looking to gain every possible advantage they can have turned to allycide :P.

I don't really mind it in general, though it feels a little wrong that doing so has no consequences. I've been thinking of doing something about it for a while, but none of the best solutions are likely worth it (costly implementation!), so I've been coming up with a longer list of ways to address it and getting closer to a response.

Here's a list of some of the approaches I've been thinking of:
  • Have allies turn on you. The game's architecture isn't built to support this at an individual robot level, and while it's possible to have groups turn on you there are going to be numerous complications. So this approach is the one that, while more realistic (and therefore the first approach I'd consider), is not really worth implementing.
  • Have a global counter of Cogmind's "evil" actions, and becoming too evil (especially too quickly) will cause permanent/long-term attitude changes towards you, generally meaning attacking you on sight. This type of system is already implemented, but only on a local scale for certain special areas where it was deemed incredibly important for the story and immersion. But on a global scale this would be pretty complex to implement, since it would impact the huge number of encounters, probably causing a good many confusing negative side effects and/or lead to lots of issues to fix down the line.
  • Something like the global counter, but it only applies to the current map. This is easier to do, but still has to take into account lots of potential encounters and the emergent problems would be very time consuming to deal with.
  • Reduce salvage potential of friendlies Cogmind attacks. This is a pretty gamey/unrealistic solution, but does hit right at the heart of the main reason anyone would attack allies in the first place--good salvage. (To be more specific, in doing so you can use the right weapons to ensure better salvage results, rather than letting enemies take out your friends and picking up what's left.) It's easy to implement this, though it's unintuitive and causes divergent core mechanics purely for meta reasons, which is best avoided when possible. I'm on the fence with this one.
  • Negative points for friendly fire. I was strongly leaning towards the friendly fire score adjustment with the initial writing of this post, as it's easy to implement and just adds a consequence which doesn't impact gameplay at all, but in terms of scoring will at least somewhat level the playing field between those who do and do not take advantage of this behavior. That was implemented in Beta 2.
  • DDarkRay has suggested using the "slips into the shadows" mechanic to have allies you start attacking suddenly leave you, even potentially affecting other allies nearby. It's doable, but will require a fair bit of work (though at least not as much as having allies turn hostile).
« Last Edit: July 07, 2017, 07:23:36 PM by Kyzrati »
Logged
Josh Ge, Developer - Dev Blog | @GridSageGames | Patreon

DDarkray

  • Cyborg
  • ***
  • Shared a Confirmed Combat Win Shared a Confirmed Stealth Win Wiki Contributor Bug Hunter Weekly Seed Participant
  • Posts: 206
    • View Profile
Re: Consequences for attacking allies
« Reply #1 on: June 28, 2017, 10:28:14 AM »

I am also leaning on implementing simple changes if it only affect a small number of players. I don't think the problem is as big as the hacking snowballing issue, so there's no need for a big overhaul yet.

However, if the friendly fire score adjustment is implemented, things can get complicated if a player specifically fire at the space behind the intended target (which would avoid direct attacking). Would that be considered friendly fire? And if a stray shot accidentally hit the ally (especially melee robot) during combat, would that be considered friendly fire? Giving a large point reduction would hurt the innocent players, but giving too little point reduction wouldn't detract the murderous ones if the benefit of the parts gained would compensate in the long run.

Another idea that I have is to adjust the salvage potential from friendly fire. If the malevolent player attacks his allies specifically for their parts, reducing their salvage would make it harder to get the certain items.
Logged

Kyzrati

  • Administrator
  • True Cogmind
  • *****
  • Posts: 4477
    • View Profile
    • Cogmind
Re: Consequences for attacking allies
« Reply #2 on: June 28, 2017, 08:55:30 PM »

However, if the friendly fire score adjustment is implemented, things can get complicated if a player specifically fire at the space behind the intended target (which would avoid direct attacking). Would that be considered friendly fire? And if a stray shot accidentally hit the ally (especially melee robot) during combat, would that be considered friendly fire? Giving a large point reduction would hurt the innocent players, but giving too little point reduction wouldn't detract the murderous ones if the benefit of the parts gained would compensate in the long run.
You don't have to worry about the details. I can take care of the details and make sure it's fair :)

Another idea that I have is to adjust the salvage potential from friendly fire. If the malevolent player attacks his allies specifically for their parts, reducing their salvage would make it harder to get the certain items.
Oh right, that's one of the others I was thinking of (when I went to make the list I'd forgotten some of them :P). I'll add it to OP with comments, thanks.

I don't think the problem is as big as the hacking snowballing issue, so there's no need for a big overhaul yet.
In the end there's pretty much no chance I'd do that stuff anyway. It's definitely not worth it at this point.
Logged
Josh Ge, Developer - Dev Blog | @GridSageGames | Patreon

DDarkray

  • Cyborg
  • ***
  • Shared a Confirmed Combat Win Shared a Confirmed Stealth Win Wiki Contributor Bug Hunter Weekly Seed Participant
  • Posts: 206
    • View Profile
Re: Consequences for attacking allies
« Reply #3 on: July 07, 2017, 10:29:48 AM »

Another idea is to have the attacked allies disappear from the scene due to Cogmind's shocking action. This feature was already implemented in several occasions, so hopefully it won't be too difficult to do.

Ally: Why are you attacking me? I will not fight with you anymore.
Ally disappears into the darkness.

Other nearby allies that are witnessing the scene will have a steep morale drop, triggering the chance for additional robots to leave the scene.

Ally2: Why did you do this to my friend? I'll be leaving too.
Ally2 disappears into the darkness.

I think it's a pretty clean solution. Ally disappearing will prevent Cogmind players from obtaining its parts, while keeping it thematic and realistic, and avoids the need to make complicated adjustment (which is what I'm hoping for).

Unfortunately, that doesn't work well for drones and blue allies since they aren't programmed to have consciousness, but their parts aren't that valuable anyway.

====================

Here's another idea. Just like the way you made the leaderboard for those with the most points, make a "Wall of Shame" board for those who had the most friendly fire.  :P
« Last Edit: July 07, 2017, 11:21:40 AM by DDarkray »
Logged

zxc

  • Cogmind
  • *****
  • 1st place in the High Scores category during Alpha Challenge 2015 1st place in the Best Escapes category during Alpha Challenge 2015 Shared a Confirmed Combat Win Shared a Confirmed Stealth Win Kyzrati Patron Bug Hunter Achievement leader in at least one category during Alpha Challenge 2015 Participated in the Alpha Challenge 2015 Wiki Contributor Weekly Seed Participant
  • Posts: 726
    • View Profile
Re: Consequences for attacking allies
« Reply #4 on: July 07, 2017, 12:18:11 PM »

I'm not the biggest fan of the score penalty solution, as the importance of score varies based on what you're aiming to do and the individual. I am pretty sure it's not gonna affect GJ's behaviour, for instance, except if he goes for a score maximising run.

I'd prefer a gameplay penalty. The zion betrayal thing is the right direction I think.

Don't have many ideas though. Possibly... prevent items from dropping when z-allies die.
« Last Edit: July 07, 2017, 12:26:05 PM by zxc »
Logged

Kyzrati

  • Administrator
  • True Cogmind
  • *****
  • Posts: 4477
    • View Profile
    • Cogmind
Re: Consequences for attacking allies
« Reply #5 on: July 07, 2017, 07:17:56 PM »

Another idea is to have the attacked allies disappear from the scene due to Cogmind's shocking action. This feature was already implemented in several occasions, so hopefully it won't be too difficult to do.

Ally: Why are you attacking me? I will not fight with you anymore.
Ally disappears into the darkness.

Other nearby allies that are witnessing the scene will have a steep morale drop, triggering the chance for additional robots to leave the scene.

Ally2: Why did you do this to my friend? I'll be leaving too.
Ally2 disappears into the darkness.

I think it's a pretty clean solution. Ally disappearing will prevent Cogmind players from obtaining its parts, while keeping it thematic and realistic, and avoids the need to make complicated adjustment (which is what I'm hoping for).
Oh that's a pretty good idea, I hadn't thought of that one... possibly because I've always disliked that mechanic. I currently only use it in derelict areas (or immediately after exiting such areas where sometimes allies might leave you for whatever reason),  and I never really wanted to use it extensively, if only because it doesn't seem realistic. But it enables a lot more interesting scripted event possibilities without messing things up to much, so I started doing it a bit anyway :P

As described it would both solve the issue and be a lot easier to implement than having them turn hostile. Still a fair bit of work and testing, though...

Unfortunately, that doesn't work well for drones and blue allies since they aren't programmed to have consciousness, but their parts aren't that valuable anyway.
Well, the latter bit about parts not being valuable isn't quite true, since there are a number of better drones out there! But it's a point that no longer matters because drones no longer drop parts as of Beta 2.

Here's another idea. Just like the way you made the leaderboard for those with the most points, make a "Wall of Shame" board for those who had the most friendly fire.  :P
Haha, I definitely don't want to do anything like that :P

I'm not the biggest fan of the score penalty solution, as the importance of score varies based on what you're aiming to do and the individual. I am pretty sure it's not gonna affect GJ's behaviour, for instance, except if he goes for a score maximising run.
Right, as mentioned in the latest release notes the point is not to prevent players from doing it, but simply attach a cost that somewhat retains comparability of scores across the leaderboard, or within a player's own score history. I don't mind at all if GJ continues doing it! Some players may want to murder allies in order to ensure access to some unique parts and that's fine.

The zion betrayal thing is the right direction I think.
That was fairly easy to implement because it's an isolated system, as are the major scripted events.
« Last Edit: July 07, 2017, 07:22:48 PM by Kyzrati »
Logged
Josh Ge, Developer - Dev Blog | @GridSageGames | Patreon