Leave = Resign

Leave = Resign

Requests for features in the spring code.

Moderator: Moderators

User avatar
JohannesH
Posts: 1793
Joined: 07 Apr 2009, 12:43

Leave = Resign

Post by JohannesH »

When somebody leaves the game, be it disconnect or whatever reason, the game keeps going on.

It shouldn't, obviously.
User avatar
zwzsg
Kernel Panic Co-Developer
Posts: 7052
Joined: 16 Nov 2004, 13:08

Re: Leave = Resign

Post by zwzsg »

The game should not exit when one player disconnects, for obvious reasons.
luckywaldo7
Posts: 1398
Joined: 17 Sep 2008, 04:36

Re: Leave = Resign

Post by luckywaldo7 »

Unless obviously they are the last/only player on their team.
User avatar
zwzsg
Kernel Panic Co-Developer
Posts: 7052
Joined: 16 Nov 2004, 13:08

Re: Leave = Resign

Post by zwzsg »

You're missing the case of FFA. Try again.
User avatar
Jazcash
Posts: 5309
Joined: 08 Dec 2007, 17:39

Re: Leave = Resign

Post by Jazcash »

@ Johannes : What? Are you saying the actual game should stop if one player leaves? I hope I'm misunderstanding you...

Leave =/= Resign. Leaving means you want to leave the game and the window to close. This shouldn't affect the actual hosting of the game at all. Resigning means you cba to play any more and just want to spec.

It makes perfect sense already ... What's the problem?
luckywaldo7
Posts: 1398
Joined: 17 Sep 2008, 04:36

Re: Leave = Resign

Post by luckywaldo7 »

zwzsg wrote:You're missing the case of FFA. Try again.
FFffff ok stop nitpicking jerk :evil:

The problem is that if there is one enemy left and they disconnect, the game does not end, and you have to kill all the "aband_units" to end it.
User avatar
JohannesH
Posts: 1793
Joined: 07 Apr 2009, 12:43

Re: Leave = Resign

Post by JohannesH »

It was so obvious I didnt feel the need to explain... Its not about fucking teamgames or ffas
User avatar
zwzsg
Kernel Panic Co-Developer
Posts: 7052
Joined: 16 Nov 2004, 13:08

Re: Leave = Resign

Post by zwzsg »

JohannesH wrote:It was so obvious I didnt feel the need to explain...
It was nebulous and in need of precise explanations.
JohannesH wrote:Its not about fucking teamgames or ffas
Yet your proposed changes would ruin them.
luckywaldo7 wrote:FFffff ok stop nitpicking jerk :evil:
No I will not. This is 'Development >> Feature Requests', so that means you're asking for the feature to be hard coded into the engine, impacting every game and every user. If the feature isn't thoroughly analysed before being implemented, then we would introduce bugs. It's because of people like YOU that FAIL to consider consequences of their knee-jerks changes that we keep getting regressions like crash on AI death or game over on start vs AI.
SirMaverick
Posts: 834
Joined: 19 May 2009, 21:10

Re: Leave = Resign

Post by SirMaverick »

5 months ago I proposed a patch for that as mod option. Default disabled.

If enabled the game would end if there is only 1 ally left with active players.
User avatar
zwzsg
Kernel Panic Co-Developer
Posts: 7052
Joined: 16 Nov 2004, 13:08

Re: Leave = Resign

Post by zwzsg »

We're getting toward there. But you forgot AIs, so:

"Game should be over when there is only 1 ally left with active players or bots."


Also, there's the case of testing the game alone, and of playing vs gaia, so the proper condition should be:

"Game should be over when there is only 1 ally left with active players or bots, and there were active players or bots in at least two opposite teams when the game started."

Again, that kind of detail should not be overlooked: BA Chicken Defense is quite popular.
SirMaverick
Posts: 834
Joined: 19 May 2009, 21:10

Re: Leave = Resign

Post by SirMaverick »

Active players and bots are covered.
zwzsg wrote:Also, there's the case of testing the game alone, and of playing vs gaia,[...]
Alone? Like just 1 team, not even a null ai as opponent? Gaia is not covered if there is not AI player for gaiateam (I never thought gaia is an active part of the game). But again it's a mod option. It will work like as usual if disabled. (suggested default is disabled to prevent such and any other non-considered case)
User avatar
zwzsg
Kernel Panic Co-Developer
Posts: 7052
Joined: 16 Nov 2004, 13:08

Re: Leave = Resign

Post by zwzsg »

SirMaverick wrote:Alone? Like just 1 team, not even a null ai as opponent?
Yes. Modder sometimes play alone to test stuff. It was a well welcomed commit the one that removed the hassle of moving the game over window away when doing so.
SirMaverick wrote:AI player for gaiateam
You cannot assign a bot to gaia. So Spring has no way to know if there's a gadget spawning gaia units or not. Though I know of only one game using gaia as an opponent when there are no others, Gundam.
SirMaverick wrote:But again it's a mod option. It will work like as usual if disabled.
I'd rather have it done well, and all mod benefit from it without extra work, than having it half-broken and pretending it's okay because it's optional.
SirMaverick
Posts: 834
Joined: 19 May 2009, 21:10

Re: Leave = Resign

Post by SirMaverick »

