Surrender option

Discussion of all aspects of multiplayer development: unit balancing, map development, server development, and so forth.

Moderator: Forum Moderators

Post Reply
User avatar
Zaroth
Inactive Developer
Posts: 75
Joined: January 29th, 2011, 4:33 pm

Surrender option

Post by Zaroth »

Some of you may have been lacking the Surrender/Resign option for some reason. Especially those of you who would like to nicely mark their resignation (instead of saying "gg" and/or leaving) to leave their opponent with satisfying "You are victorious!" - instead of seeing a boring menu with options of passing control to others, as it is currently done. This is however, according to Noy, "not the main focus" ;-) and not the thing I wanted to discuss in this topic.

First, before posting anything, please read my proposal on how it could be done. The wiki page will always represent the current state of my plans and I'll post here whenever I make any changes to it, so you are up-to-date.

Then, if you see some issues/have an idea on how it could be done differently/something is not clear to you, feel free to ask, suggest and discuss here. Any constructive feedback is most welcome :-) (especially thinking of use cases and problems I haven't thought of)
Spoiler:
SlowThinker
Posts: 876
Joined: November 28th, 2008, 6:18 pm

Re: Surrender option

Post by SlowThinker »

Proposition
terminology: by a 'participant' I mean anyone within the game: a player or an observer

I suppose there may be only one winner in games with more than 2 teams. Also I think that surrendering is an act that determines a winner, and that you surrender to a single force (I mean in a 1-1-1 game a player cannot surrender to other two players).
Therefore I suggest to use a term ABDICATE (or a similar one) in place of SURRENDER. SURRENDER might be a concrete instance of ABDICATE (in situation when only 1 team is left and so the winner can be proclaimed).

I propose to distinguish these ways how a side may lose a human controller:
  • ABDICATE means the player stops to control his side, but becomes an observer. This allows players to comment their game after it ends for example.
  • QUIT happens if a player leaves the game intentionally.
  • LOST happens if a player leaves the game unintentionally (by disconnecting, or by a crash - in other words the server doesn't receive the QUIT command.
I think the hosting player should be informed which possibility (QUIT-LOST) happened, but I feel Wesnoth doesn't always distinguish them correctly, sometimes 'player XX left' is reported even if he disconnected.

A note:
I noticed these problems of Wesnoth revealing positions of enemies:
  1. if a player disconnects and there is no observer, the host gets the control and has serious problems how not to see the opponent's map. Especially because he must type ":control XY Z" when his opponent returns.
  2. if a player quits/disconnects, the host sees his position for a short moment even if he pass it to an observer/player immediately
  3. if a player loses his connection, he must go through the replay, again it is not easy not to watch the map and still to catch the moment where he takes control of his side.
(These problems are serious especially on maps where you dont know where your opponent starts, like Conquest/capitol mode)

Statuses of game participants
Nowadays people can have two statuses within a game: PLAYER and OBSERVER.
I propose to add these statuses:
  • ADVISOR - an observer bound to a team - he sees same things like players of that team: the team chat and the team map. He can give advices to players. This way many people can actively participate in a 1 vs 1 game for example. Also if a player disconnects, he can return as an ADVISOR and not to see the opponent's map (the problem 3. above).
  • BLIND - an observer who sees the general chat only. This way an observer may come in a game that is running, and ask whether there is a free slot for him, and still not to see positions of his future opponents
Control handover
I think the options should be equal with no relation to the way how the player left his side (QUIT / LOST / ABDICATE->OBSERVER / ABDICATE->ADVISOR):
  1. if there is another player left in the team then he gets the control automately
  2. otherwise
    1. if more than 2 teams are remaining then the host gets a menu 'pass-to-participant/droid/open/reserve/quit'
    2. otherwise 'close game' is added to the menu above. It just shows the 'You are the winner' message, but doesn't end the game, remaining people can still discuss the game.
'open' and 'reserve' are new options and indicate the game will be paused. 'Open' means the slot is not occupied and a new player can join from the main lobby. 'Reserve' is used if the host knows the player lost connection for example and is expected to return.
These options ('open' and 'reserve') will solve the problem 1. above, or will allow to talk before the host decides what to do next.

edit:
The 'You are the winner' message may be invoked
  • by an extermination of all oppponents
  • by the 'close game' option
'quit' should always show an option to save the game

Comments
Zaroth Multiplayer Improvements wrote:if a team in 1v1v1, 2v2v2, FFA, etc. resigns, the host droids it automatically
This is not very wise, players usually try to pass the control to an observer, or try to find a replacement in a lobby
Zaroth Multiplayer Improvements wrote:maybe add an "automatically resign quitting players" option in MP creation dialog? Possibly even with a customizable timer to provide a buffer time to reconnect in case of connection problems. However, for it to be dependable, the timer should be server-sided.
I think this is a complication that is not needed. Nobody needs a win is confirmed oficially, and so it may be on the host decision which option to choose: 'participant/droid/wait/quit/end game'
Last edited by SlowThinker on April 16th, 2011, 6:43 pm, edited 1 time in total.
I work on Conquest Minus • I use DFoolWide, Retro Terrain Package and the add-on 'High Contrast Water'
I moved to Nosebane's corner (Doc Paterson's signature); I am spending my time there, so PM me if I don't answer your post in forums
SlowThinker
Posts: 876
Joined: November 28th, 2008, 6:18 pm

Re: Surrender option

Post by SlowThinker »

I have edited my post:

'Control handover' has been clarified and sligthly changed
'edit' has been added
I work on Conquest Minus • I use DFoolWide, Retro Terrain Package and the add-on 'High Contrast Water'
I moved to Nosebane's corner (Doc Paterson's signature); I am spending my time there, so PM me if I don't answer your post in forums
User avatar
Zaroth
Inactive Developer
Posts: 75
Joined: January 29th, 2011, 4:33 pm

