Non Anonymized Theme
Solution 1:
The puppets/zombies etc join as players "Puppet1", "Puppet2", "Zombie" etc. (This is what people see when they look at the "Pre-Game" section of the archive liveviewer)
When the game starts, the anonymiser then allocates identities to all the players in the game.
If you skip that last step (by playing without a theme), then you are left with just the player names that joined - so you would see "Puppet1" and "Puppet2" etc.
Non-Anonimised games can still have Djinn-Swaps/Shapeshifts though, so on N1 you could still swap "Puppet1" with "Rox". This would have the puppet then talking as "Rox" and Rox talking as "Puppet1". (Think of it as: in non-anonymised games everyone ends up with an identity of their normal player name rather than one from a theme, but all other interactions with identity-vs-player are still the same)