DSChess is a homebrew chess game for the Nintendo DS. It builds upon a very strong open source chess engine called Fruit 2.1 by Fabien Letouzey (free again: www.fruitchess.com). The engine was changed to meet the requirements of the Nintendo DS. It is the strongest playing chess game on the Nintendo DS as two representative matches against Chessmaster and Schach has shown :).
The interface is quite simple but functional. Here are some features:
- Support all rules like castling, En passant or 50 moves rule
- Play chess against a strong engine (Elo ≅ 2270 calculated by BT2450)
- Play against your friend on one DS (H vs. H mode)
- Touchscreen support, move the pieces with the stylus
- Changeable opening book
- Undo moves
- Different time options (even infinite) or fixed calculation depth
- Eleven levels with increasing strength for beginners
- Force the computer to make a move
- Move suggestion
- Resume last game (only with DLDI capable cards)
- Analyze chess positions
- Permanent brain (Ponder)
There are many things, that need to improve. Besides (I hope not so many) bugs, there are some known problems:
- Pawn promotion (it will automatically promote to a queen)
- Black pixel in the top left corner of the touch screen
To run the game on a NDS, you need either FlashME, WifiME or a PassME and some sort of GBA flashcard or the GBA Movie Player with chism firmware update. Please take a look here, before sending me emails about how to play the game on the Nintendo DS.
You can test DSChess even without a DS with emulators e.g. DeSmuMe or no$gba.
If you find a bug or have a recommendation for a new feature send me a mail or leave a comment. Remember that this is a not very well tested version.
I would like to thank my good friend Stefan for testing and also the people at #gbadev and the gbadev forum for their help. Of course the whole project wouldn't be possible without wntrmute's excellent DevkitPro.
How to use it
Just move your figures with the stylus on the chess board. To enter the main menu press start. In the menu you can navigate with the arrow keys and by pressing A to execute a menuitem (like Undo move) or enter a submenu. To leave a submenu press B.
If you are a lucky person who owns a flash card with DLDI support you can change the opening book (the one compiled into the ds-file is very small) to a bigger one by putting it onto your cf or sd card (of course you have to patch DSChess for your device first). It must be called book_small.bin. The book has to be created with PolyGlot.
DSChess saves the game after every ply, so you can resume your last played game. Remember, this works only if your card supports DLDI with write support.
You can use the buttons as shortcut for some menu items:
- A - Force the Nintendo DS to make a move
- L - Undo last move
- R - Get a hint what to do next
- Start - Enter the menu
- Select - Switch between main and move notation screen
If you are no professional chess player it is possible that the engine is to strong for you, regardless of the time or depth setting. Since version 0.4 there is a level system for weaker players, you can find it under CPU-settings. Start with level one and increase the strength. If you beat the engine on level eleven, you can use the standard time or depth settings where DSChess plays stronger.
Important: After setting the level, start a new game with New game/Start game, otherwise the engine plays stronger than suggested by the level!
It is always possible to change the Color setting, even in the middle of a game. This makes it possible to analyze a setting:
Start the game in H vs. H mode and play the game until the position you want to analyze. Then set the color setting to the color you want to play and instantly your Nintendo DS starts thinking, if you choose Movetime<Inf.> the AI thinks as long as you do not force the next move.
DSChess Binaries 0.4 (old version 0.3)
DSChess Source 0.4
Bigger opening book
Version 0.3 seems to be compatible with all main flash devices. Since I have changed a lot in version 0.4 and I have limited testing possibilities it could be possible that there are new problems with some devices.
Please send me a message or a write a comment if you have problems with version 0.4, I will then try to fix it.
24.03.2008 (version 0.4)
- Human vs. Human playing mode
- Moves record in standard algebraic notation (use Select to switch)
- Infinite thinking time for analyzing positions
- Optimized memory management and hash tables increases AI search speed by more than 50%, so this version plays a lot stronger than the previous ones
- Eleven playing levels with increasing play strength for beginners (under CPU-Settings/Levels)
- Loads of bugs fixed
17.08.2007 (version 0.3)
- DLDI support
- Auto save game
- Minor enhancements and some bugs fixed
11.12.2005 (version 0.2.1)
- Fix bug with GBAMP and top screen
11.12.2005 (version 0.2)
- Many improvements to the UI (move animation, nicer fonts, ...)
- Load opening book from compact flash or sd card
- Button support
- Nearly one million bugs fixed :-D
19.11.2005 (version 0.1) - first release of DSChess