Page 1 of 2 12 LastLast
Results 1 to 10 of 13
  1. #1
    Join Date
    Jul 2006
    Posts
    13

    Request for David Owens

    Hi David,

    I've been following your C++ lessons with much interest. Now, I'm not sure if you're taking requests, but I'll ask.

    Your coverage of tic tac toe game actually got me thinking about my dream of creating a chess program. I've done a ttt game in BASIC when I was a kid and it didn't have any true AI. I pre-solved the game and used it as an "AI". So, your lessons are very interesting to me.

    I know that there are quite a bit of chess related stuff on the web. I have not found any video series on it though. I'd like to see how a trained programmer plans for a game of this scope and see why certain algorithms are chosen and used together. It would just be an awesome experience to see a decently playing chess program being developed.

    If the scope is too big, could you please do a simpler one? Maybe like checkers or othello?

    Thanks!

  2. #2
    Join Date
    Oct 2009
    Location
    The In Between. US
    Posts
    2,030
    here is a site where somebody made a chess game but it isn't AI so it's more a board setup with rules coded in it.
    elevating to new levels of knowledge (that's the plan at least )

  3. #3
    Join Date
    Feb 2005
    Location
    Bellevue, WA
    Posts
    3,251
    We probably won't be doing chess... that's a very hard problem, though a great topic for AI.

    "Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning." ~Rich Cook

  4. #4
    Join Date
    Jun 2003
    Location
    Trier, Germany
    Posts
    1,350
    the general idea for game-playing algorithms like this is always the same, no matter whether you're dealing with chess or tic-tac-toe:
    you build a tree of all possible game situations reachable from the current game state and from those choose the move that leads to the most winning states (i.e. has the highest probability to win the game). the problem is, that with chess the number of possible states gets very large very quickly (it's still not that bad though, games like the japanese go are far, far worse). so the main challenge for the programmer lies in ignoring the states that are not interesting (i.e. unlikely to win) and determining a good estimate for how likely it is to win the game from a given game state, as you can not simulate the game to all possible ends for any reasonably complex game.

    this is actually a really nice project for intermediate programming students, as the general idea is quite simple but there is lots of room for clever optimizations. however, this will probably be painfully boring to watch as a vtm, for just those reasons.
    if you're interested in this stuff, just try to write something yourself. it will be especially fun if you compete with a friend and let your programs play against each other to see which algorithm performs better.

  5. #5
    Join Date
    Jul 2006
    Posts
    13
    Yeah, I kinda thought I'd strike out. I had to ask because I've always been interested in AI. 3dbuzz seemed most probable place to tackle it than anywhere else that I'm aware of. I realized that I can learn a lot from just watching someone solve a problem.

    How about something like a 9x9 Go game? (the real one uses 19x19 board). I don't want to give up so easily...

    Anyway, please keep up with your great software engineering series. It made me realize that I should learn all the basic algorithms first.

    Thanks.

  6. #6
    Join Date
    Jul 2006
    Posts
    13
    Quote Originally Posted by ComicSansMS View Post
    however, this will probably be painfully boring to watch as a vtm, for just those reasons.
    if you're interested in this stuff, just try to write something yourself. it will be especially fun if you compete with a friend and let your programs play against each other to see which algorithm performs better.
    Woops. Didn't see your post. I agree the videos will bore everyone but me

    The problem with coding it myself is that I don't know how to do it yet. My desire is much bigger than my knowledge of C++, I'm afraid. I'd like to get a big picture first and then tackle the details.

  7. #7
    Join Date
    Jun 2003
    Location
    Trier, Germany
    Posts
    1,350
    Quote Originally Posted by wanalearn View Post
    The problem with coding it myself is that I don't know how to do it yet. My desire is much bigger than my knowledge of C++, I'm afraid. I'd like to get a big picture first and then tackle the details.
    well, you can always ask on the forums for help. for a start pick a simple board game and try to implement the game rules. try to keep the game state (i.e. the position of the pieces on the board) in a separate class, so that you can later easily store different game states for the ai. basically, if you can save and load a game without trouble you will be on the right track.

    don't be afraid to mess up. worst case, you'll have to start over, but you will still have learned some very valuable lessons along the way.

  8. #8
    Join Date
    Jul 2006
    Posts
    13
    Thanks for your advice, ComicSansMS. I should really try a "simple" game like connect 4 first.

  9. #9
    Join Date
    Dec 2003
    Location
    3dbuzzmania
    Posts
    4,064
    You can accomplish that using a MinMax Tree. I suggest you do Tic Tac Toe before connect 4 though.

  10. #10
    Join Date
    Jul 2006
    Posts
    13
    Quote Originally Posted by TF242 View Post
    You can accomplish that using a MinMax Tree. I suggest you do Tic Tac Toe before connect 4 though.
    I got my butt kicked and went from chess back to tic tac toe

    I'll do that. Thanks.

Page 1 of 2 12 LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •