One effective, if naive, approach to determining whether a logic puzzle has a unique solution is checking:
* is my current constraint set satisfiable?
* if so, exhibit a satisfying assignment ("foo")
* add a new constraint that explicitly excludes the solution "foo"
* is the resulting constraint set satisfiable?
* if not, great! (the solution "foo" is unique)
You could go further towards it feeling like a game, yes -- I've been wanting that too. I'm still learning the basics of these things.
http://incredible.pm/
It's fun!
Admittedly the diagrams tend to explode in size for complicated proofs.