Archive for March, 2013


How to build a constraint propagator in a weekend

This is a tutorial that Leif Foged and I did for the AI summit at GDC on how to build your own finite-domain constraint solver using AC-3.  It’s won’t solve the really hard problems that high-end SAT solvers can solve, but it’s very fast for problems with a lot of solutions; fast enough to run in a game engine:

Comments welcome.  I intend to keep revising it, since it isn’t archivally published.