Thread #108051761 | Image & Video Expansion | Click to Play
HomeIndexCatalogAll ThreadsNew ThreadReply
H
File: res.png (2.5 MB)
2.5 MB
2.5 MB PNG
Resistance is a classic social deduction game with fairly simple rules that can easily be formalized and made into an interaction protocol. I am thinking of hosting a tournament, where first everyone implements their own strategy for the "good guys" (the resistance). Then have a swiss tournament structure, basically, where you implement a counter strategy for the bad guys targeting a specific good guy's strategy.

I haven't fully settled on all the details, but does this sound fun as a programming competition?
+Showing all 9 replies.
>>
>>108051761
It would probably spark more interest if you explained the rules of the game
I am familiar with the game, and I really don't see how you can make an algorithm to play a social deduction game in any reasonable timeframe. I assume you're being inspired by the prisoner's dilemma tournaments, but that's a far simpler game that can be broken down to a few variables and one output. The fact that it's a multiplayer game, rather than 1vs1, already drives the complexity FAR higher than you seem to estimate
>>
Let's hear the rules, and if >>108053171 is correct, why you think they can be easily formalised.
Intrigued but don't know enough.
>>
>>108053171
>>108053197
Okay, let me explain. First I will explain the general game rules and then how to formalize it. And yes, I am inspired partially by the prisoner dilema games. However, my goal here is to focus on finding a Nash equilibrium, as opposed to random stranger interaction (since Nash equilibrium is obvious for prisoner dilema, while the latter is not). The latter is also a potentially interesting game and am considering that game mode, as well.

The game has 5 to 10 players in two teams. One team is the resistance, the other (smaller one is the spies). It is randomized which player is which, but the teams have fixed sizes. The spies know each other as spies, while the resistance members have no knowledge. The game is then played rounds. In each round the current leder (which is a rotating player) proposes some fixed number of players to go to a mission (mission 1 has has size S1, mission 2 has size S2, etc. -- fixed by the game rules). Everyone votes (at the same time) yay or nay and if more than 50% agree the mission happens as proposed. If the mission does not happen, the next leader tries to reoganize the same mission (same size). In total 5 missions can be played, as each is a point for one of the 2 teams and the games is played until 3 points. In a mission, each player in it decides whether to sabotage it or not, the mission is a point for the resistsance, if no one sabotages, and it is a point for the spies if someone does sabotage (the 4th mission is a n exccetion where 2 players need to sabotage).

Now in the actual game players converse in between rounds to explain their own strategies and thoughts, but since no one actually as private information, this is not strictly needed, if all players are implicitly aware of the shared strategy (as is the case in the nash equilbrium) or if we are testing stanger interaction. Thus we can formalize the game like so. (1/2)
>>
>>108053171
>>108053197
>>108054878
Ops one more missed rule: if 5 proposals for a mission fail in a row, Spies win automatically (thus in practice the 5th proposal is automatically accepted).

Each player's program is initiated with a random seed and it should be deterministic as a function of that and its observations. It is told the number of players (perhaps for the tournament it is always the same) and which index it is in relation to the starting leader.

After that the current leader is queries with `proposeMission` and it outputs indices of the players to go to the mission (these are then told to all other players). Then all other players are asked to `voteForMission` and to output a boolean (all votes are then told to all players). Finally, when a mission passes, the players in it are told to `decideSabotageMission` and only the number of sabotages is reported to all players. That's it.

Now, as mentioned there is a variant where you just implement a strategy for each team and play with random people. However, my focus is on a nash equlibrium.

We are mimicing the setup where everyone is aware of the resistance's strategy (as you don't know whether you will be a part of it) and then the spies have a maximally exploitative strategy relative to that. This is obviously the interesting and realistic direction, as the game is not interesting, if the resistance, let's say just have a secret password that spies do not know and they implicitly communicate it. The spies (just like in irl playing groups) have all the info on how resistance plays (since private communication is forbidden). And the spies already know each other, so having a "hidden" shared strategy doesn't buy them power (other than synchronizing pseudo randomization between them, which is doable irl).

(2/3)
>>
>>108053171
>>108053197
>>108054878


So the way I am imagiving the competition is first: each participant implements their own strategy for the resistance only. Their goal is for this strategy to be maximally unexploitable when playing with team mates running the same strategy and against exploitative opponents (that together have a shared strategy).

Second phase is then played in a tournament or swiss or something stage, where you get your matched's opponent code for the resistnace strategy and you have to produce a strategy for the spies that exploits it maximally. Your goal is to maximize spy winrate with your exploit, and you win the match if your spies win more against their resistance than their spies against your resistance. This way matches are played in some tournament variation until a winner is found (that winner will presumably have a really good resistance strategy and be really good at exploiting others).

Alternatively, it can just be open submission for resistance strategies and then separately writing exploites, where there is a separate leaderboard for each format (potentially with another set of players), but since there is no obvious matches happening, in this format, it seems like each spy strategy writier has to write an exploit against every strategy of the resistance.

Anyway that's it, I'm open to hearing feedback, thoughts, etc.
>>
>>108054878
>>108054998
>>108055033

>pen and paper amogus
Cool, but I don't understand some incentives. Why wouldn't spies just vote "no mission" for everything? Why wouldn't crewmates just vote "yes mission" for everything?

Also, irl, how can impostors know who is who without telling this information to each other privatly since this is forbidden? We draw our lots and Alice and Bob are spies. Ok, now how do they know the other is a spy without secure comms?
>>
>>108054998
>>108055033
I forgot one thing in the setup. Upon initilization, other than your own index you learn whether you are a spy and if so, the indices of all other spies.

>>108055048
>Cool, but I don't understand some incentives. Why wouldn't spies just vote "no mission" for everything? Why wouldn't crewmates just vote "yes mission" for everything?

There are more resistance me mbers than spies, so if resistance members manage to identify each other they can do whatever they want and essentially auto win the game. So if all resistance vote yes and all spies vote no, the spies will immeditally lose. Basically what this means is that spies try to blend in early and late game they may be more willing to burn themselves to score a point.

> l, how can impostors know who is who without telling this information to each other privatly since this is forbidden? We draw our lots and Alice and Bob are spies. Ok, now how do they know the other is a spy without secure comms?

IRL, everyone closes their eyes and then only the spies open them.
>>
>>108055209
>There are more resistance me mbers than spies,
Okay, then why would any crewmate ever vote against any mission? Or ever vote against winning? With people maybe you'll have role players wanting to play pretend and you'll have crewmates just fucking shit up for everyone else just "to make the game more fun", but on perfect strategy, I don't see how any crewmate could ever take any decision against crewmate victory. It's all in the open, right? You don't fuck up alone in electrical with the sus.

>eyes
Ok, so there is one secure comm. Thanks.
>>
>>108055258
Maybe you are confusing the two notions. There is a public vote for whether to hold the mission as proposed. Then once a mission is selected to happen, each player in it privately decides whether to sabotage it. Sabotaged missions give a point to the spies, while non-sabotaged missions give a point to the resistance. (Non held missions give no points to anyone, as it just pospones the mission happening).

If you keep sending spies on missions they would get points, so the point of resistance members is to figure out who the spies are and select those. If someone proposes a mission you don't trust (think there is a spy in there) you don't want to approve the mission. Once you're on a mission, you basically never want to sabotage as a resistance member, though. (While as a spy you have to decide on a tradeoff between scoring points and not showing yourself to be a spy.)

Reply to Thread #108051761


Supported: JPG, PNG, GIF, WebP, WebM, MP4, MP3 (max 4MB)