Barlight Backgammon

In fully deterministic games such as chess, a human stands no chance against a good computer program. However, a non-deterministic game played against a skilled machine opponent is, at the outset, not entirely ruled in the computer's favor. Though computers can calculate and evaluate game states much faster and further than the human brain, they too are at the mercy of chance. If the rules of the game are primarily skill-based but involve randomness, a good computer program should only win most of the time against a good human player. Those seeking a game where a human player and a perfect computer opponent are equally matched should look into Candy Land® or Snakes and Ladders. While we may despair that our only hope of overcoming a sufficiently sophisticated computer program in a match of wits is to kiss the dice and cross our fingers, we must still learn to make the best use of our good luck if random advantage is to be transformed into endgame success.

The above spiel considers computer programs that are actually good at the games they are designed to play—building such a program is a challenge of its own.

Currently the full game engine is in place, but the "A.I." is tremendously stupid. At the moment, it randomly picks a legal move with no regard for quality. Work in progress, obviously. Written in Javascript, using Three.js.

Play BACKGAMMON

To-Do

  1. First Roll must determine first player to move
  2. Add basic heuristic intelligences (with/without lookahead?)
    • Aggressive flavor
    • Defensive/Cautious flavor
  3. Add a dogmatic intelligence based on information in backgammon strategy book
  4. Add a neural-network intelligence trained with reinforcement learning
  5. Test different varieties of intelligence against each other
  6. Improve interface and useability
    • Ghost pieces for more intuitive move selection
    • Add pause before A.I. response
    • Clicking on the whole bar to select a piece on the bar works, but clicking on the actual piece doesn't
    • Improve text location/message reporting, make adaptive to screen size
  7. Add doubling cube functionality for additional strategic depth

Last updated February 17th, 2018.