Re: [Telepathy] GSoC idea: Gnome Games + Telepathy Tube

2009-03-25 Thread Thomas Mills Hinkle
 So for competitive mode, we can use a small grid beside the major one to
 display the opponent's state (the exact numbers are hidden). Winner is
 judged by time.

 For collaborative mode, either use two grids as above (show numbers) or
 only one. Using two grids will avoid all lag and conflict problems and
 won't let player's mind be interrupted. To fill in one grid, the latency
 should be considered, so it will be a little more complex, but I think
 this is more fun, no?


I like the idea of the competitive mode -- sounds simple and fun, and more
likely to be used than the collaborative modes. The collaboration would be
cool too, don't get me wrong, but I think you'll run into a lot more bugs
implementing it.

An even simpler feature that would be nice to add to sudoku (perhaps as a
first step) would be a share this sudoku button or something like that
-- basically, if you finish a fun game, you could send it to a contact to do
as well -- either as data or as a PDF or what have you. I realize this is
somewhat out of scope, but I imagine a lot of users would like it.

In short, if it were me, I'd go about implementing things in steps as
follows...

1. Add support for sharing games you enjoy / opening games that have been
shared with you.
2. Add support for competing on a shared game with a timer, either in live
mode or in a delayed/report back mode (i.e. I could give a friend a puzzle
and he would know that I solved it in 3:35 and he had to try to beat my
time).
3. Add support for live updating of your opponent's puzzle grid (the
side-by-side grid showing how far your opponent has gotten.
4. Add support for collaboration. You might start with the side-by-side
grids and then move onto the collaboration on one grid. With one grid, there
are a lot of interesting interface questions... like how do you handle it
when you and your partner both fill the same square at the same time, how do
you handle it if you fill in squares that conflict, etc. etc.

Just my 2 cents.

Tom
___
telepathy mailing list
telepathy@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/telepathy


Re: [Telepathy] GSoC idea: Gnome Games + Telepathy Tube

2009-03-21 Thread Zhang Sen
Hi Lobais,
On Sat, 2009-03-21 at 14:49 +0100, Lobais wrote: 
 I do wonder though, how much research you have done with sudoku
 players? I wonder if they are actually interested in having other
 people 'change' their fields, or it will mess up their mental image of
 the board.
 I have heard about sudoku competitions, so I guess competitive mode
 will be somehow popular, but I wonder if skilled players will be able
 to bring more light to how collaborative sudoku can make the most
 sense.

Thanks for this great point!

I did some search.
1. A game called 'Su Doku Live' [1] has the two modes but unfortunately
the free-trial version refuses to run. Anybody has tried it (on
windows/mac)?
2. Here is a collaborative sudoku, called sudocomo [2], based on adobe's
Cocomo. The number of players is not limited but players can't change a
field concurrently. I think they may use transactions or something. If
one player clicks in a field, the field will be grayed out for the
others.
3. Searching 'collaborative sudoku' on Google gives several other
interesting results, e.g. a paper [3] inferring peer-related emotions
(using a collaborative sudoku), and also a workshop [4] relating to
collaborative sudoku.

So for competitive mode, we can use a small grid beside the major one to
display the opponent's state (the exact numbers are hidden). Winner is
judged by time.

For collaborative mode, either use two grids as above (show numbers) or
only one. Using two grids will avoid all lag and conflict problems and
won't let player's mind be interrupted. To fill in one grid, the latency
should be considered, so it will be a little more complex, but I think
this is more fun, no?

Cheers,
Zhang

(This discussion really gave me enlightenment, thanks to all!)

[1]. http://deadpixelgames.com/
[2].
http://www.bryngfors.com/experiment/sudocomo-multiplayer-sudoku-med-cocomo.aspx
[3]. www.cinted.ufrgs.br/renote/jul2008/artigos/1c_edilson.pdf
[4]. http://www.dcs.warwick.ac.uk/~wmb/sudokuExperience/workshops/

___
telepathy mailing list
telepathy@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/telepathy


Re: [Telepathy] GSoC idea: Gnome Games + Telepathy Tube

2009-03-20 Thread Alban Crequy
Le Fri, 20 Mar 2009 11:44:49 +0800,
Zhang Sen zh.je...@gmail.com a écrit :

 Thanks to all, for the great hints you gave :)
 
 On Thu, 2009-03-19 at 17:31 +0100, Thomas H.P. Andersen wrote:
  Sudoku should be fairly easy to do I think since transformations
  (filling in/removing a number) does not depend on the previous state
  of the board. Lag and locking should not be big problems in sudoku.
 
 Yes, that makes it easier. But the undo/redo feature needs some
 thinking. Roughly we can make undo/redo only works locally, no matter
 collaborative mode or competitive (also single-player mode).

