I've been doing some thinking and research into watermarking (development) game builds, and thought I'd survey folks to see what methods people are commonly using these days.
The intent here is not copy-protection, per-se (although there is overlap in techniques), but rather being able identify the source of a game build. The common scenario being that builds are delivered to a testing group or other external partner, and then a build shows up in the wild somewhere, or perhaps more likely a youtube video pops up showcasing your dev build.
The obvious answer is simply embedding an ID into the executable...in the case of finding a build in the wild, you simply inspect it and extract the ID. In the case of a youtube video, I think a gameplay or UI element that covertly presents that ID (non-obviously) would be the way to go.
However, I'd like to explore doing something that is perhaps not so trivially found/altered. For instance, if someone got their hands on two differently watermarked builds, it would then be easy to identify and replace the watermark ID with an invalid one. In this case I might consider preventing the game from running (stressing that this would be a development build only thing). I'm not too worried about someone going hardcore and circumventing the watermark validation check with code injection or what have you, but rather the trivial poking/replacing values scenario.
I've seen lots of interesting tricks (using RTTI class names, various other encodings via generated instructions, etc.), curious what you guys have found useful.