DSChess - A chess game for the Nintendo DS

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
  • Sound
  • 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

Tips for beginners

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!

Tips for pros

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.

Download

DSChess Binaries 0.4 (old version 0.3)
DSChess Source 0.4
Bigger opening book

Compatibility

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.

Changelog

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)

  • Sound!
  • 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

DS Chess Graphics

I love the game, good job, hopefully one of the improvements you might consider is the graphics most specially the chess pieces the Knight in particular, overall i hope you can work on improving graphics of the board and pieces, adding historical games would be good too. Thanks.

I agree. Awesome chess

I agree. Awesome chess program for the DS! I also agree about the knight. I think the head needs to be a bit bigger, because sometimes I mistake it for a bishop or pawn. Other than that, I love this homebrew!

DS Chess Graphics

I love the game, good job, hopefully one of the improvements you might consider is the graphics most specially the chess pieces the Knight in particular, overall i hope you can work on improving graphics of the board and pieces, adding historical games would be good too. Thanks.

Installation clairification

This game works great on my DS, but I'm unsure if everything is installed correctly. I just want to make sure I'm getting everything that DSChess has to offer, so please walk me through the installation steps so I know I didn't leave anything out. Thank you.

Best Chess game on the DS no doubt

Two things I have to say.

First, I was heavily disappointed with the NDS version of Chessmaster and thought Chessmaster GBA would be the only way I could play chess on the DS. Then I discovered DSChess and couldn't believe it was free. Thank you so much for developing this homebrew!

Second, I made what maybe a common mistake when changing the computer settings. I had noticed during a game that the computer was playing as strong at level 1 as it was at level 11 (that is, level 1 was constantly kicking my butt). When I checked the settings again, I realized that although I had used the left/right direction pads to alter the level numbers, I had not pressed "A" to lock in the setting (the ">" moves to the Level option). Many people might make the same mistake. So if you're wondering why level 1 is still too hard, make sure you press "A"!!!!!

h vs h

how do you put h vs h mode?

Thanks!

This works great. Finally a good chess game for the DS. Thanks a lot for your great work!

Other

I liked your site.

save file format

What is the save file format?

Install on R4

Do I need to Install the .nds file as well as the .gba.nds file on my NDS? I have an R4 with EZ Flash 3 in 1, do I need both files to run in on my DS? If not which one would be better to have?

Install on R4

I think I figured out how to make it work, I put the Chess game on my R4 and played it but it was kind of slow. I forgot you can select EZ Flash 3 in 1 as extra Ram, after I did that it started to run faster. This way I don't have to flash the .gba.nds file to the EZ Flash card.

Good work man!

Hi!

Just one thing from Italy...

This software is great!
I'm looking forward for the FICS client on DSChess.

Keep up the good work!

All the best
Dave

Client FICS

Hi Dave

have you find a FICS client for Nintendo DS?
(anch'io sto cercando un client FICS per Nintendo DS. L'hai trovato?)

Ciao

A maximum power

I am Spanish, my English is really bad. I have several questions:

1.- What files needed to get the maximum?
2.- How do I put this game to a maximum of difficulty?
3.- I am aware that there appears to be saying that the ELO.

If I could explain how to play with the engine is the maximum I would greatly appreciate. If it is step by step, the better.

Instruciones

1-En la pantalla inicial, oprima "START"
2-En la pantalla que dice "Game" ve a "Settings"
3-En la pantalla que dice "Game Settings" ve a "CPU Setting"
4-En la pantalla que dice "CPU Setting" cambia el numero de "Level" a 11 (el maximo)
5-inicia un juego nuevo y disfruta.

-K

Would it be possible to

Would it be possible to somehow make the opening book viewable so we can play through the moves and lines of an opening?

a few problems I have found with this game.

1. I find little to no difference between the levels.
2. after you play the game a few times it starts to slow down really bad.
3. after playing several matches the game glitched on me. Upon restarting my ds I found that all of the games I downloaded were gone and there are now 10 folders with odd number combinations for names.

You're lucky it only got my games. If it erased my whole card I'd be really pissed.

Make sure you press "A" when

Make sure you press "A" when you pick the level. When you press "A" you will see the ">" move and hear a lower tone beep. I made the mistake of just changing the level numbers and immediately exiting the screen.

Re: Problems

Hi,

the difference between the levels are not that big, but they are there (and only for beginners). Don't forget to restart after choosing a level.
Can you describe a little bit more what you mean by slow down really bad, since the game is static most of the times.

