Miniature/Development

(Project status)
m (Project status)
Line 22: Line 22:
* 2011-07-06: request to port to [[Meego]] : http://forum.meego.com/showthread.php?p=25031
* 2011-07-06: request to port to [[Meego]] : http://forum.meego.com/showthread.php?p=25031
-
* The Miniature project was born as a proposal sent to the Maemo community on 2009-10-31. Check the [[Miniature/archive|archive]] if you want to dig in the past.
+
The Miniature project was born as a proposal sent to the Maemo community on 2009-10-31. Check the [[Miniature/archive|archive]] if you want to dig in the past.
== Download ==  
== Download ==  

Revision as of 00:36, 23 August 2011

Contents

The concept

Miniature is a chess board that is always with you, ready to let you play and learn wherever you go.

  • The main use case is playing online against other players at http://www.freechess.org/ (FICS)
  • Now imagine that you can also chat with the other player.
  • Play P2P games against other players next to you or remotely with your Contacts.
  • Learning is important: watch games live, review stored games and also process offline the lessons offered at FICS.
  • And not only regular chess. Think also on Suicide, Crazyhouse...

Miniature is a Qt application with a C/C++ backend and a QML UI. The architecture is modular, thinking on the addition of different servers and types of interaction.

We are targeting our development on MeeGo Harmattan and the Nokia N9 but we welcome maintainers for other ports e.g. MeeGo upstream, Symbian, Android-Necessitas, Qt powered desktops...

Project status

  • 2011-08-15: New Miniature UX concepts integrated to the master branch - the new engine gets a UI (screenshot).
  • 2011-08-13: Miniature can be developed using Qt Creator (instructions).
  • 2011-08-01: Miniature 0.2.1 released! The new Encore engine and the new QML UI, together for the first time. The game can do real seeks but still no real games.
  • 2011-07-27: New UI targetting MeeGo Harmattan developed in parallel - source & packages for Nokia N9/N950.
  • 2011-07-18: engine refactored around Encore, a GNUChess wrapper. This is the beginning of a rewrite.
  • 2011-07-06: request to port to Meego : http://forum.meego.com/showthread.php?p=25031

The Miniature project was born as a proposal sent to the Maemo community on 2009-10-31. Check the archive if you want to dig in the past.

Download

Currently, there are only unstable packages that can be obtained from Maemo5's extras-devel repositories.

The sources are available at gitorious.org

Development channels

Roadmap

Work in progress, like all roadmaps.

  1. Play games online (this milestone will be reached with miniature-0.2)
    1. Chess game basics, demonstrated off-line.
    2. Online chess basics, targeting http://www.freechess.org/ first
    3. Online chess advanced
  2. Real-time P2P chess
    1. Play P2P online against other Miniature users.
    2. Play P2P online against non-Miniature users.
    3. Play over Bluetooth
  3. Chat with your opponent
    1. Landscape support.
    2. Chatting.
  4. Customization
    1. Download and select different boards and pieces.
    2. Download and select different engines.
  5. Asynchronous P2P chess (via email or SMS?)
  6. Learn chess lessons with moves + text
    1. Positions can be set manually.
    2. Follow lectures from FICS (info + app)
  7. Play local tournaments e.g. via Telepathy Tubes
  8. Play against computer
    1. Basic need covered by pre-installed Chess app.
    2. Default engine selection.
  9. Chess variants
    1. Antichess
    2. Chess960
  10. Display games by you or others, live or stored
    1. Low priority: Chessmonk is concentrating on this for Maemo 5 => not that urgent for Miniature)
    2. History of an opening.
    3. Take a picture of a printed game, process the notations with OCR and display it.
    4. Display several games at a time.
    5. Watch game via webcam stream

Proposals

Add your proposals here. Remember to sign them so we know where do they come from. Just explain the brief concept. If you have further explanations post them somewhere and link from here. Thank you!

  1. Chess clock only function: It would be great to use the N900 as a chess clock only if there is a real board and a "real" opponent is available. The functionality will be in the apllication so a nice UI for this function is all what is needed.--jukey 21:57, 9 November 2009 (UTC)
  2. Chat via freechess.org should work as plugin for the messages application (xmpp/skype/googletalk/...) at the moment. How could this be done?--jukey 15:21, 18 December 2009 (UTC)

Integrated in the roadmap:

  1. Possibility to play a game human vs. human offline. In this case the board should flip 180° between two moves.--jukey 21:57, 9 November 2009 (UTC)
  2. savegame feature for human vs computer and human vs human games cause the game tends to take quite a while.

Architecture

See the Miniature architecture wiki page.

Strings & localization

We don't have stable strings implemented and therefore the localization task hasn't started yet. See Miniature/Development/Strings.

Get involved

New contributors are welcome! You can help testing and bugfixing new releases focusing on the current phase or you can pick one item more distant in the roadmap and go ahead with it. No matter what you do we recommend you to stay on focus.

See the instructions to setup your Miniature development environment. Also, do not forget to install the more hildonized Qt4 for Maemo5 package from extras-devel!

There are some policies that we follow in the project.

Send us patches!

Found a bug? Spotted code smell? We glady accept patches! There are three ways to send patches to us:

  • By reporting the bug, and hopefully attaching a patch that solves the stated problem (but just reporting bugs is also appreciated).
  • By using the chess-devel mailing list: A ML-friendly patch can be created with "git format-patch HEAD~n", where n specifices how many commits (starting from HEAD) should be converted to patches;
  • By issuing a merge request: Send us a link to your public git repo (including branch/revision), or use the merge request feature from http://gitorious.org.

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.
    • From all programs on this list, this is the only one were reading the code is worth your time.
  • SCID, a chess database application for Windows, Linux and Mac OS operating systems.
  • Xboard is a graphical user interface for chess in all its major forms.
  • freechess.org Website of the Free Intrnet Chess Server (FICS)

Contributors

Special thanks to Colin M.L. Burnett for his free piece set used by Wikipedia.