My first thought was too have every copy come with a built in activation code and a function would recognize whether or not that is the correct activation code. So I'd be sending the game along with the activation code to each one of my buyers.
But I'm guessing having a database of codes would be better? However, I don't know if I want to go through and learn a language that can be capable of handling an online database or server to do so.
Any thoughts guys?