Re: [Telepathy] GSoC idea: Gnome Games + Telepathy Tube
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
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
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
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
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
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
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
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