The basic concept of uniqueness is pretty simple. Obviously we don't have the power with DB to do dynamic animations and all that jazz (it'd be possible, but just damn hard), but so long as you code to make things interchangable and generic, you can have the same uniqueness.
I have 7 generic zombie meshes, that use the same skeleton, 6 walk animations and currently 9 skins. I can combine them in anyway I want, giving me 378 unique zombies. I also vary the overall scale to have different heights and build scales, plus change the zombie speed/acceleration values, and adjust the animation playback speed accordingly to have them move at different speeds. The damage they can take, plus their damage animations are randomized, as are their sound effect sets, plus what is glued to their hands, how their AI works (how long they'll chase you for, how easily they'll spot you), plus things like morale (how easily they'll run away) etc. can be randomised.
That's all easy stuff to implement. If you then go on a techy drive, you could randomly create textures for your creatures at run time, or glue on different sets of clothing from random prefabs. You could manually adjust some limb rotations, to make your creatures hunch over a bit more all the time or perhaps have their head slightly tilted to one side. So many possibilities, you just gotta give em a try.
Obviously, the graphics in that game kick an infinite amount of asses. We can't hope to achieve that.