Re: Surrender option

Post by Zaroth »

SlowThinker wrote: (...) I think that surrendering is an act that determines a winner, and that you surrender to a single force (I mean in a 1-1-1 game a player cannot surrender to other two players).
Therefore I suggest to use a term ABDICATE (or a similar one) in place of SURRENDER. SURRENDER might be a concrete instance of ABDICATE (in situation when only 1 team is left and so the winner can be proclaimed).
I'm not so sure about having different names for (nearly) the same thing would be so desirable. If you don't like "surrender", however, I think that "resign" is another word quite often used for that action in computer games.
SlowThinker wrote: A note:
I noticed these problems of Wesnoth revealing positions of enemies:
  1. if a player disconnects and there is no observer, the host gets the control and has serious problems how not to see the opponent's map. Especially because he must type ":control XY Z" when his opponent returns.
  2. if a player quits/disconnects, the host sees his position for a short moment even if he pass it to an observer/player immediately
  3. if a player loses his connection, he must go through the replay, again it is not easy not to watch the map and still to catch the moment where he takes control of his side.
(These problems are serious especially on maps where you don't know where your opponent starts, like Conquest/capitol mode)
Hmm... I feel these problems could be easily solved by automatically passing the control to a placeholder dummy AI (on host's side) which would just sit there and do nothing (and wouldn't end turn). Of course we'd still present the current dialog with options what to do with this side, but it should solve the "undesired peek behind the fog of war" problem.
As for the replays, I find the "Quick replay" a.k.a "Skip animation" mode really quick, even with the massive amounts of units that usually happen in the Conquest games, so I don't think it's that big of a problem.
SlowThinker wrote: Statuses of game participants
Nowadays people can have two statuses within a game: PLAYER and OBSERVER.
I propose to add these statuses:
  • ADVISOR - an observer bound to a team - he sees same things like players of that team: the team chat and the team map. He can give advices to players. This way many people can actively participate in a 1 vs 1 game for example. Also if a player disconnects, he can return as an ADVISOR and not to see the opponent's map (the problem 3. above).
  • BLIND - an observer who sees the general chat only. This way an observer may come in a game that is running, and ask whether there is a free slot for him, and still not to see positions of his future opponents
Although the "blind mode" might in fact be useful sometimes, I can't really think of many usecases of the "Advisor" option. And it kind of violates the KISS principle in my opinion... However, point of view problems don't have a high priority in my to-do list right now, so I might come back later to this.
SlowThinker wrote: Control handover
I think the options should be equal with no relation to the way how the player left his side (QUIT / LOST / ABDICATE->OBSERVER / ABDICATE->ADVISOR):
  • if there is another player left in the team then he gets the control automately
  • otherwise
    • if more than 2 teams are remaining then the host gets a menu 'pass-to-participant/droid/open/reserve/quit'
    • otherwise 'close game' is added to the menu above. It just shows the 'You are the winner' message, but doesn't end the game, remaining people can still discuss the game.
'open' and 'reserve' are new options and indicate the game will be paused. 'Open' means the slot is not occupied and a new player can join from the main lobby. 'Reserve' is used if the host knows the player lost connection for example and is expected to return.
These options ('open' and 'reserve') will solve the problem 1. above, or will allow to talk before the host decides what to do next.
The first part is much like what I wrote in my proposal, the "open" and "reserve" part is also a nice idea... Although it might require heavier modifications to the code and might not be too easy to do - I'll look into it later.
SlowThinker wrote: 'quit' should always show an option to save the game
Maybe let's just modify the automatic "save replay" dialog to offer saving both a save and a replay? This dialog shows pretty reliably IIRC.
SlowThinker wrote:
Zaroth Multiplayer Improvements wrote:if a team in 1v1v1, 2v2v2, FFA, etc. resigns, the host droids it automatically
This is not very wise, players usually try to pass the control to an observer, or try to find a replacement in a lobby
I agree, we might use the dummy-doing-nothing AI and still show the current dialog for that purpose (as mentioned before).
SlowThinker wrote:
Zaroth Multiplayer Improvements wrote:maybe add an "automatically resign quitting players" option in MP creation dialog? Possibly even with a customizable timer to provide a buffer time to reconnect in case of connection problems. However, for it to be dependable, the timer should be server-sided.
I think this is a complication that is not needed. Nobody needs a win is confirmed officially, and so it may be on the host decision which option to choose: 'participant/droid/wait/quit/end game'
Yeah, probably overly complicated. I just wrote all the ideas that came to my mind at that time there and this one maybe wasn't too good ;-)
SlowThinker
Posts: 876
Joined: November 28th, 2008, 6:18 pm

Re: Surrender option

Post by SlowThinker »

Zaroth wrote:If you don't like "surrender", however, I think that "resign" is another word quite often used for that action in computer games.
First of all, my english is very weak, and so I know my persuasion may be completely wrong.
I think 'resign' is better than 'surrender', but 'abdicate' may be still better in case a player quits because he has no time to continue and passes the control to his ally.

I don't think two names for same action are needed necessarily. Still 'surrender' might be used in case 2a of my 'Control handover' list above, i.e. before the 'You are the winner' message is shown.
Zaroth wrote:
SlowThinker wrote:if a player disconnects and there is no observer, the host gets the control and has serious problems how not to see the opponent's map. Especially because he must type ":control XY Z" when his opponent returns.
Hmm... I feel these problems could be easily solved by automatically passing the control to a placeholder dummy AI (on host's side) which would just sit there and do nothing (and wouldn't end turn). Of course we'd still present the current dialog with options what to do with this side
I can't imagine how it would work. The hosting player would wait with the dialog open until the player reconnects and then the dialog changes (adds an option)? That seems complicated.
In case 'open'+'reserve' with an effect to the main lobby (that shows an open slot) are too complicated to implement then a simple option 'wait' should be added to the menu (the dummy AI would keep the control if 'wait' is chosen).
Zaroth wrote:As for the replays, I find the "Quick replay" a.k.a "Skip animation" mode really quick, even with the massive amounts of units that usually happen in the Conquest games, so I don't think it's that big of a problem.
I see only "Quick replay" and I suppose "Skip animation" is equal.
The replay is quick but any glimpse on the map or the mini-map reveals the position of the enemy on a map of a Conquest/capitol style, and may reveal an important info on any map.
Moreover the replay ends at some moment, and the re-connecting player needn't to have the control back at that moment.
Zaroth wrote:Although the "blind mode" might in fact be useful sometimes, I can't really think of many usecases of the "Advisor" option.
I think at least the "blind mode" is needed to prevent the map is revealed for re-connecting players.

The "Advisor" may be fun as an active way of observing: normally the observer is neutral, but now he would be more involved in the game. Also the "advisor" might be used for "teaching" games. But I agree it is not necessary.
Zaroth wrote:Maybe let's just modify the automatic "save replay" dialog to offer saving both a save and a replay? This dialog shows pretty reliably IIRC.
Hmmm... I don't get any automatic "save replay" dialog, it is accessible from the main menu only. Do you talk about Wesnoth 1.9? I never had 1.9 installed.

I meant this: If a player quits/disconnects, the host gets the menu with an option to leave, but there is no direct way for him how to save the game, unless he takes control of the opponent's side and sees his map.
Last edited by SlowThinker on April 17th, 2011, 6:20 pm, edited 1 time in total.
I work on Conquest Minus • I use DFoolWide, Retro Terrain Package and the add-on 'High Contrast Water'
I moved to Nosebane's corner (Doc Paterson's signature); I am spending my time there, so PM me if I don't answer your post in forums
User avatar
pauxlo
Posts: 1049
Joined: September 19th, 2006, 8:54 pm

