fa icon indicating copy to clipboard operation
fa copied to clipboard

Decapitation as a rated victory condition

Open phongu opened this issue 1 year ago • 27 comments

Decapitation is currently an unrated, modded victory condition implemented by Sheikah. It lets people continue playing even after their commander dies, but the game ends in a loss for the team that loses all commanders. It's a nice feature for full-share games with a mix of new and veteran players because it avoids the problems associated with the highest rated getting double eco after a beginner dies, and it punishes beginners less for using their commanders, which is otherwise one of the hardest things to learn because of the extreme cost associated with losing it. From the tests I ran with Decapitation, the game balance was less volatile than standard full-share.

Integrating it as a core feature would increase it's visibility (since by default, modded games are not shown in the custom game list) and making it rated has already been ok'd by the balance team in this forum thread

phongu avatar Aug 23 '23 11:08 phongu

We'll pick this up in the 4th developers iteration

Garanas avatar Aug 23 '23 15:08 Garanas

I'm not sure if it being integrated would make it rated. I think only assassination is rated. @Askaholic could you help us with that question?

Garanas avatar Aug 23 '23 15:08 Garanas

Yes I believe you’re correct, it would have to be added as a valid victory condition in the server code.

https://github.com/FAForever/server/blob/a6c626afb7b25224988fbe9471c28d8f32a1895f/server/games/game.py#L656

Askaholic avatar Aug 24 '23 23:08 Askaholic

Would that be a difficult change? Bear with me, I have no knowledge of the setup or architecture of the server 😄

Garanas avatar Aug 25 '23 07:08 Garanas

No it wouldn’t be very difficult

Askaholic avatar Aug 25 '23 12:08 Askaholic

Then the remaining question is who decides that the mode is rated or not 😄 , is there previous suggestions or decisions on this topic?

Garanas avatar Aug 25 '23 16:08 Garanas

Great question. I think history won’t really help us here as it probably was determined by a lone dev in the past who just decided how the rating decision should work. I would think some consortium of the balance, game and dev teams might make sense, since it’s kindof more of a metagame decision.

Askaholic avatar Aug 25 '23 16:08 Askaholic

I've started the discussion with the balance team in their channel

Garanas avatar Aug 26 '23 17:08 Garanas

The balance team is in favor. That's one down. What other dev teams would be involved in this decision?

Garanas avatar Aug 27 '23 11:08 Garanas

I’d probably see what @Brutus5000 and @Sheikah45 think.

Askaholic avatar Aug 27 '23 15:08 Askaholic

I am fine with it. Seems to me to be on the same level as full share vs no share, just has to be clearly communicated which it is in game

Sheikah45 avatar Aug 27 '23 15:08 Sheikah45

I was thinking of an announcement at the start, like the pause announcement?

Garanas avatar Aug 27 '23 18:08 Garanas

What about just some icon like full vs no share?

Since generally people are annoyed by the text

Sheikah45 avatar Aug 27 '23 19:08 Sheikah45

I should not have any stakes in this decision. But I like the idea from a players perspective.

Brutus5000 avatar Aug 28 '23 09:08 Brutus5000

What about just some icon like full vs no share?

Since generally people are annoyed by the text

@Sheikah45 Where is this icon?

Garanas avatar Aug 28 '23 10:08 Garanas

I think we can call it and that we can proceed to make it rated. @Askaholic are you available to make the server changes, or should I ask BlackYps?

Garanas avatar Aug 28 '23 10:08 Garanas

What about just some icon like full vs no share?

Since generally people are annoyed by the text

@Sheikah45 Where is this icon?

It might not be an icon but I am talking about the info in the scoreboard

Sheikah45 avatar Aug 28 '23 11:08 Sheikah45

@Garanas One thing I thought of that I never tested with the mod is to make sure units are still transferred when a player gets disconnected.

Sheikah45 avatar Aug 28 '23 11:08 Sheikah45

I'll test it thoroughly when integrating it 😃 . If we put it on the (standard) scoreboard then people may not see it because of UI mods replacing the scoreboard

Garanas avatar Aug 28 '23 12:08 Garanas

I would probably be inclined to say that is on the scoreboard author to update it to reflect the information. As historically by now we have established like info like that is on the scoreboard. But that is just my opinion.

Rather than having a text announcement every game.

Sheikah45 avatar Aug 28 '23 13:08 Sheikah45

You should ask @BlackYps. I should be able to find time for code review and making a release though.

Askaholic avatar Aug 28 '23 14:08 Askaholic

I would probably be inclined to say that is on the scoreboard author to update it to reflect the information. As historically by now we have established like info like that is on the scoreboard. But that is just my opinion.

Fair enough, I agree

Garanas avatar Aug 28 '23 16:08 Garanas

Yes I believe you’re correct, it would have to be added as a valid victory condition in the server code.

https://github.com/FAForever/server/blob/a6c626afb7b25224988fbe9471c28d8f32a1895f/server/games/game.py#L656

So this is supposed to get integrated into the base game? I believe the relevant lines would then look like this

if self.gameOptions["Victory"] not in (Victory.DEMORALIZATION, Victory.DECAPITATION):
    await self.mark_invalid(ValidityState.WRONG_VICTORY_CONDITION)

BlackYps avatar Sep 02 '23 23:09 BlackYps

And where does it get the DECAPITATION value from?

Garanas avatar Sep 03 '23 17:09 Garanas

On the server the victory is just an enum that matches the victory conditions to integers. I am not sure where those originate from, but they also seem to be saved in the database.

BlackYps avatar Sep 06 '23 21:09 BlackYps

I'll soon start on implementing this so that we can ship it with the 4th development iteration. Has there been work on the server on the matter?

Garanas avatar Sep 30 '23 06:09 Garanas

No, not yet

BlackYps avatar Oct 01 '23 10:10 BlackYps