Miniature/Development
Miniature - Play chess everywhere you go! |
---|
.: Home : Releases : Wish list : Development : Coding style :. |
Contents[hide] |
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 news
- 2011-08-29: first patch from Uwe Kaminski aka jukey committed to the Miniature project. Thank you!
- 2011-08-28: "New seek" feature implemented, mikhas and jukey play the first Miniature vs Miniature game from their devices.
- 2011-08-26: First real & unstable FICS games played. First it was mikhas against himhelf, then mikhas-qgil. :)
- 2011-08-25: How quick I got started with Qt Quick - blog post from Quim Gil featuring Miniature.
- 2011-08-25: Miniature 0.3 runs in MeeGo 1.2 CE on a Nokia N900 (with some bugs).
- 2011-08-23: Miniature 0.3 Berlin Defence released.
- 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.
Project status
Tasks for the next release get a HIGH priority. All the rest falls in the Backlog.
Miniature 0.4 release
ID | Summary (28 tasks) ⇒ | Severity | P | Status |
---|---|---|---|---|
12345 | Miniature's i18n is missing | critical | High | VERIFIED |
12426 | Miniature doesn't handle draw requests | critical | High | VERIFIED |
12341 | Filter buttons for FICS seeks could be simpler | enhancement | High | NEW |
12356 | Miniature should remeber the value used the last time | enhancement | High | NEW |
12376 | Miniature should be able to resume adjourned FICS games | enhancement | High | NEW |
12411 | OnlineBoard: Implement game end dialog for abort during move 1 | enhancement | High | NEW |
12421 | Vibration or sound notification if opponent moves | enhancement | High | NEW |
12456 | Miniature official support for Maemo | enhancement | High | RESOLVED |
12351 | Make move confirmation an option or remove it | enhancement | High | VERIFIED |
12359 | Miniature FICS user must fill id & password every time | enhancement | High | VERIFIED |
12390 | Make last turn visible | enhancement | High | VERIFIED |
12455 | Miniature chat area use is not obvious | enhancement | High | VERIFIED |
12367 | Seek search filters don't work | major | High | NEW |
12424 | [Discussion] OnlineBoard: Implement a better game's end dialog | major | High | NEW |
12434 | SeekGame doesn't filter Atomic games | major | High | NEW |
12394 | Miniature should set autoflag 1 automatically | major | High | VERIFIED |
12408 | Some registered users can't play Miniature as white | major | High | VERIFIED |
12525 | Clock keeps running after finishing a game | minor | High | NEW |
12419 | About Miniature dialog: "i" button is hiding a part of a link | minor | High | VERIFIED |
12380 | Miniature doesn't handle "unseek" | normal | High | NEW |
12414 | OnlineBoard: Implement dialog for abort requests | normal | High | NEW |
12433 | End game confirmation dialogs should lead to gameoverDialog | normal | High | NEW |
12524 | Chat is cut when a game is finished | normal | High | NEW |
12420 | Miniature crashes on closing the application from recents view | normal | High | RESOLVED |
7867 | Display shouldn't dim while playing a game | normal | High | VERIFIED |
12435 | Miniature should recognize games forfeited on time | normal | High | VERIFIED |
12464 | Players with rating of less 1000 points cannot reliably use Miniature | normal | High | VERIFIED |
12470 | Check mate needs to be parsed and processed in Miniature | normal | High | VERIFIED |
- Parameter target_milestone=0.4 is invalid using regex /^[\w]*$/
Backlog
ID | Summary (20 tasks) ⇒ | Severity | P | Status |
---|---|---|---|---|
8142 | Chess games logs need to be stored somewhere | enhancement | Low | NEW |
12346 | Miniature needs a proper repository | normal | Medium | NEW |
12348 | Miniature for MeeGo CE doesn't show TextField | major | Medium | NEW |
12354 | List of games: Show available game offers only | normal | Medium | NEW |
12360 | List of games: Function of the Back-Arrow unclear. Confirmation Dialogue needed? | normal | Medium | NEW |
12392 | Show how much material is left for each player | enhancement | Low | NEW |
12396 | Implement dialog for challanges | enhancement | Medium | NEW |
12410 | OnlineBoard: Implement item "abort" in back menu | enhancement | Medium | NEW |
12413 | The chat log doesn't show the last line when the local user posts | normal | Medium | NEW |
12422 | Show application close button in the upper right corner | minor | Low | NEW |
12423 | Extend chat feature | enhancement | Medium | NEW |
12427 | Miniature doesn't handle adjourn requests | normal | Medium | NEW |
12431 | SeekGames: Do not show more than 50 games in the list at once (was: Implement "clear list" function) | enhancement | Medium | NEW |
12439 | Enable breadcrumbs in the wiki (miniature-chess.org) | enhancement | Medium | NEW |
12443 | FICS Setting: Implement an option to send game notation after a game ends | enhancement | Medium | NEW |
12469 | Initial value of localSide.rating == 0 for Miniature registered users | minor | Low | NEW |
12504 | after failed login, VKB pops up even if in info screen | enhancement | Medium | NEW |
12539 | Installation on the N900 fails | critical | Unspecified | NEW |
12583 | No hint that starting new games is impossible (number of adjourned games to high) | major | Unspecified | NEW |
12592 | qtquickcompat is needed, but not listed as Depends | normal | Unspecified | NEW |
Easyfix (suited for newcomers)
ID | Summary | Severity | P | Status |
---|---|---|---|---|
12392* | Show how much material is left for each player | enhancement | Low | NEW |
Looking for more? There is more at the Wishlist.
Get involved
Contributions are welcome! This is how you can get started:
- Download or build Miniature, and tell us what you think
- Spread the Miniature love among your Chess friendly contacts
- Test the game and check/file bugs
- Fix an open bug in the Backlog, for instance an easyfix.
- Help planning and implementing new features
- Help porting Miniature to more platforms
Localization
The localization work hasn't started yet and as a matter of fact our string are still not L10n ready. It's in our ToDo list, do you want to help?
SDK instructions
Currently you can build Miniature with the latest Qt SDK (including the Harmattan target) or the Harmattan Platform SDK. The Miniature sources and commit logs are available at https://gitorious.org/miniature/ . Both SDKs come with an emulator for deploying your app. All the better if you have a Nokia N950 or N9 to test on device.
Instructions to set you Miniature development environment:
- Qt SDK
- Harmattan Platform SDK instructions are currently missing. fwiw the Maemo Platform SDK might help since both are based on Scratchbox...
Set up a personal clone repository of Minature
If you plan to get involved deeper into development it's a good idea to create a personal clone of the Minature git source repository. This allows you to do merge requests for patches you created in your clone repository. The cloned repository should be connected to Minature as upstream to make it easy to fetch changes from there. Step-by-step description:
- Create an gitorious account or log in and make sure to have an SSH-Key in place
- Clone repository
- enable upstream: Open a terminal and switch into the local folder of your clone project and enter:
git remote add upstream git://gitorious.org/miniature/miniature.git
- fetch upstream data:
git fetch upstream
- Create merge requests: You can use the "Request merge" button in your gitorious clone project website.
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.
Architecture
See the Miniature architecture wiki page. (outdated)
Contributors
Maintainers:
- Michael Hasselmann: lead developer
- Quim Gil: UX & documentation
Gave a big hand:
- Dennis Stötzel: chess logics
- Mathias Hasselmann: veteran programmer
- Dariusz Mikulski: P2P telepathy integration
Special thanks:
- kittykat: game icon
- Colin M.L. Burnett: free piece set used by Wikipedia