Editing Miniature/Wishlist/Real-time P2P Miniature
Warning: You are not logged in.
Your IP address will be recorded in this page's edit history.
The edit can be undone.
Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 14: | Line 14: | ||
==Progress== | ==Progress== | ||
- | |||
- | |||
==Mockups== | ==Mockups== | ||
Line 29: | Line 27: | ||
=== Protocol === | === Protocol === | ||
- | |||
- | |||
It is safe to assume that each game has some own internal protocol to transfer game states. For chess engines, [http://www.gnu.org/software/xboard/engine-intf.html XBoard/WinBoard] is the standard protocol. But we also need to be able to interface with [http://www.freechess.org/Help/AllFiles.html FICS]/[ftp://ftp.chessclub.com/pub/icc/formats/formats.txt ICS]. | It is safe to assume that each game has some own internal protocol to transfer game states. For chess engines, [http://www.gnu.org/software/xboard/engine-intf.html XBoard/WinBoard] is the standard protocol. But we also need to be able to interface with [http://www.freechess.org/Help/AllFiles.html FICS]/[ftp://ftp.chessclub.com/pub/icc/formats/formats.txt 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. | 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. | ||
- | === | + | === FICS details (not strictly P2P related) === |
- | + | The various intro-* help pages for FICS seem to explain everything we'd need ([http://www.freechess.org/Help/HelpFiles/intro_basics.html basics], [http://www.freechess.org/Help/HelpFiles/intro_general.html general], [http://www.freechess.org/Help/HelpFiles/intro_information.html information], [http://www.freechess.org/Help/HelpFiles/intro_moving.html moving], [http://www.freechess.org/Help/HelpFiles/intro_playing.html playing], [http://www.freechess.org/Help/HelpFiles/intro_analysis.html analysis], [http://www.freechess.org/Help/HelpFiles/intro_settings.html settings], [http://www.freechess.org/Help/HelpFiles/intro_talking.html talking]). | |
- | + | Playing on FICS would happen via telnet (telnet freechess.org), perhaps Telepathy could also handle the connection management for that. This would reduce the risk to maintain two different code bases in Miniature (P2P, FICS) that eventually do the same. My hope is that Miniature only needs to know about XBoard whereas P2P/FICS/ICS would all happen in the Telepathy component. | |
- | + | ||
- | + | On a side note: It also seems to be common for network games to have those two protocols - one for finding games (a game servers browser of some sort, see [http://www.qtracker.com/]) and one for the actual game. The separation into two truly distinct protocols might rarely exist (again, see FICS). | |
- | + | ||
- | === | + | === Interoperability === |
- | + | With XBoard it would seem trivial to play chess across application boundaries. | |
=== Observing games === | === 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? | Observing games is an important aspect in social gaming. On FICS, observers are known as kibitz. Can that be done with Telepathy, too? | ||
- | |||
- | === | + | === Status notification === |
- | + | Tell other users in my contacts list about my chess game. | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | === Error recovery === | |
+ | When to abort a connection etc. | ||
+ | |||
+ | === 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 |
Learn more about Contributing to the wiki.