Miniature/Wishlist/Real-time P2P Miniature
Contents |
[edit] Goal
Play chess online directly against a contact, without a chess server in between.
To be implemented using Telepathy a framework supported in the Maemo platform. The intent is to not only have network play via Telepathy working for Miniature, but to make such a Telepathy framework available for other games, too (targeting the Maemo platform).
[edit] Checklist
- Session negotiation
- Protocol
- Save/resume
- Error recovery
- Calendar integration
- Status notification
- Observing games
[edit] Progress
- 2010-01-12: Preparing tp-qt4, patches for building on maemo 5 http://bugs.freedesktop.org/show_bug.cgi?id=26002 http://bugs.freedesktop.org/show_bug.cgi?id=26004
- 2010-01-11: Preparing scratchbox
[edit] Mockups
[edit] Backstage
[edit] Session negotiation
How would two peers start a game of chess via network?
- P1 selects contact - Telepathy needs to know which contacts have Miniature installed?
- P2 receives an offer to play a game of chess and can accept/reject - Is this UI already part of Miniature?
- P2 rejects: P1 receives a message that 1) tells P1's list of Miniature contacts that P2 is not available for a certain amout of time, 2) cancels the P2P game dialog for P1.
- P2 accepts: P1 receives a message that P2 accepted and both advance to the next screen (for now, that's the chess board), and the actual game start is already handled by the XBoard protocol.
[edit] Protocol
There is a P2P-Protocol draft made by Michael Hasselmann. Please feel free to comment!
It is safe to assume that each game has some own internal protocol to transfer game states. For chess engines, XBoard/WinBoard is the standard protocol. But we also need to be able to interface with FICS/ICS.
Interestingly enough, most chess bots that play on FICS probably don't implement the network protocol themselves but instead use XBoard. XBoard then interfaces with FICS for them.
[edit] Save/resume
Players should be able to save a game and resume it another day. Part of Session negotiation or an own item?
[edit] Error recovery
When to abort a connection etc.
[edit] Calendar integration
Players should be able to arrange a game at a certain time and see their scheduled chess games in the Maemo calendar. Part of this phase or a phase in its own?
[edit] Status notification
Tell other users in my contacts list about my chess game.
[edit] Observing games
Observing games is an important aspect in social gaming. On FICS, observers are known as kibitz. Can that be done with Telepathy, too?
- A use case with a phase on its own? --qgil 17:37, 11 January 2010 (UTC)
[edit] Telepathy tubes Details
- Compiling Miniature for maemo (it's really needed for now?)
- Compiling telepathy-qt4 for maemo (?)
- Creating session controller, connection server
- Getting local contact list
- Creating tubes connection between clients to sending Miniature data's
- This page was last modified on 23 August 2011, at 18:09.
- This page has been accessed 14,037 times.