To nr. 3: Mmh, this is really interesting, I have no idea what happens here, because I only write to one file "chess.sav". Maybe it was caused by another game/proggi, if not can you try to give a short explanation how to reproduce this behavior.

response to webmaster

I posted the problems about this game. It seemed to start lagging and thats what I meant by it slowing down. I don't remember what I did to corrupt my files. I think I just played one game on each level and on the last game it froze. That's when I found the corrupted files. It might not have been caused by this game.

Great chess game

Thank you for this game. It is by a long distance the best chess game for the DS - in fact it is the only chess game worth considering for non beginners.

I have just tried the new version and it worked immediately with a Supercard One - something I could not do with the last version I tried back in Oct last year.

I would echo the comment below that it would be great to be able to load positions.

Once again - thank you for your efforts.

It works great on my R4...

It works great on my R4... the AI beat me handily.

The only gee-whiz feature it's missing is wifi play, especially over the internet. That would be awesome. :D

Test positions

Hi,

I already made a test (BT 2450) and got an ELO of ~2270. For the next version I maybe will implement a png reader and browser.

Fine

Thanks for the reply it is really impressive.

I'm very happy and waiting for future devs ;-)

wow

wow, this program is very high quality as homebrew apps go... very nice menu system and overall aesthetics... very user-friendly. great work!

i found one incredibly minor bug so far: under Game Settings > CPU Settings > Level, if I press left on the D-Pad the level will change from 1 to 9, however, pressing right after that I can access 10 and 11. It seems the level should change from 1 to 11 when the player presses left.

So 1 is the easiest difficulty? Is there any hope for me? What rank does the CPU have with different settings? Would it be possible to make this (CPU rank) visible to the player when adjusting the settings? I would love to improve my chess with this program, but it is discouraging to be crushed so easily!! :)

Thanks for the great game.

depth

upon further inspection, Depth appears to do the same thing... it switches from 1 to 7 (instead of 9) when the player presses left.

bug

Thanks for reporting. I will take a look at it.

dsChess

Hey just writing to say thanks, I finally got DSChess to work. With the older version I had the common problem were it 'hangs' after leaving its opening book. Now it works perfect, great job. I use M3 mini Sd pro and a NO Pass passcard, no Dsorganize or anything.

Cheers

FICS Client

fyi I am currently working on making DSChess a client for FICS!

It will take a while though, but I'll keep you posted.

Suggestions

This is an excellent app... wish i could beat it though! It has really helped me improve my chess however there is one specific enhancement that should be on it and it is a no - brainer i think. It would be great to have a 2 player option (no chess computer) to play with others..ie just use it as an expensive chess board. There have been many times on the train where i would have loved to play with my friend. Also it would allow me to set up and work through chess examples from books.

D

Opening book loaded?

Great program!

Question: how do I know if the book_small.bin file was successfully loaded by the program?

Since a small number of book moves are already compiled into the program, DSChess makes some book openings whether or not the .bin file is on the sd card. I couldn't find the source for book_small to check for specific moves.

Yesterday I was like :

Yesterday I was like : Somebody must've done a chess game for DS. I was happy to see I was right :D.
Keep up the good work!

Make me happy!

Are you still workin' on this? The most valuable feature to wish for'd be online gamblin', of course. Ganbare!

Thank you for your giving but,

Is there no PGN reader function? I want to see PGN files in my NDS. Can you make it to see PGN files?

Please I will see PGN files in NDS. Again, thank you for this program. It is very good I think.

PGN

I second that ;-)

Please let us know if we can expect an update soon or later. Are you planning to release the source either ?

This is the best chess engine for DS far better than the three commercials avalaible.

Keep the good work and grateful thanks !

I play this all the time.

I play this all the time. Keep up the good work!

Agree.

Works nice now. Running on Slot1 Supercard. Just starting the DSchess.nds and no hangups so far.
Very good work.

hi me again ;-)

Fruit is not commercial anymore it is free again

Thanks for your program it works fine with Cyclo evolution ( slot 1 ) straight or with Chism's loader or from DSOrganize ( with latest DLDI 1.1 release)

Gh0st

BIG Thanks ;-) finally a new version with DLDI support i will try it immediatly on my Cyclo evolution ;-)

Maybe I'm crazy, but I can't

Maybe I'm crazy, but I can't figure out how to get H v H on this game. It seems to be missing a menu, or else I'm incapable of navigating menus. How do I accomplish this? And I also find little difference in the levels, but that's probably due to my own lack of skill more than anything

the h vs h setting is under

the h vs h setting is under the play black or white color setting.
btw, Fantastic game thx.