[Standards] New Proto-XEP: Multi-User Gaming

Guenther Niess niess at uni-potsdam.de
Mon Dec 15 20:37:53 UTC 2008


On Mon, Dec 15, 2008 at 04:39:29PM +0100, Jehan wrote:
> 
> Ok. If I may have a few remark (the mug XEP, not the instant game
> one):
> 
> When you forward a turn to other players, you don't specify who
> played:
> 
> > 
> > EXAMPLE 42. SERVICE REFLECTS TURN TO ALL OCCUPANTS
> > <message from='island-chess at games.shakespeare.lit/damsel'
> > to='ferdinand at shakespeare.lit/laptop' type='chat'>
> > <turn xmlns='http://jabber.org/protocol/mug'>
> > <play xmlns='http://jabber.org/protocol/mug/chess' suit='queen'
> > col='d'
> > row='2'/>
> > </turn>
> > </message> 
> > 
> 
> 1/ When the game is such that you play one after another, it is ok.
> But
> still I think it may be made clearer if you can tell which player
> played. This is even more true when you have more than 2 players. With
> 4
> or 5 players, it is nice to be clear who played what, even though
> "normally" all game client should be knowing every time the current
> game
> state. And if this is a game with no specific play order (any player
> can
> make a turn anytime), then this stanza is even more useless...

Which player played the turn can be get from the 'from' attribute of the
message e.g. damsel in this example. It's also possible that a game
protocol can define only turns from the game room itself for anonymous
turns.
According to "The occupants, who receive the turn are defined by the 
game protocol. However, the turn MUST be reflected to the sender."
players (game clients also) needn't know the whole game state.

> Especially imagine a connection issue occured and some player missed
> the stanza without the server knowing it. Then for this player,
> everything is one-move wrong. If at the opposite, the stanza gives
> information about who played, then at next stanza, the player's client
> can see something is wrong.

So far we thought defining an ID for the turns should be done by the
game
protocol. I'm not sure we need this for all sort of games. Also only the
game protocol defines the logic behind the game and therefor the syntax
and semantic for its turn stanzas.

> 2/ In the same optics, I think that turns can be numbered (then you
> see
> when you miss a turn and their order). Then later on, it will even be
> possible that a client can ask for a previous turn (because it missed
> it
> for any reason, or because it does not keep history of the playing
> game
> but the player wants to see a previous turn, etc.).
> 
> Moreover this would even enable a feature of playback of a game
> (playback of your chess game after playing, or if a spectator enters a
> running game and wants to see what he missed, not only the current
> state, etc.).

At the moment we don't think the games would be so complicated to add
support for that. But if there is an interests on such games over xmpp
and not out of band, we should think about it.

> 3/ Finally when the system allows also some players to play and the
> others to wait, there should be a "turn" stanza to aknowledge players
> "now it is you" and "you don't have right to play".

Usually the game logic defines with help of the game state which player
can make a turn. If we plan to write a game which needs a moderator 
deciding what player has the right to play this should be handled by
this game protocol.

Best regards
Günther Nieß




More information about the Standards mailing list