teaching.bb-ai.net/Student-Projects
AI for Board and Card Games
Project code: BB-GameAI
Improbable supervisor: Brandon Bennett
Type of project: Exploratory Software.
Area of Interest: AI.
Appropriate for degree programme: Any
Appropriate number of credits: Any
Multiple projects can be considered: Yes
Prerequisites: AI, Programming
Traditional board and card games such as chess, checkers, backgammon, go
and poker have proved a rich source of problems and inspiration for
the development of AI techniques and algorithms. These days a vast number
of boardgames are available involving a diverse range of game mechanics
and strategies.
A project in this area would require:
- the design of software that can implement a game in terms of
some representation of possible game states and possible
state transitions that accord with the rules of the game.
- design and testing of an algorithm (or possibly several
algorithms) that can simulate a player by picking
reasonable (hopefully good) moves.
Some useful resources for Games AI projects are the following:
A student doing this project would choose a game whose states and
rules are not too complex but whose play requires a significant
amount of strategic and/or tactical consideration. Some possibilities
are the following:
- Why First? --- a simple but subtle multi-player card-based racing game,
where the person who comes second wins.
(A previous successful project has addressed the problem
of finding strategies for this game using a reinforcement
learning approach. But there is plenty of scope for
more research into this game.)
- Jaipur --- a 2 player card game based on the idea of buying
and selling commodities. (Can build on work of a previous project.)
-
Cartagena --- a pirate themed game where you have to optimise
the movement of your pieces along a track, with possible moves
determined by matching cards to symbols on the track.
-
Samurai --- a tile placement game with an ancient Japanese
theme. (Can build on work of a previous project.)
- 7-Wonders --- A fairly complex card game with a theme of
developing an ancient civilisation. This game is interesting because
points can be scored in a variety of different ways. Although separately
each of the scoring possibilites is fairly simple they are each based
on different mechanisms and deciding which is best to persue is
challenging.
(Can build on work of a previous project.)
- Blokus ---
A tile laying game that uses different shaped tiles, where you try to
maximise the number of tiles you place while blocking your opponent(s)
from placing theirs.
(Can build on work of a previous project.)
- Coup ---
A quick and fairly simple game involving hidden information and
bluffing.
- Hive --- a simple but challenging tile laying game,
with an insect theme.
Various standard techniques can be applied such as learning weightings
for various desirable properties of a game state by reapeatedly
playing differently weighted program instances against each other.
Previous Project Reports