Once pieces have entered the goal camp, they can never leave it once they have left their own home area, they can't go back.There is no obligation to jump, and jumps may end before making all possible jumps in the chain. See details of legal moves on the wiki page. Pieces can move in any direction that free space exists, and may also jump other pieces.Since this shouldn't really affect any code (if we do this right), we will technically allow different board sizes you pass in the board size as you start a game. The "standard" Halma board is 16x16 in size, but 8x8 and 10x10 variations are common.We'll flip a coin to see which player moves first, and there will be a time limit to make a move (e.g. The main points of the rules we'll observe are: Each player starts with some pieces in their corner known as their camp (or also yard), and the goal is to get all of your pieces into the other person's camp. The concept is very simple: you have a square board and play diagonally, from corner to corner. It is essentially a simplified version of Chinese Checkers, a better-known update developed later on. It's basically a game that was invented at by a surgeon at Harvard Medical School in the late1800s, and has the distinction of being "the only truly American board game". You can read all about Halma on the wiki page. And yet it should be complex enough to create a reasonable-sized search space deep enough to reward finely-tuned implementations. The simple board game Halma meets these criteria perfectly: the board is a simple square, there is only one kind of game piece, and movement rules are the same for all pieces. This will make encoding the basic foundations straightforward and will let teams focus on fine-tuning their gaming engines to make them as clever as possible. Of course, appropriate rewards will be given to the winner, as outlined below.īecause our main aim is to focus on the concepts of adversarial search and building *some* sort of smart game player, we want to choose a game that is relatively simple: simple board, simple rules, simple pieces, and simple piece movement. The fun twist will be that we'll actually have a tournament at the end, where teams will run their Halma players head-to-head, with strict per-turn time limits, to see who has the smartest program. For the final project, each team will have to present their implementation as a programming deliverable, complete with write-up, just as usual. As you've noticed from the past programming tasks, there's a huge difference between talking about something theoretically in lecture and implementing a real piece of "smart" software based on the concept! And yet it's creating a clever piece of software that AI is all about.įor our final project this year, we will divide the class up into teams that will each create an implementation of a simple board game called Halma. It's time to have some fun! And, of course, to get some more hands-on experience with applied AI techniques. (a.k.a., Implementing Adversarial Search) Overview:
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |