Miniature

(Features)
(Features)
Line 15: Line 15:
== Features ==
== Features ==
-
None for real users yet. Miniature is afew days old and we are defining the features of the first relase.
+
None for real users yet. Miniature is just few days old and we are defining the features of the first relase.
 +
 
 +
Check [[Miniature/Development]] to follow the latest status and to get involved.
== Roadmap ==
== Roadmap ==

Revision as of 20:11, 8 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).

Features

None for real users yet. Miniature is just few days old and we are defining the features of the first relase.

Check Miniature/Development to follow the latest status and to get involved.

Roadmap

Draft. Sorted by priority.

Items with "?" are optional/dubious and might be moved for later phases of development or removed from the roadmap once we focus the discussion on them.

Play games online

  1. Chess game basics, demonstrated off-line.
    1. Finger friendly UI.
      1. Mechanism to avoid false moves. First tap to point square, second to confirm?
      2. TODO: extract all move mode proposals from thread so we can evaluate them while comparing working examples.
    2. Portrait mode.
      1. TODO: find out why "setAttribute( Qt::WA_Maemo5ForcePortraitOrientation, true); setAttribute( Qt::WA_Maemo5ForceLandscapeOrientation, false);" is not sufficient (used git master from here, but it now says: "don't use it". Perhaps this just works now?)
    3. Pieces can be moved manually.
    4. Only legal moves are possible.
      1. Option to highlight legal moves?
      2. TODO: draw a sequence diagram or similar to demonstrate the necessary interactions between remote server, our game component, and the board representation. Also indicate how the user is notified.
    5. "Black/White Wins!" banner after a mat.
    6. Resign.
    7. Pawn promotion, piece selection.
      1. Queen autopromotion?
    8. Draw request/accept.
    9. Timer
      1. Time limit warning?
  2. Online chess basics, targeting http://www.freechess.org/ first
    1. Log in & out
    2. Register
    3. Search challengers / by time
    4. Propose a game
    5. Timeseal support.
  3. Online chess advanced
    1. Join tournaments
    2. Full access to FICS console (might make sense only in landscape mode)

Chat with your opponent

  1. Landscape support.

Customization

  1. Download and select different boards and pieces.
  2. Download and select different engines.

Play with other opponents P2P e.g. via Bluetooth

Learn chess lessons with moves + text

  1. Positions can be set manually.

Play local tournaments e.g. via Telepathy Tubes

Play against computer

Chess variants

Display games by you or others, live or stored

(moved to back since Chessmonk is concentrating on this for Maemo 5 - not that urgent)

  1. History of an opening.
  2. Take a picture of a printed game, process the notations with OCR and display it.
  3. Display several games at a time.
  4. Watch game via webcam stream