Shop OBEX P1 Docs P2 Docs Learn Events
Chess "AI" on prop? — Parallax Forums

Chess "AI" on prop?

TylerSkylerTylerSkyler Posts: 72
edited 2012-09-11 15:19 in Propeller 1
Hey All! I'm about to propose something probably outlandish and impracticable so please forgive me, but is it remotely possible to program the "AI" for chess on the propeller, even a very simple one? I'm inclined to think no, but I hope someone will prove me wrong :smile:.

Thanks,

Tyler

Comments

  • rwgast_logicdesignrwgast_logicdesign Posts: 1,464
    edited 2012-09-10 19:55
    i dont see why not... idk anything about chess algorythms but im sure the machine vision the cmucam does and half the robotics ai done out there is more complicated than chess. i mean chess should be integer based so no floating emulation to slow it down. you got 8 80mhz+ cores to throw at the game, chess master ran fine on my 33mhz 386.
  • Heater.Heater. Posts: 21,230
    edited 2012-09-10 20:29
    It has already been done. By Rayman.
    http://forums.parallax.com/showthread.php?113827-Prop-Chess-(for-VGA)-Human-Vs.-Propeller

    Don't forget that this is Propeller World where the impossible does not exist:)
  • TylerSkylerTylerSkyler Posts: 72
    edited 2012-09-10 22:36
    Heater. wrote: »
    It has already been done. By Rayman.
    http://forums.parallax.com/showthread.php?113827-Prop-Chess-(for-VGA)-Human-Vs.-Propeller

    Don't forget that this is Propeller World where the impossible does not exist:)

    Thanks! didn't see that.
  • RaymanRayman Posts: 14,826
    edited 2012-09-11 07:27
    This could probably be done a whole lot better and easier now that we have GCC doing C++ in XMM mode...
    You maybe able to just compile the source I started from as-is...
  • rod1963rod1963 Posts: 752
    edited 2012-09-11 12:40
    Go check out GameDev.net

    They had a excellent series of tutorials on Chess AI a couple of years ago.

    Then of course you have the Chess programming Wiki

    http://chessprogramming.wikispaces.com/

    Then the Chess Engines
    http://chessprogramming.wikispaces.com/Open+Source+Engines
  • cavelambcavelamb Posts: 720
    edited 2012-09-11 13:25
    Heater. wrote: »
    It has already been done. By Rayman.
    http://forums.parallax.com/showthread.php?113827-Prop-Chess-(for-VGA)-Human-Vs.-Propeller

    Don't forget that this is Propeller World where the impossible does not exist:)

    Yes, but as the Rayman said,
    Can you beat your Prop at Chess?
    This is by no means complete, but I lost motivation when I started running out of room...
    I think it knows all the rules and plays fairly.·
    Also demonstrates my tricked out mouse...



    Hell of an engine, tiny little gas tank...


    I haven't had a chance to look into the Winbond chip much.
    Although it's there running already on the DNA board.

    I did study some of the related wikis some.
    As I best think I understand it?

    Running programs from external memory is done via byte codes
    that are interpreted by the hub. ? I'm weak on how branching is done...
    I'm guessing via the hub,
    jump + or - relative.
    (the interpreter again).

    So that give enough program space for large programs to run.

    Now for data space?


    This is all getting rather non von Neuman...

    More like "Harvard" architecture.

    http://en.wikipedia.org/wiki/Von_Neumann_architecture
  • cavelambcavelamb Posts: 720
    edited 2012-09-11 13:29
    Rayman wrote: »
    This could probably be done a whole lot better and easier now that we have GCC doing C++ in XMM mode...
    You maybe able to just compile the source I started from as-is...

    That would be sweet...
  • ElectrodudeElectrodude Posts: 1,665
    edited 2012-09-11 15:19
    This is a link to the AI that Mac chess uses.

    http://sjeng.org/indexold.html

    You can get to it on a mac (ie the engine, not just the gui) by typing the following into Terminal:
    cd /Applications/Chess.app/Contents/Resources
    ./sjeng.chessengine
    

    If you don't cd first (which sets your path variable) and just run it directly then it will put junk in whatever folder you're in when you run the program. Typing a2a3 would move the piece at a2 to a3. Typing help does just that. It shouldn't be too hard to get it to compile under propgcc.
Sign In or Register to comment.