Re: Surrender option

Post by pauxlo »

The blind observers still should be allowed to see everything that all teams can see. In a two-team match, this would be where the action is happening.
SlowThinker
Posts: 876
Joined: November 28th, 2008, 6:18 pm

Re: Surrender option

Post by SlowThinker »

pauxlo wrote:The blind observers still should be allowed to see everything that all teams can see. In a two-team match, this would be where the action is happening.
pauxlo, I am confused. Could you rephrase? Do you mean they should be blind in 2-team games only?
I work on Conquest Minus • I use DFoolWide, Retro Terrain Package and the add-on 'High Contrast Water'
I moved to Nosebane's corner (Doc Paterson's signature); I am spending my time there, so PM me if I don't answer your post in forums
User avatar
Iris
Site Administrator
Posts: 6800
Joined: November 14th, 2006, 5:54 pm
Location: Chile
Contact:

Re: Surrender option

Post by Iris »

SlowThinker: Please stop quoting yourself after posting. Not only it counts as a double-post, it’s just plain annoying.
Author of the unofficial UtBS sequels Invasion from the Unknown and After the Storm.
User avatar
pauxlo
Posts: 1049
Joined: September 19th, 2006, 8:54 pm

Re: Surrender option

Post by pauxlo »

SlowThinker wrote:pauxlo, I am confused. Could you rephrase? Do you mean they should be blind in 2-team games only?
There is often (not at the start of the game, but later, when the fighting starts) a region on the map which is visible by all players (since all teams have troops there). So if "blind" observers can see this region, they can't really provide information to one of the sides which this side can't see themselves. This same region is also usually the interesting region, since the fights are happening there, so even our "blind" observers can follow the game.

