Are you going to maintain validation logic in 3 or more places if your application has to support more than one DBMS -- with different syntax, no less? Development tools and support are considerably better for application code. Now you're stuck trying to implement mocking and unit tests for constraints on each platform.
There are times where you could make an argument for putting business logic into the database, like for data warehousing systems, but even that's debatable. The OP described his app as a "game" so I'm going to assume this isn't one of those times. Dividing responsibility into several application layers is a no-no.
I guess I don't think of it as business logic as it's just enforcing a relationship for the sake of data integrity. I don't unit test one to one or one to many relationships as I figure the foreign keys are enough to guarantee data integrity.