zwzsg wrote:
SirMaverick wrote:Alone? Like just 1 team, not even a null ai as opponent?
Yes. Modder sometimes play alone to test stuff. It was a well welcomed commit the one that removed the hassle of moving the game over window away when doing so.
Which commit? How do you setup the game?
When I test I play against NullAI or start two instances (if interaction is needed).
SirMaverick wrote:AI player for gaiateam
You cannot assign a bot to gaia. So Spring has no way to know if there's a gadget spawning gaia units or not. Though I know of only one game using gaia as an opponent when there are no others, Gundam.
How does this work? Wouldn't the game end instantly?
SirMaverick wrote:But again it's a mod option. It will work like as usual if disabled.
I'd rather have it done well, and all mod benefit from it without extra work, than having it half-broken and pretending it's okay because it's optional.
At first I suggested to make this a permanent change but that wasn't accepted: people might want to fight till the end/kill all remaining units. That's the reason is was made an option.

So only two special things left is your modder test setup and gundam. If you tell me the exactly setup (mod + script.txt) I can test if it work's or not.
User avatar
zwzsg
Kernel Panic Co-Developer
Posts: 7052
Joined: 16 Nov 2004, 13:08

Re: Leave = Resign

Post by zwzsg »

SirMaverick wrote:How do you setup the game?
You run SpringLobby or TASClient, do no wait for other players, do not add AIs.

There is also the bizarre case of the hard coded start script that has two teams (so three with gaia), one being the player, the other being neither a player nor a bot.
SirMaverick wrote:How does this work?
When the gadget detects there are humans without enemies, it makes chickens spawn in gaiateam.
SirMaverick wrote:Wouldn't the game end instantly?
No, thanks to that commit that suppress game over when it would happen at game start.
SirMaverick wrote:if interaction is needed
/godmode
SirMaverick wrote:people might want to fight till the end/kill all remaining units
We already have a mod option for linage/kill all commanders/kill all units.
User avatar
JohannesH
Posts: 1793
Joined: 07 Apr 2009, 12:43

Re: Leave = Resign

Post by JohannesH »

zwzsg wrote:
SirMaverick wrote:people might want to fight till the end/kill all remaining units
We already have a mod option for linage/kill all commanders/kill all units.
Game ends when last player resigns anyway, no?

Just make clicking "leave" command also send a resigning signal, then get some way of doing the same when a actual human player disconnects. I didnt include a exact technical explanation of it since I don't know everything there needs to be accounted for, as long as someone who does, understands my point it should serve the exact same purpose.

In a lot of other rts's leaving the game is the customary way to concede defeat after gg'ing... So often you have to teach newbs that this is actually very annoying thing to do for the winner in Spring.
SirMaverick
Posts: 834
Joined: 19 May 2009, 21:10

Re: Leave = Resign

Post by SirMaverick »

zwzsg wrote:It was a well welcomed commit the one that removed the hassle of moving the game over window away when doing so.
So only the window is not show, but game still counts as over? (Of course it will continue in single player if you don't close.)
zwzsg wrote:
SirMaverick wrote:How do you setup the game?
You run SpringLobby or TASClient, do no wait for other players, do not add AIs.
Tried with CA, KP and Gundam. In SP and hosting a battle. It always ends directly after game start.
SirMaverick wrote:if interaction is needed
/godmode
For units, yes. But if you want to test new lua code you might need (several) real teams.
SirMaverick wrote:people might want to fight till the end/kill all remaining units
We already have a mod option for linage/kill all commanders/kill all units.
These are different game modes. "Leave = Resign" will always stop the game if you are the last remaining alliance. No chance to kill all remaining units.
User avatar
zwzsg
Kernel Panic Co-Developer
Posts: 7052
Joined: 16 Nov 2004, 13:08

Re: Leave = Resign

Post by zwzsg »

SirMaverick wrote:
zwzsg wrote:
SirMaverick wrote:How do you setup the game?
You run SpringLobby or TASClient, do no wait for other players, do not add AIs.
Tried with CA, KP and Gundam. In SP and hosting a battle. It always ends directly after game start.
Thanks for kindly correcting me. Somehow I got confused with that. It's curious I could not remember having to push the game over windows considering how much I play alone.
SirMaverick wrote:
zwzsg wrote:
SirMaverick wrote:if interaction is needed
/godmode
For units, yes. But if you want to test new lua code you might need (several) real teams.
Oh. And to think that me, to test new multiplayer lua code, I go through the trouble of enlisting real online people! :|
SirMaverick wrote:
zwzsg wrote:
SirMaverick wrote:people might want to fight till the end/kill all remaining units
We already have a mod option for linage/kill all commanders/kill all units.
These are different game modes. "Leave = Resign" will always stop the game if you are the last remaining alliance. No chance to kill all remaining units.
Hmm, I see the difference now. An option for people who like to kill units of disconnected people, right?
SirMaverick
Posts: 834
Joined: 19 May 2009, 21:10

Re: Leave = Resign

Post by SirMaverick »

zwzsg wrote:Hmm, I see the difference now. An option for people who like to kill units of disconnected people, right?
Yes. As I said that was the reason why it was not accepted as hard coded change.
User avatar
JohannesH
Posts: 1793
Joined: 07 Apr 2009, 12:43

Re: Leave = Resign

Post by JohannesH »

SirMaverick wrote:
zwzsg wrote:Hmm, I see the difference now. An option for people who like to kill units of disconnected people, right?
Yes. As I said that was the reason why it was not accepted as hard coded change.
That makes no sense, if people really wanted that game wouldnt end at resign either.

Or could make an option on the game over screen to keep playing, ie. just close the box... Would be useful for testing stuff as well.
User avatar
Neddie
Community Lead
Posts: 9406
Joined: 10 Apr 2006, 05:05

Re: Leave = Resign

Post by Neddie »

I just move the game over screen out of the way and keep testing.
Post Reply

Return to “Feature Requests”