How we did it:
For HexPunk we decided to focus on two mediums for betrayal to work on. The first is combat, primarily this is how the betrayer completes their role, making sure the other Assassins do not succeed. The second is social gameplay, allowing the players to communicate openly means they will often accuse whoever they think the betrayer is and players debate it amongst themselves. I'll go into more depth in the following segments.
Combat is one of our strongest methods of betrayal in several ways, the primary way is to just hit the other players with everything you've got. This will however often make the other players aware of who the betrayer is, but by making every characters attacks rely heavily on area of effect damage a lot of people accidentally injure each other, causing a lot of suspicion. The second way in HexPunk is to lead the enemy NPCs to the other players, possibly by going ahead and activating an enemy spawner the other players weren't ready for yet can really cause some chaos.
The second method we focused on was through the Social aspect of the game, by allowing players to discuss what's happening with each other they constantly end up worrying about who the betrayer is. This allows the betrayer to throw accusations and generally causes a lot of chaos helping the betrayer to continue undiscovered. Almost any betrayal themed game will require a social element as that's what really brings out the schadenfreude in us all, it means the betrayer can really see how they're affecting the party and by maintaining hidden they can mess with the other players quite a bit.
We looked heavily into involving puzzles in HexPunk that might allow the betrayer a few more advantages, while we sadly didn't end up being able to implement them, most of them ran on one of two ideas. The first was to make puzzles where people would be forced to split up, perhaps into teams of two, or uneven groups, in teams of two the betrayer could have a good chance to single out a player without the rest of the group being certain whether they are the betrayer, or the person they took down are the betrayer, and whether or not they should revive them. The second option was to have tasks that no matter what had a percentage of a fail rate, but the betrayer would get a second option to ensure a failure (this might cause more enemies to spawn or everyone to take instant damage).