Abicollab has some explanations how they do undo in collaborative
editing:
http://www.abisource.com/wiki/AbiCollab#Problems_with_undo
It would be nice if you can undo your local moves when you are in a
different, not related area of the maze. The problem is, do we want a
maze to be solvable using the undo feature when you would be stuck if
the undo feature was not there?

  Features I would like to see:
  - Ultra simple start. Just drag 'n drop a friend from IM app, or
  fetch a list of online IM friends to show inside the game. Easy set
  up of a game on LAN would be really nice too.
 
 The drag 'n drop is cool! Let me first find out how the general
 drag/drop works :)
 For LAN games: two connection managers provide tubes; gabble handles
 jabber case and salut handles link-local. So just like what empathy
 does, the contact list can be of two parts, one for jabber(maybe also
 msn in the future?) and one for 'People Nearby', people can choose
 respectively.
 When dragging and dropping, we can also know if the contact is from
 gabble or salut. This should be quite transparent and there shouldn't
 be much code dedicated to deal with the different CMs.

There should be no code at all dedicated to deal with the different
CMs. The Sudoku application do not need to know if the contact's
protocol is jabber or link-local.

  - Game modes (collaborative / competitive)
 
 Good idea, but how should the competitive mode be like? We can let a
 player win if (s)he fills more (different weight with each filed).
 However, even in collaborative mode, we can also record who fills more
 and give a grade finally.

What happens if a box is pushed in 2 different directions by the 2
players at the same time? Like this:

 @$
  @

@ is a player, $ is a box. A player pushes the box to the right, the
second player pushes it to the top.

I guess you can decide that the initiator of the game can accept or
deny a move. Would the second player's UI update the view only if the
move is accepted by the initiator? In this case, the latency will make
the game less usable...

Or each player update his view immediately, but in case of conflict, it
needs to be resolved.

 [...]

Cheers,
Alban
___
telepathy mailing list
telepathy@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/telepathy


Re: [Telepathy] GSoC idea: Gnome Games + Telepathy Tube

2009-03-20 Thread Guillaume Desmottes
Le jeudi 19 mars 2009 à 17:31 +0100, Thomas H.P. Andersen a écrit :
 From my point of view (gnome-games) this would rock. We already know
 Zhang from earlier sudoku patches and it has always been good work.
 
 Sudoku should be fairly easy to do I think since transformations
 (filling in/removing a number) does not depend on the previous state
 of the board. Lag and locking should not be big problems in sudoku.
 
 Features I would like to see:
 - Ultra simple start. Just drag 'n drop a friend from IM app, or fetch
 a list of online IM friends to show inside the game. Easy set up of a
 game on LAN would be really nice too.
 - Game modes (collaborative / competitive)
 - Awareness UI. In collaborative mode it would be nice to have a
 shadow of the other players focus to avoid both players working in
 the same area.
 - Scoring: How would one win in competitive mode? Sudoku can already
 find a difficulty rating for each field depending on how obvious it
 is. Some sort of penalty for guessing wrong too?
 - Versioning. How to implement this to best prevent that future
 versions become incompatible.


All of this sounds great ideas! I'm sure we could have a rocking Sudoku
multiplayer experience. :)

 I think that doing multiplay in sudoku is both very innovative and
 fun. However most of the games are in C and I would have liked a
 general solution that could be used in all the games. Perhaps you can
 even manage both? :)

I totally agree that we should have a general solution but think we
should focus this SOC on one application. I prefer to have one game
properly using tubes and nicely polished than half baked pieces of
network code in each game. Lot of soc ends up with not-merge-ready
quality code and are finally never integrated which is a bit of a shame.

Maybe we should see the Sudoku game as a first attempt of tube
integration into gnome-games and from this experience design a more
general solution later?


G.

___
telepathy mailing list
telepathy@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/telepathy


Re: [Telepathy] GSoC idea: Gnome Games + Telepathy Tube

2009-03-20 Thread Thomas H.P. Andersen
On Fri, Mar 20, 2009 at 04:44, Zhang Sen zh.je...@gmail.com wrote:
 Thanks to all, for the great hints you gave :)

 On Thu, 2009-03-19 at 17:31 +0100, Thomas H.P. Andersen wrote:
 Sudoku should be fairly easy to do I think since transformations
 (filling in/removing a number) does not depend on the previous state
 of the board. Lag and locking should not be big problems in sudoku.

 Yes, that makes it easier. But the undo/redo feature needs some
 thinking. Roughly we can make undo/redo only works locally, no matter
 collaborative mode or competitive (also single-player mode).

