Miniature
(→References) |
(→Use cases) |
||
Line 31: | Line 31: | ||
[[Image:Miniatura-playgameh.png|frameless|caption]] [[Image:Miniatura_alternative.png|frameless|caption]] | [[Image:Miniatura-playgameh.png|frameless|caption]] [[Image:Miniatura_alternative.png|frameless|caption]] | ||
- | == Use cases == | + | == Use cases and features == |
Draft. Sorted by priority. | Draft. Sorted by priority. | ||
- | # Play games | + | # Play games online |
+ | ## | ||
+ | ## http://www.freechess.org/ support | ||
# Display games by you or others, live or stored. | # Display games by you or others, live or stored. | ||
# Learn chess lessons with moves + text. | # Learn chess lessons with moves + text. | ||
Line 42: | Line 44: | ||
# Play against computer. | # Play against computer. | ||
# Chess variants (suicide, randomhouse...) | # Chess variants (suicide, randomhouse...) | ||
+ | |||
+ | == Technology selections == | ||
+ | How to make the most from existing free projects avoiding forking and duplicated work as much as possible. | ||
+ | |||
+ | * Qt 4.6 for UI layer. The goal is to have Maemo as primary development platform, aiming for straight ports to Symbian and other Qt compatible platforms. | ||
+ | ** Can we save work by looking at [http://pacaq.sourceforge.net/ pacaq] and [http://knights.sourceforge.net/ Knights]? Others? --[[User:qgil|qgil]] 06:22, 3 November 2009 (UTC) | ||
+ | * What starting point to get the online chess features? | ||
+ | * What starting point for chatting? | ||
+ | * What starting point for game analysis? | ||
+ | ** [http://scid.sourceforge.net/ Scid] ([http://packages.debian.org/lenny/scid see dependencies]) would be nice by itself and as gateway to [http://www.craftychess.com/ Crafty] ([http://packages.debian.org/lenny/crafty see dependencies]) and other engines. | ||
== Architecture == | == Architecture == |
Revision as of 06:22, 3 November 2009
You love chess. You love Maemo and its devices. You believe they fit so well... yet you haven't found a convincing implementation of a chess game for Maemo. Miniature to the rescue!
Contents |
The concept
More or less:
- The main use case is playing online against other players at freechess.org
- Now imagine that you can also chat with the other player.
- Playing against the computer is a given (chat is optional)
- Learning is important and it would be great to watch games, review stored games and also process offline the lessons given at certain times in freechess.org
- A variant would be to play against othe player with a compatible device via local network or bluetooth.
- I guess if we got at this point then implement variants such as suicide chess, random house, etc is peanuts.
Basing this on Qt 4.6 would be useful to assure the Fremantle - Harmattan path, be fully compliant with whatever the Ovi store brings and have ports for Symbian, Windows Mobile and desktop OSs (Linux, Windows, Mac).
Project status
Kicking off. Nothing exists. Just a Talk thread, a Garage project and this wiki page.
The developer mailing list is chess-developer@garage.maemo.org
Mockups
These are the current sketches.
Old ;)
Use cases and features
Draft. Sorted by priority.
- Play games online
- http://www.freechess.org/ support
- Display games by you or others, live or stored.
- Learn chess lessons with moves + text.
- Chat with your opponent.
- Play with other opponents P2P e.g. via Bluetooth.
- Play local tournaments e.g. via Telepathy Tubes.
- Play against computer.
- Chess variants (suicide, randomhouse...)
Technology selections
How to make the most from existing free projects avoiding forking and duplicated work as much as possible.
- Qt 4.6 for UI layer. The goal is to have Maemo as primary development platform, aiming for straight ports to Symbian and other Qt compatible platforms.
- What starting point to get the online chess features?
- What starting point for chatting?
- What starting point for game analysis?
- Scid (see dependencies) would be nice by itself and as gateway to Crafty (see dependencies) and other engines.
Architecture
Logic:
- Game - the logic for a particular game, right now that would be just chess, but other board games could be possible too. (Chess based or other)
- Pre-Game - How to find players, select a server or engine
Domain:
- Board - Represents the data structure of the board (duh)
- Player - information about the other player, like online status, skill level
Communication:
- ICS
- Bluetooth
- Telepathy
- Computer Chess Engine - an offline engine should be accessed the same way any online game is, the engine does not have to be in the same task
References
- Crafty is a free, open-source computer chess program.
- EBoard and Crafty for the N810/N800/N770 - OS2007 Downloads page.
- Knights aimed to be the ultimate chess resource for the K Desktop Environment... years ago.
- pacaq is a chess game visualizing and analysis tool done with the Maemo 4.1 Qt4 port - Talk thread.
- SCID, a chess database application for Windows, Linux and Mac OS operating systems.
- See also SCID Pocket
- Xboard is a graphical user interface for chess in all its major forms.