There is a small loophole: sometimes the size of this visible region gives information about units outside this region (e.g. you can guess there must be a scout of side 1 around since you can see quite some of frontier space, but not the scout). I'm not sure how to avoid this.

It applies less to games with more than two teams, where team A often cannot see most of the fights between team B and C, and thus the blind observers should not, too.
SlowThinker
Posts: 876
Joined: November 28th, 2008, 6:18 pm

Re: Surrender option

Post by SlowThinker »

pauxlo, I understand now.
But I doubt whether the effort to solve this problem would pay off, especially since it is expected the 'blind mode' would be only temporary and the player would get a side control or become an observer soon.

btw I think the precise description of the loophole is:
once the player knows the intersection of both visions (I suppose 2 sides only) and his own vision, he can deduce a part of the map that is visible by the opponent (the intersection), and another part that is not visible by the opponent (his own vision minus the intersection).
I work on Conquest Minus • I use DFoolWide, Retro Terrain Package and the add-on 'High Contrast Water'
I moved to Nosebane's corner (Doc Paterson's signature); I am spending my time there, so PM me if I don't answer your post in forums
SlowThinker
Posts: 876
Joined: November 28th, 2008, 6:18 pm

slightly off-topic

Post by SlowThinker »

slightly off-topic:

I would like that
  • the game host could pass the hosting to another player/observer
  • if all players leave then the game is not ended but an observer becomes a host

Reasons
  • Pseudo-games that would serve as chat rooms could be founded. It would be useful for groups concerned on specific add-ons - like Conquest, GEB, Galactic Empires, or for ladder players... A "chat room" could last hours and the chat would be preserved this way
  • If I come to observe a game and it ends before my replay ends then it ends at replay end, but I may want to see game statistics, a chat etc.
  • Observers may want to continue their talks even after the game ends and all players quit, or they may want to try to continue the game
I work on Conquest Minus • I use DFoolWide, Retro Terrain Package and the add-on 'High Contrast Water'
I moved to Nosebane's corner (Doc Paterson's signature); I am spending my time there, so PM me if I don't answer your post in forums
Post Reply