Oh yes. The joy of undo in collaborative applications :) I have a few
papers about that laying around if you need more material about that.

 Features I would like to see:
 - Ultra simple start. Just drag 'n drop a friend from IM app, or fetch
 a list of online IM friends to show inside the game. Easy set up of a
 game on LAN would be really nice too.

 The drag 'n drop is cool! Let me first find out how the general
 drag/drop works :)
 For LAN games: two connection managers provide tubes; gabble handles
 jabber case and salut handles link-local. So just like what empathy
 does, the contact list can be of two parts, one for jabber(maybe also
 msn in the future?) and one for 'People Nearby', people can choose
 respectively.
 When dragging and dropping, we can also know if the contact is from
 gabble or salut. This should be quite transparent and there shouldn't be
 much code dedicated to deal with the different CMs.

 - Game modes (collaborative / competitive)

 Good idea, but how should the competitive mode be like? We can let a
 player win if (s)he fills more (different weight with each filed).
 However, even in collaborative mode, we can also record who fills more
 and give a grade finally.

 Adam's idea is that players still have different puzzles but compete for
 speed (telepathy is only there to display the other's game), right? This
 also works, and we can develop an algorithm to calculate grades based on
 time and difficulty. This mode of competition is common with tetris
 games but I think it's less fun for sudoku, which lacks action and fancy
 stuff. E.g. people generally don't like to watch a guy playing sudoku.

Maybe the players can play the same sudoku but only see that the other
player has filled in something but not what number.This way you can
still get stressed as your opponent gets ahead but not just copy his
results.

 So what about we have just one mode: people complete (or collaborate) to
 finish the puzzle and in the end, players' credit/contribution is
 displayed?

Sure. We can move on to more game types later if needed.

 - Awareness UI. In collaborative mode it would be nice to have a
 shadow of the other players focus to avoid both players working in
 the same area.

 Cool, I would include this.

 - Scoring: How would one win in competitive mode? Sudoku can already
 find a difficulty rating for each field depending on how obvious it
 is. Some sort of penalty for guessing wrong too?

 Sure this difficulty rating can be used, good idea!
 The rating system can be that, all changes to a filed are considered and
 become part of final score. A filed has 3 state: None, Right, Wrong. So
 we can add award and penalty to every state change. I need further
 thinking into this, because there are issues of network delay, judging
 which filling is the final one.

 - Versioning. How to implement this to best prevent that future
 versions become incompatible.

 Do you mean a newer sudoku tries to connect to one of older version? We
 can check version or check tube capacity if tubes are to be made
 optional.

Yes. Basically making sure we announce the version we are running.
Also trying to make the protocol general rather than specific for the
implementation. This is all pretty vague but it is good to keep in
mind that future versions may want to do things differently
internally.

 I think that doing multiplay in sudoku is both very innovative and
 fun. However most of the games are in C and I would have liked a
 general solution that could be used in all the games. Perhaps you can
 even manage both? :)

 Yes a general solution would be great, I will surely stick with gnome
 and gnome-games in the future, but I don't know if I can finish both
 tasks within a summer ;)
 I think we can implement an interface similar to GGZ's, so existing
 network games won't need big change and others can be changed in the
 same manner.

 Cheers,
 Zhang


___
telepathy mailing list
telepathy@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/telepathy


Re: [Telepathy] GSoC idea: Gnome Games + Telepathy Tube

2009-03-20 Thread Zhang Sen
Hi!

On Fri, 2009-03-20 at 08:06 +, Alban Crequy wrote: 
 Abicollab has some explanations how they do undo in collaborative
 editing:
 http://www.abisource.com/wiki/AbiCollab#Problems_with_undo
 It would be nice if you can undo your local moves when you are in a
 different, not related area of the maze. The problem is, do we want a
 maze to be solvable using the undo feature when you would be stuck if
 the undo feature was not there?

Yeah, you took sudoku for sokoban :)
Sudoku will be easier than sokoban, but sure, network lag and conflict
must be considered. Thanks for the great page from AbiCollab. I will
think about the problems and come again with what I may get.

 There should be no code at all dedicated to deal with the different
 CMs. The Sudoku application do not need to know if the contact's
 protocol is jabber or link-local.

That will be even better.

___
telepathy mailing list
telepathy@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/telepathy


Re: [Telepathy] GSoC idea: Gnome Games + Telepathy Tube

2009-03-20 Thread Adam Schreiber
On Thu, Mar 19, 2009 at 11:44 PM, Zhang Sen zh.je...@gmail.com wrote:
 Adam's idea is that players still have different puzzles but compete for
 speed (telepathy is only there to display the other's game), right? This
 also works, and we can develop an algorithm to calculate grades based on
 time and difficulty. This mode of competition is common with tetris
 games but I think it's less fun for sudoku, which lacks action and fancy
 stuff. E.g. people generally don't like to watch a guy playing sudoku.

I meant that they'd be competing to solve the same puzzle.  It
wouldn't be too hard to send an array representing an initial board to
the other player.  The progress of the other player would then be
shown in shadow on the same board or on another without revealing the
filled in numbers of either.

Cheers,

Adam
___
telepathy mailing list
telepathy@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/telepathy


Re: [Telepathy] GSoC idea: Gnome Games + Telepathy Tube

2009-03-19 Thread Vincent Untz
Le jeudi 19 mars 2009, à 23:40 +0800, Zhang Sen a écrit :
 I also think about taking the other games as the gsoc project. The ones
 already with network surely need less modification. Working on Iagno or
 others can also be interesting. But since I am already familiar with
 sudoku code and I prefer python, sudoku would be more better. So what's
 your opinion or this?

Interesting. I wouldn't have thought as sudoku for a first game to use
tubes :-) The idea of having the games use tubes is good (and I'love to
be able to play with my contacts from empathy!).

I'd think creating an infrastructure that all games can use would be
great. The gnome-games maintainers will hopefully have some useful
comments from you.

Vincent

-- 
Les gens heureux ne sont pas pressés.
___
telepathy mailing list
telepathy@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/telepathy