Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Decapitation as a rated victory condition #5347

Open
phongu opened this issue Aug 23, 2023 · 28 comments · May be fixed by #6667
Open

Decapitation as a rated victory condition #5347

phongu opened this issue Aug 23, 2023 · 28 comments · May be fixed by #6667
Labels
area: sim Area that is affected by the Simulation of the Game

Comments

@phongu
Copy link

phongu commented Aug 23, 2023

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

@Garanas Garanas added this to the Development iteration IV milestone Aug 23, 2023
@Garanas Garanas added the area: sim Area that is affected by the Simulation of the Game label Aug 23, 2023
@Garanas
Copy link
Member

Garanas commented Aug 23, 2023

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

@Garanas
Copy link
Member

Garanas commented Aug 23, 2023

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?

@Askaholic
Copy link
Contributor

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

@Garanas
Copy link
Member

Garanas commented Aug 25, 2023

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

@Askaholic
Copy link
Contributor

No it wouldn’t be very difficult

@Garanas
Copy link
Member

Garanas commented Aug 25, 2023

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

@Askaholic
Copy link
Contributor

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.

@Garanas
Copy link
Member

Garanas commented Aug 26, 2023

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

@Garanas
Copy link
Member

Garanas commented Aug 27, 2023

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

@Askaholic
Copy link
Contributor

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

@Sheikah45
Copy link
Member

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

@Garanas
Copy link
Member

Garanas commented Aug 27, 2023

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

@Sheikah45
Copy link
Member

What about just some icon like full vs no share?

Since generally people are annoyed by the text

@Brutus5000
Copy link
Member

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

@Garanas
Copy link
Member

Garanas commented Aug 28, 2023

What about just some icon like full vs no share?

Since generally people are annoyed by the text

@Sheikah45 Where is this icon?

@Garanas
Copy link
Member

Garanas commented Aug 28, 2023

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?

@Sheikah45
Copy link
Member

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
Copy link
Member

@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.

@Garanas
Copy link
Member

Garanas commented Aug 28, 2023

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

@Sheikah45
Copy link
Member

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.

@Askaholic
Copy link
Contributor

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

@Garanas
Copy link
Member

Garanas commented Aug 28, 2023

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

@BlackYps
Copy link
Contributor

BlackYps commented Sep 2, 2023

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)

@Garanas
Copy link
Member

Garanas commented Sep 3, 2023

And where does it get the DECAPITATION value from?

@BlackYps
Copy link
Contributor

BlackYps commented Sep 6, 2023

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.

@Garanas
Copy link
Member

Garanas commented Sep 30, 2023

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?

@BlackYps
Copy link
Contributor

BlackYps commented Oct 1, 2023

No, not yet

@Garanas Garanas removed this from the Development iteration IV milestone Oct 28, 2023
@Askaholic
Copy link
Contributor

The server and database work for this is done.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: sim Area that is affected by the Simulation of the Game
Projects
None yet
Development

Successfully merging a pull request may close this issue.

7 participants