Checks
play
Details
+0 −0 field/deterministic/__pycache__/main.cpython-313.pyc added View file
+0 −0 field/random/__pycache__/main.cpython-313.pyc added View file
+0 −0 kit/__pycache__/host.cpython-313.pyc added View file
+0 −0 kit/__pycache__/league.cpython-313.pyc added View file
+7 −0 metrics.json added View file
| @@ -0,0 +1,7 @@ | ||
| 1 | +{ | |
| 2 | + "score": 0.5, | |
| 3 | + "subtasks": { | |
| 4 | + "seer": 0.5, | |
| 5 | + "werewolf": 0.5 | |
| 6 | + } | |
| 7 | +} | |
+0 −0 referee/__pycache__/kaggle_seat.cpython-313.pyc added View file
+1 −0 replays/deterministic-3-seer.json added View file
| @@ -0,0 +1 @@ | ||
| 1 | +{"game":"werewolf","version":2,"players":[{"seat":0,"id":"Player 1","name":"deterministic","kind":"bot","role":"Werewolf","team":"Werewolves","out":{"who":0,"cause":"exile","role":"Werewolf","team":"Werewolves","day":1}},{"seat":1,"id":"Player 2","name":"deterministic","kind":"bot","role":"Werewolf","team":"Werewolves","out":{"who":1,"cause":"exile","role":"Werewolf","team":"Werewolves","day":2}},{"seat":2,"id":"Player 3","name":"main","kind":"bot","role":"Seer","team":"Villagers","out":{"who":2,"cause":"night","role":"Seer","team":"Villagers","day":0}},{"seat":3,"id":"Player 4","name":"deterministic","kind":"bot","role":"Doctor","team":"Villagers","out":{"who":3,"cause":"night","role":"Doctor","team":"Villagers","day":1}},{"seat":4,"id":"Player 5","name":"deterministic","kind":"bot","role":"Villager","team":"Villagers","out":null},{"seat":5,"id":"Player 6","name":"deterministic","kind":"bot","role":"Villager","team":"Villagers","out":null},{"seat":6,"id":"Player 7","name":"deterministic","kind":"bot","role":"Villager","team":"Villagers","out":null}],"events":[{"t":0,"kind":"phase","phase":"night","day":0,"en":"Werewolf game begins.\n - **Player Roster:** ['Player 1', 'Player 2', 'Player 3', 'Player 4', 'Player 5', 'Player 6', 'Player 7']\n - **Alive Players:** 7.\n - **Role Counts:** {Villager: 3, Werewolf: 2, Doctor: 1, Seer: 1}.\n - **Alive Team Member:** {Villagers: 5, Werewolves: 2}\n - **Day Discussion:** Roundrobin. Players speak in round-robin order for 1 round(s). The starting speaker rotates to the next player in the list for each subsequent day, but remains the same for all rounds within that day.\n - **Day Exile Vote:** Sequential Voting. Players vote one by one. Player with the most votes after all have voted is eliminated. The starting voter is chosen randomly for each voting phase. Ties result in random selection amongst the top ties. If no valid vote available (if all casted abstained votes), will result in random elimination of one player.\n - **Night Werewolf Vote:** Sequential Voting. Players vote one by one. Player with the most votes after all have voted is eliminated. The voting order always starts from the beginning of the player list. Ties result in random selection amongst the top ties. If no valid vote available (if all casted abstained votes), will result in random elimination of one player.\n - The following explain the function of each role.\n * Role name Werewolf - team Werewolves - Each night, collaborates with fellow werewolves to vote on eliminating one player.\n * Role name Seer - team Villagers - Each night, may inspect one player to learn their true role.\n * Role name Doctor - team Villagers - Each night, may protect one player from a werewolf attack. Doctor is NOT allowed to save themselves during night time.\n * Role name Villager - team Villagers - No special abilities. Participates in the daily vote to eliminate a suspected werewolf.\n - If a player is exiled in the day, their role will be revealed.\n - If a player is eliminated at night, their role will be revealed.\nNight 0 begins!"},{"t":1,"kind":"heal","actor":3,"target":0,"why":"I am going to do one fixed thing."},{"t":1,"kind":"inspect","actor":2,"target":0,"role":"Werewolf","team":"Werewolves","why":"I am going to do one fixed thing."},{"t":2,"kind":"wolf_vote","actor":0,"target":2,"why":"I am going to do one fixed thing."},{"t":3,"kind":"wolf_vote","actor":1,"target":2,"why":"I am going to do one fixed thing."},{"t":3,"kind":"wolf_pick","target":2,"votes":{"0":2,"1":2},"counts":{"2":2},"tie":null},{"t":3,"kind":"phase","phase":"day","day":1,"en":"Day 1 begins."},{"t":3,"kind":"dawn","killed":2,"en":"Last night, player \"Player 3\" was eliminated by werewolves. Their role was a \"Seer\"."},{"t":3,"kind":"out","who":2,"cause":"night","role":"Seer","team":"Villagers","day":0},{"t":3,"kind":"talk","order":[0,1,3,4,5,6],"en":"Villagers, let's decide who to exile. The discussion rule is: Players speak in round-robin order for 1 round(s). The starting speaker rotates to the next player in the list for each subsequent day, but remains the same for all rounds within that day.\nDiscussion phase begins. Players will speak in round-robin order. Full speaking order for 1 round(s): ['Player 1', 'Player 2', 'Player 4', 'Player 5', 'Player 6', 'Player 7']"},{"t":4,"kind":"speech","actor":0,"text":"I am a simple villager.","why":"I am going to do one fixed thing."},{"t":5,"kind":"speech","actor":1,"text":"I am a simple villager.","why":"I am going to do one fixed thing."},{"t":6,"kind":"speech","actor":3,"text":"I am a simple villager.","why":"I am going to do one fixed thing."},{"t":7,"kind":"speech","actor":4,"text":"I am a simple villager.","why":"I am going to do one fixed thing."},{"t":8,"kind":"speech","actor":5,"text":"I am a simple villager.","why":"I am going to do one fixed thing."},{"t":9,"kind":"speech","actor":6,"text":"I am a simple villager.","why":"I am going to do one fixed thing."},{"t":9,"kind":"vote_start","order":[1,3,4,5,6,0],"en":"Daytime discussion has concluded. Moving to day vote.\nVoting phase begins. We will decide who to exile today.\nDay voting Rule: Players vote one by one. Player with the most votes after all have voted is eliminated. The starting voter is chosen randomly for each voting phase. Ties result in random selection amongst the top ties. If no valid vote available (if all casted abstained votes), will result in random elimination of one player.\nCurrent alive players are: ['Player 1', 'Player 2', 'Player 4', 'Player 5', 'Player 6', 'Player 7']"},{"t":10,"kind":"vote","actor":1,"target":0,"why":"I am going to do one fixed thing."},{"t":11,"kind":"vote","actor":3,"target":0,"why":"I am going to do one fixed thing."},{"t":12,"kind":"vote","actor":4,"target":0,"why":"I am going to do one fixed thing."},{"t":13,"kind":"vote","actor":5,"target":0,"why":"I am going to do one fixed thing."},{"t":14,"kind":"vote","actor":6,"target":0,"why":"I am going to do one fixed thing."},{"t":15,"kind":"vote","actor":0,"target":1,"why":"I am going to do one fixed thing."},{"t":15,"kind":"tally","votes":{"1":0,"3":0,"4":0,"5":0,"6":0,"0":1},"counts":{"0":5,"1":1},"tie":null,"exiled":0},{"t":15,"kind":"out","who":0,"cause":"exile","role":"Werewolf","team":"Werewolves","day":1,"en":"Player \"Player 1\" in team Werewolves is exiled by vote. The player is a Werewolf."},{"t":15,"kind":"phase","phase":"night","day":1,"en":"Night 1 begins!"},{"t":16,"kind":"heal","actor":3,"target":1,"why":"I am going to do one fixed thing."},{"t":17,"kind":"wolf_vote","actor":1,"target":3,"why":"I am going to do one fixed thing."},{"t":17,"kind":"wolf_pick","target":3,"votes":{"1":3},"counts":{"3":1},"tie":null},{"t":17,"kind":"phase","phase":"day","day":2,"en":"Day 2 begins."},{"t":17,"kind":"dawn","killed":3,"en":"Last night, player \"Player 4\" was eliminated by werewolves. Their role was a \"Doctor\"."},{"t":17,"kind":"out","who":3,"cause":"night","role":"Doctor","team":"Villagers","day":1},{"t":17,"kind":"talk","order":[1,4,5,6],"en":"Villagers, let's decide who to exile. The discussion rule is: Players speak in round-robin order for 1 round(s). The starting speaker rotates to the next player in the list for each subsequent day, but remains the same for all rounds within that day.\nDiscussion phase begins. Players will speak in round-robin order. Full speaking order for 1 round(s): ['Player 2', 'Player 5', 'Player 6', 'Player 7']"},{"t":18,"kind":"speech","actor":1,"text":"I am a simple villager.","why":"I am going to do one fixed thing."},{"t":19,"kind":"speech","actor":4,"text":"I am a simple villager.","why":"I am going to do one fixed thing."},{"t":20,"kind":"speech","actor":5,"text":"I am a simple villager.","why":"I am going to do one fixed thing."},{"t":21,"kind":"speech","actor":6,"text":"I am a simple villager.","why":"I am going to do one fixed thing."},{"t":21,"kind":"vote_start","order":[4,5,6,1],"en":"Daytime discussion has concluded. Moving to day vote.\nVoting phase begins. We will decide who to exile today.\nDay voting Rule: Players vote one by one. Player with the most votes after all have voted is eliminated. The starting voter is chosen randomly for each voting phase. Ties result in random selection amongst the top ties. If no valid vote available (if all casted abstained votes), will result in random elimination of one player.\nCurrent alive players are: ['Player 2', 'Player 5', 'Player 6', 'Player 7']"},{"t":22,"kind":"vote","actor":4,"target":1,"why":"I am going to do one fixed thing."},{"t":23,"kind":"vote","actor":5,"target":1,"why":"I am going to do one fixed thing."},{"t":24,"kind":"vote","actor":6,"target":1,"why":"I am going to do one fixed thing."},{"t":25,"kind":"vote","actor":1,"target":4,"why":"I am going to do one fixed thing."},{"t":25,"kind":"tally","votes":{"4":1,"5":1,"6":1,"1":4},"counts":{"1":3,"4":1},"tie":null,"exiled":1},{"t":25,"kind":"out","who":1,"cause":"exile","role":"Werewolf","team":"Werewolves","day":2,"en":"Player \"Player 2\" in team Werewolves is exiled by vote. The player is a Werewolf."},{"t":25,"kind":"over","winner":"Villagers","reason":"All werewolves exiled.","roles":["Werewolf","Werewolf","Seer","Doctor","Villager","Villager","Villager"],"out":[{"who":2,"cause":"night","role":"Seer","team":"Villagers","day":0},{"who":0,"cause":"exile","role":"Werewolf","team":"Werewolves","day":1},{"who":3,"cause":"night","role":"Doctor","team":"Villagers","day":1},{"who":1,"cause":"exile","role":"Werewolf","team":"Werewolves","day":2}],"en":"Game Over: Villagers Win!\nReason: All werewolves exiled.\nScores: {'Player 3': 1, 'Player 4': 1, 'Player 5': 1, 'Player 6': 1, 'Player 7': 1, 'Player 1': 0, 'Player 2': 0}\nSurvivors: {'Player 5': 'Villager', 'Player 6': 'Villager', 'Player 7': 'Villager'}\nAll player roles: {'Player 1': 'Werewolf', 'Player 2': 'Werewolf', 'Player 3': 'Seer', 'Player 4': 'Doctor', 'Player 5': 'Villager', 'Player 6': 'Villager', 'Player 7': 'Villager'}"}],"winner":"Villagers","reason":"All werewolves exiled."} | |
+1 −0 replays/deterministic-3-werewolf.json added View file
| @@ -0,0 +1 @@ | ||
| 1 | +{"game":"werewolf","version":2,"players":[{"seat":0,"id":"Player 1","name":"main","kind":"bot","role":"Werewolf","team":"Werewolves","out":{"who":0,"cause":"exile","role":"Werewolf","team":"Werewolves","day":1}},{"seat":1,"id":"Player 2","name":"deterministic","kind":"bot","role":"Werewolf","team":"Werewolves","out":{"who":1,"cause":"exile","role":"Werewolf","team":"Werewolves","day":2}},{"seat":2,"id":"Player 3","name":"deterministic","kind":"bot","role":"Seer","team":"Villagers","out":{"who":2,"cause":"night","role":"Seer","team":"Villagers","day":0}},{"seat":3,"id":"Player 4","name":"deterministic","kind":"bot","role":"Doctor","team":"Villagers","out":{"who":3,"cause":"night","role":"Doctor","team":"Villagers","day":1}},{"seat":4,"id":"Player 5","name":"deterministic","kind":"bot","role":"Villager","team":"Villagers","out":null},{"seat":5,"id":"Player 6","name":"deterministic","kind":"bot","role":"Villager","team":"Villagers","out":null},{"seat":6,"id":"Player 7","name":"deterministic","kind":"bot","role":"Villager","team":"Villagers","out":null}],"events":[{"t":0,"kind":"phase","phase":"night","day":0,"en":"Werewolf game begins.\n - **Player Roster:** ['Player 1', 'Player 2', 'Player 3', 'Player 4', 'Player 5', 'Player 6', 'Player 7']\n - **Alive Players:** 7.\n - **Role Counts:** {Villager: 3, Werewolf: 2, Doctor: 1, Seer: 1}.\n - **Alive Team Member:** {Villagers: 5, Werewolves: 2}\n - **Day Discussion:** Roundrobin. Players speak in round-robin order for 1 round(s). The starting speaker rotates to the next player in the list for each subsequent day, but remains the same for all rounds within that day.\n - **Day Exile Vote:** Sequential Voting. Players vote one by one. Player with the most votes after all have voted is eliminated. The starting voter is chosen randomly for each voting phase. Ties result in random selection amongst the top ties. If no valid vote available (if all casted abstained votes), will result in random elimination of one player.\n - **Night Werewolf Vote:** Sequential Voting. Players vote one by one. Player with the most votes after all have voted is eliminated. The voting order always starts from the beginning of the player list. Ties result in random selection amongst the top ties. If no valid vote available (if all casted abstained votes), will result in random elimination of one player.\n - The following explain the function of each role.\n * Role name Werewolf - team Werewolves - Each night, collaborates with fellow werewolves to vote on eliminating one player.\n * Role name Seer - team Villagers - Each night, may inspect one player to learn their true role.\n * Role name Doctor - team Villagers - Each night, may protect one player from a werewolf attack. Doctor is NOT allowed to save themselves during night time.\n * Role name Villager - team Villagers - No special abilities. Participates in the daily vote to eliminate a suspected werewolf.\n - If a player is exiled in the day, their role will be revealed.\n - If a player is eliminated at night, their role will be revealed.\nNight 0 begins!"},{"t":1,"kind":"heal","actor":3,"target":0,"why":"I am going to do one fixed thing."},{"t":1,"kind":"inspect","actor":2,"target":0,"role":"Werewolf","team":"Werewolves","why":"I am going to do one fixed thing."},{"t":2,"kind":"wolf_vote","actor":0,"target":2,"why":"I am going to do one fixed thing."},{"t":3,"kind":"wolf_vote","actor":1,"target":2,"why":"I am going to do one fixed thing."},{"t":3,"kind":"wolf_pick","target":2,"votes":{"0":2,"1":2},"counts":{"2":2},"tie":null},{"t":3,"kind":"phase","phase":"day","day":1,"en":"Day 1 begins."},{"t":3,"kind":"dawn","killed":2,"en":"Last night, player \"Player 3\" was eliminated by werewolves. Their role was a \"Seer\"."},{"t":3,"kind":"out","who":2,"cause":"night","role":"Seer","team":"Villagers","day":0},{"t":3,"kind":"talk","order":[0,1,3,4,5,6],"en":"Villagers, let's decide who to exile. The discussion rule is: Players speak in round-robin order for 1 round(s). The starting speaker rotates to the next player in the list for each subsequent day, but remains the same for all rounds within that day.\nDiscussion phase begins. Players will speak in round-robin order. Full speaking order for 1 round(s): ['Player 1', 'Player 2', 'Player 4', 'Player 5', 'Player 6', 'Player 7']"},{"t":4,"kind":"speech","actor":0,"text":"I am a simple villager.","why":"I am going to do one fixed thing."},{"t":5,"kind":"speech","actor":1,"text":"I am a simple villager.","why":"I am going to do one fixed thing."},{"t":6,"kind":"speech","actor":3,"text":"I am a simple villager.","why":"I am going to do one fixed thing."},{"t":7,"kind":"speech","actor":4,"text":"I am a simple villager.","why":"I am going to do one fixed thing."},{"t":8,"kind":"speech","actor":5,"text":"I am a simple villager.","why":"I am going to do one fixed thing."},{"t":9,"kind":"speech","actor":6,"text":"I am a simple villager.","why":"I am going to do one fixed thing."},{"t":9,"kind":"vote_start","order":[1,3,4,5,6,0],"en":"Daytime discussion has concluded. Moving to day vote.\nVoting phase begins. We will decide who to exile today.\nDay voting Rule: Players vote one by one. Player with the most votes after all have voted is eliminated. The starting voter is chosen randomly for each voting phase. Ties result in random selection amongst the top ties. If no valid vote available (if all casted abstained votes), will result in random elimination of one player.\nCurrent alive players are: ['Player 1', 'Player 2', 'Player 4', 'Player 5', 'Player 6', 'Player 7']"},{"t":10,"kind":"vote","actor":1,"target":0,"why":"I am going to do one fixed thing."},{"t":11,"kind":"vote","actor":3,"target":0,"why":"I am going to do one fixed thing."},{"t":12,"kind":"vote","actor":4,"target":0,"why":"I am going to do one fixed thing."},{"t":13,"kind":"vote","actor":5,"target":0,"why":"I am going to do one fixed thing."},{"t":14,"kind":"vote","actor":6,"target":0,"why":"I am going to do one fixed thing."},{"t":15,"kind":"vote","actor":0,"target":1,"why":"I am going to do one fixed thing."},{"t":15,"kind":"tally","votes":{"1":0,"3":0,"4":0,"5":0,"6":0,"0":1},"counts":{"0":5,"1":1},"tie":null,"exiled":0},{"t":15,"kind":"out","who":0,"cause":"exile","role":"Werewolf","team":"Werewolves","day":1,"en":"Player \"Player 1\" in team Werewolves is exiled by vote. The player is a Werewolf."},{"t":15,"kind":"phase","phase":"night","day":1,"en":"Night 1 begins!"},{"t":16,"kind":"heal","actor":3,"target":1,"why":"I am going to do one fixed thing."},{"t":17,"kind":"wolf_vote","actor":1,"target":3,"why":"I am going to do one fixed thing."},{"t":17,"kind":"wolf_pick","target":3,"votes":{"1":3},"counts":{"3":1},"tie":null},{"t":17,"kind":"phase","phase":"day","day":2,"en":"Day 2 begins."},{"t":17,"kind":"dawn","killed":3,"en":"Last night, player \"Player 4\" was eliminated by werewolves. Their role was a \"Doctor\"."},{"t":17,"kind":"out","who":3,"cause":"night","role":"Doctor","team":"Villagers","day":1},{"t":17,"kind":"talk","order":[1,4,5,6],"en":"Villagers, let's decide who to exile. The discussion rule is: Players speak in round-robin order for 1 round(s). The starting speaker rotates to the next player in the list for each subsequent day, but remains the same for all rounds within that day.\nDiscussion phase begins. Players will speak in round-robin order. Full speaking order for 1 round(s): ['Player 2', 'Player 5', 'Player 6', 'Player 7']"},{"t":18,"kind":"speech","actor":1,"text":"I am a simple villager.","why":"I am going to do one fixed thing."},{"t":19,"kind":"speech","actor":4,"text":"I am a simple villager.","why":"I am going to do one fixed thing."},{"t":20,"kind":"speech","actor":5,"text":"I am a simple villager.","why":"I am going to do one fixed thing."},{"t":21,"kind":"speech","actor":6,"text":"I am a simple villager.","why":"I am going to do one fixed thing."},{"t":21,"kind":"vote_start","order":[4,5,6,1],"en":"Daytime discussion has concluded. Moving to day vote.\nVoting phase begins. We will decide who to exile today.\nDay voting Rule: Players vote one by one. Player with the most votes after all have voted is eliminated. The starting voter is chosen randomly for each voting phase. Ties result in random selection amongst the top ties. If no valid vote available (if all casted abstained votes), will result in random elimination of one player.\nCurrent alive players are: ['Player 2', 'Player 5', 'Player 6', 'Player 7']"},{"t":22,"kind":"vote","actor":4,"target":1,"why":"I am going to do one fixed thing."},{"t":23,"kind":"vote","actor":5,"target":1,"why":"I am going to do one fixed thing."},{"t":24,"kind":"vote","actor":6,"target":1,"why":"I am going to do one fixed thing."},{"t":25,"kind":"vote","actor":1,"target":4,"why":"I am going to do one fixed thing."},{"t":25,"kind":"tally","votes":{"4":1,"5":1,"6":1,"1":4},"counts":{"1":3,"4":1},"tie":null,"exiled":1},{"t":25,"kind":"out","who":1,"cause":"exile","role":"Werewolf","team":"Werewolves","day":2,"en":"Player \"Player 2\" in team Werewolves is exiled by vote. The player is a Werewolf."},{"t":25,"kind":"over","winner":"Villagers","reason":"All werewolves exiled.","roles":["Werewolf","Werewolf","Seer","Doctor","Villager","Villager","Villager"],"out":[{"who":2,"cause":"night","role":"Seer","team":"Villagers","day":0},{"who":0,"cause":"exile","role":"Werewolf","team":"Werewolves","day":1},{"who":3,"cause":"night","role":"Doctor","team":"Villagers","day":1},{"who":1,"cause":"exile","role":"Werewolf","team":"Werewolves","day":2}],"en":"Game Over: Villagers Win!\nReason: All werewolves exiled.\nScores: {'Player 3': 1, 'Player 4': 1, 'Player 5': 1, 'Player 6': 1, 'Player 7': 1, 'Player 1': 0, 'Player 2': 0}\nSurvivors: {'Player 5': 'Villager', 'Player 6': 'Villager', 'Player 7': 'Villager'}\nAll player roles: {'Player 1': 'Werewolf', 'Player 2': 'Werewolf', 'Player 3': 'Seer', 'Player 4': 'Doctor', 'Player 5': 'Villager', 'Player 6': 'Villager', 'Player 7': 'Villager'}"}],"winner":"Villagers","reason":"All werewolves exiled."} | |
+38 −0 replays/matches.json added View file
| @@ -0,0 +1,38 @@ | ||
| 1 | +[ | |
| 2 | + { | |
| 3 | + "file": "deterministic-3-werewolf.json", | |
| 4 | + "title": "main as the werewolf, six deterministic bots, seed 3", | |
| 5 | + "seats": [ | |
| 6 | + "main", | |
| 7 | + "deterministic" | |
| 8 | + ], | |
| 9 | + "result": "Villagers win: All werewolves exiled." | |
| 10 | + }, | |
| 11 | + { | |
| 12 | + "file": "deterministic-3-seer.json", | |
| 13 | + "title": "main as the seer, six deterministic bots, seed 3", | |
| 14 | + "seats": [ | |
| 15 | + "main", | |
| 16 | + "deterministic" | |
| 17 | + ], | |
| 18 | + "result": "Villagers win: All werewolves exiled." | |
| 19 | + }, | |
| 20 | + { | |
| 21 | + "file": "random-3-werewolf.json", | |
| 22 | + "title": "main as the werewolf, six random bots, seed 3", | |
| 23 | + "seats": [ | |
| 24 | + "main", | |
| 25 | + "random" | |
| 26 | + ], | |
| 27 | + "result": "Werewolves win: len(werewolves) >= len(villagers). Final counts: len(werewolves)=2, len(villagers)=2)." | |
| 28 | + }, | |
| 29 | + { | |
| 30 | + "file": "random-3-seer.json", | |
| 31 | + "title": "main as the seer, six random bots, seed 3", | |
| 32 | + "seats": [ | |
| 33 | + "main", | |
| 34 | + "random" | |
| 35 | + ], | |
| 36 | + "result": "Werewolves win: len(werewolves) >= len(villagers). Final counts: len(werewolves)=2, len(villagers)=2)." | |
| 37 | + } | |
| 38 | +] | |
+1 −0 replays/random-3-seer.json added View file
| @@ -0,0 +1 @@ | ||
| 1 | +{"game":"werewolf","version":2,"players":[{"seat":0,"id":"Player 1","name":"random","kind":"bot","role":"Werewolf","team":"Werewolves","out":null},{"seat":1,"id":"Player 2","name":"random","kind":"bot","role":"Werewolf","team":"Werewolves","out":null},{"seat":2,"id":"Player 3","name":"main","kind":"bot","role":"Seer","team":"Villagers","out":null},{"seat":3,"id":"Player 4","name":"random","kind":"bot","role":"Doctor","team":"Villagers","out":{"who":3,"cause":"exile","role":"Doctor","team":"Villagers","day":1}},{"seat":4,"id":"Player 5","name":"random","kind":"bot","role":"Villager","team":"Villagers","out":null},{"seat":5,"id":"Player 6","name":"random","kind":"bot","role":"Villager","team":"Villagers","out":{"who":5,"cause":"night","role":"Villager","team":"Villagers","day":1}},{"seat":6,"id":"Player 7","name":"random","kind":"bot","role":"Villager","team":"Villagers","out":{"who":6,"cause":"night","role":"Villager","team":"Villagers","day":0}}],"events":[{"t":0,"kind":"phase","phase":"night","day":0,"en":"Werewolf game begins.\n - **Player Roster:** ['Player 1', 'Player 2', 'Player 3', 'Player 4', 'Player 5', 'Player 6', 'Player 7']\n - **Alive Players:** 7.\n - **Role Counts:** {Villager: 3, Werewolf: 2, Doctor: 1, Seer: 1}.\n - **Alive Team Member:** {Villagers: 5, Werewolves: 2}\n - **Day Discussion:** Roundrobin. Players speak in round-robin order for 1 round(s). The starting speaker rotates to the next player in the list for each subsequent day, but remains the same for all rounds within that day.\n - **Day Exile Vote:** Sequential Voting. Players vote one by one. Player with the most votes after all have voted is eliminated. The starting voter is chosen randomly for each voting phase. Ties result in random selection amongst the top ties. If no valid vote available (if all casted abstained votes), will result in random elimination of one player.\n - **Night Werewolf Vote:** Sequential Voting. Players vote one by one. Player with the most votes after all have voted is eliminated. The voting order always starts from the beginning of the player list. Ties result in random selection amongst the top ties. If no valid vote available (if all casted abstained votes), will result in random elimination of one player.\n - The following explain the function of each role.\n * Role name Werewolf - team Werewolves - Each night, collaborates with fellow werewolves to vote on eliminating one player.\n * Role name Seer - team Villagers - Each night, may inspect one player to learn their true role.\n * Role name Doctor - team Villagers - Each night, may protect one player from a werewolf attack. Doctor is NOT allowed to save themselves during night time.\n * Role name Villager - team Villagers - No special abilities. Participates in the daily vote to eliminate a suspected werewolf.\n - If a player is exiled in the day, their role will be revealed.\n - If a player is eliminated at night, their role will be revealed.\nNight 0 begins!"},{"t":1,"kind":"heal","actor":3,"target":4,"why":"I randomly chose one to heal."},{"t":1,"kind":"inspect","actor":2,"target":0,"role":"Werewolf","team":"Werewolves","why":"I am going to do one fixed thing."},{"t":2,"kind":"wolf_vote","actor":0,"target":6,"why":"I randomly chose one."},{"t":3,"kind":"wolf_vote","actor":1,"target":4,"why":"I randomly chose one."},{"t":3,"kind":"wolf_pick","target":6,"votes":{"0":6,"1":4},"counts":{"6":1,"4":1},"tie":[6,4]},{"t":3,"kind":"phase","phase":"day","day":1,"en":"Day 1 begins."},{"t":3,"kind":"dawn","killed":6,"en":"Last night, player \"Player 7\" was eliminated by werewolves. Their role was a \"Villager\"."},{"t":3,"kind":"out","who":6,"cause":"night","role":"Villager","team":"Villagers","day":0},{"t":3,"kind":"talk","order":[0,1,2,3,4,5],"en":"Villagers, let's decide who to exile. The discussion rule is: Players speak in round-robin order for 1 round(s). The starting speaker rotates to the next player in the list for each subsequent day, but remains the same for all rounds within that day.\nDiscussion phase begins. Players will speak in round-robin order. Full speaking order for 1 round(s): ['Player 1', 'Player 2', 'Player 3', 'Player 4', 'Player 5', 'Player 6']"},{"t":4,"kind":"speech","actor":0,"text":"I suspect Player 5.","why":"I randomly chose one message."},{"t":5,"kind":"speech","actor":1,"text":"I am a simple Villager just trying to survive.","why":"I randomly chose one message."},{"t":6,"kind":"speech","actor":2,"text":"I am a simple villager.","why":"I am going to do one fixed thing."},{"t":7,"kind":"speech","actor":3,"text":"I suspect Player 5.","why":"I randomly chose one message."},{"t":8,"kind":"speech","actor":4,"text":"I am a simple Villager just trying to survive.","why":"I randomly chose one message."},{"t":9,"kind":"speech","actor":5,"text":"I am a simple Villager just trying to survive.","why":"I randomly chose one message."},{"t":9,"kind":"vote_start","order":[4,5,0,1,2,3],"en":"Daytime discussion has concluded. Moving to day vote.\nVoting phase begins. We will decide who to exile today.\nDay voting Rule: Players vote one by one. Player with the most votes after all have voted is eliminated. The starting voter is chosen randomly for each voting phase. Ties result in random selection amongst the top ties. If no valid vote available (if all casted abstained votes), will result in random elimination of one player.\nCurrent alive players are: ['Player 1', 'Player 2', 'Player 3', 'Player 4', 'Player 5', 'Player 6']"},{"t":10,"kind":"vote","actor":4,"target":3,"why":"I randomly chose one."},{"t":11,"kind":"vote","actor":5,"target":3,"why":"I randomly chose one."},{"t":12,"kind":"vote","actor":0,"target":2,"why":"I randomly chose one."},{"t":13,"kind":"vote","actor":1,"target":4,"why":"I randomly chose one."},{"t":14,"kind":"vote","actor":2,"target":0,"why":"I am going to do one fixed thing."},{"t":15,"kind":"vote","actor":3,"target":1,"why":"I randomly chose one."},{"t":15,"kind":"tally","votes":{"4":3,"5":3,"0":2,"1":4,"2":0,"3":1},"counts":{"3":2,"2":1,"4":1,"0":1,"1":1},"tie":null,"exiled":3},{"t":15,"kind":"out","who":3,"cause":"exile","role":"Doctor","team":"Villagers","day":1,"en":"Player \"Player 4\" in team Villagers is exiled by vote. The player is a Doctor."},{"t":15,"kind":"phase","phase":"night","day":1,"en":"Night 1 begins!"},{"t":16,"kind":"inspect","actor":2,"target":0,"role":"Werewolf","team":"Werewolves","why":"I am going to do one fixed thing."},{"t":17,"kind":"wolf_vote","actor":0,"target":5,"why":"I randomly chose one."},{"t":18,"kind":"wolf_vote","actor":1,"target":5,"why":"I randomly chose one."},{"t":18,"kind":"wolf_pick","target":5,"votes":{"0":5,"1":5},"counts":{"5":2},"tie":null},{"t":18,"kind":"dawn","killed":5,"en":"Last night, player \"Player 6\" was eliminated by werewolves. Their role was a \"Villager\"."},{"t":18,"kind":"out","who":5,"cause":"night","role":"Villager","team":"Villagers","day":1},{"t":18,"kind":"over","winner":"Werewolves","reason":"len(werewolves) >= len(villagers). Final counts: len(werewolves)=2, len(villagers)=2).","roles":["Werewolf","Werewolf","Seer","Doctor","Villager","Villager","Villager"],"out":[{"who":6,"cause":"night","role":"Villager","team":"Villagers","day":0},{"who":3,"cause":"exile","role":"Doctor","team":"Villagers","day":1},{"who":5,"cause":"night","role":"Villager","team":"Villagers","day":1}],"en":"Game Over: Werewolves Win!\nReason: len(werewolves) >= len(villagers). Final counts: len(werewolves)=2, len(villagers)=2).\nScores: {'Player 1': 1, 'Player 2': 1, 'Player 3': 0, 'Player 4': 0, 'Player 5': 0, 'Player 6': 0, 'Player 7': 0}\nSurvivors: {'Player 1': 'Werewolf', 'Player 2': 'Werewolf', 'Player 3': 'Seer', 'Player 5': 'Villager'}\nAll player roles: {'Player 1': 'Werewolf', 'Player 2': 'Werewolf', 'Player 3': 'Seer', 'Player 4': 'Doctor', 'Player 5': 'Villager', 'Player 6': 'Villager', 'Player 7': 'Villager'}"}],"winner":"Werewolves","reason":"len(werewolves) >= len(villagers). Final counts: len(werewolves)=2, len(villagers)=2)."} | |
+1 −0 replays/random-3-werewolf.json added View file
| @@ -0,0 +1 @@ | ||
| 1 | +{"game":"werewolf","version":2,"players":[{"seat":0,"id":"Player 1","name":"main","kind":"bot","role":"Werewolf","team":"Werewolves","out":null},{"seat":1,"id":"Player 2","name":"random","kind":"bot","role":"Werewolf","team":"Werewolves","out":null},{"seat":2,"id":"Player 3","name":"random","kind":"bot","role":"Seer","team":"Villagers","out":{"who":2,"cause":"night","role":"Seer","team":"Villagers","day":0}},{"seat":3,"id":"Player 4","name":"random","kind":"bot","role":"Doctor","team":"Villagers","out":{"who":3,"cause":"exile","role":"Doctor","team":"Villagers","day":1}},{"seat":4,"id":"Player 5","name":"random","kind":"bot","role":"Villager","team":"Villagers","out":{"who":4,"cause":"night","role":"Villager","team":"Villagers","day":1}},{"seat":5,"id":"Player 6","name":"random","kind":"bot","role":"Villager","team":"Villagers","out":null},{"seat":6,"id":"Player 7","name":"random","kind":"bot","role":"Villager","team":"Villagers","out":null}],"events":[{"t":0,"kind":"phase","phase":"night","day":0,"en":"Werewolf game begins.\n - **Player Roster:** ['Player 1', 'Player 2', 'Player 3', 'Player 4', 'Player 5', 'Player 6', 'Player 7']\n - **Alive Players:** 7.\n - **Role Counts:** {Villager: 3, Werewolf: 2, Doctor: 1, Seer: 1}.\n - **Alive Team Member:** {Villagers: 5, Werewolves: 2}\n - **Day Discussion:** Roundrobin. Players speak in round-robin order for 1 round(s). The starting speaker rotates to the next player in the list for each subsequent day, but remains the same for all rounds within that day.\n - **Day Exile Vote:** Sequential Voting. Players vote one by one. Player with the most votes after all have voted is eliminated. The starting voter is chosen randomly for each voting phase. Ties result in random selection amongst the top ties. If no valid vote available (if all casted abstained votes), will result in random elimination of one player.\n - **Night Werewolf Vote:** Sequential Voting. Players vote one by one. Player with the most votes after all have voted is eliminated. The voting order always starts from the beginning of the player list. Ties result in random selection amongst the top ties. If no valid vote available (if all casted abstained votes), will result in random elimination of one player.\n - The following explain the function of each role.\n * Role name Werewolf - team Werewolves - Each night, collaborates with fellow werewolves to vote on eliminating one player.\n * Role name Seer - team Villagers - Each night, may inspect one player to learn their true role.\n * Role name Doctor - team Villagers - Each night, may protect one player from a werewolf attack. Doctor is NOT allowed to save themselves during night time.\n * Role name Villager - team Villagers - No special abilities. Participates in the daily vote to eliminate a suspected werewolf.\n - If a player is exiled in the day, their role will be revealed.\n - If a player is eliminated at night, their role will be revealed.\nNight 0 begins!"},{"t":1,"kind":"heal","actor":3,"target":4,"why":"I randomly chose one to heal."},{"t":1,"kind":"inspect","actor":2,"target":4,"role":"Villager","team":"Villagers","why":"I randomly chose one to inspect."},{"t":2,"kind":"wolf_vote","actor":0,"target":2,"why":"I am going to do one fixed thing."},{"t":3,"kind":"wolf_vote","actor":1,"target":5,"why":"I randomly chose one."},{"t":3,"kind":"wolf_pick","target":2,"votes":{"0":2,"1":5},"counts":{"2":1,"5":1},"tie":[2,5]},{"t":3,"kind":"phase","phase":"day","day":1,"en":"Day 1 begins."},{"t":3,"kind":"dawn","killed":2,"en":"Last night, player \"Player 3\" was eliminated by werewolves. Their role was a \"Seer\"."},{"t":3,"kind":"out","who":2,"cause":"night","role":"Seer","team":"Villagers","day":0},{"t":3,"kind":"talk","order":[0,1,3,4,5,6],"en":"Villagers, let's decide who to exile. The discussion rule is: Players speak in round-robin order for 1 round(s). The starting speaker rotates to the next player in the list for each subsequent day, but remains the same for all rounds within that day.\nDiscussion phase begins. Players will speak in round-robin order. Full speaking order for 1 round(s): ['Player 1', 'Player 2', 'Player 4', 'Player 5', 'Player 6', 'Player 7']"},{"t":4,"kind":"speech","actor":0,"text":"I am a simple villager.","why":"I am going to do one fixed thing."},{"t":5,"kind":"speech","actor":1,"text":"Let's think carefully before voting.","why":"I randomly chose one message."},{"t":6,"kind":"speech","actor":3,"text":"Let's think carefully before voting.","why":"I randomly chose one message."},{"t":7,"kind":"speech","actor":4,"text":"I am a simple Villager just trying to survive.","why":"I randomly chose one message."},{"t":8,"kind":"speech","actor":5,"text":"I am a simple Villager just trying to survive.","why":"I randomly chose one message."},{"t":9,"kind":"speech","actor":6,"text":"I am a simple Villager just trying to survive.","why":"I randomly chose one message."},{"t":9,"kind":"vote_start","order":[4,5,6,0,1,3],"en":"Daytime discussion has concluded. Moving to day vote.\nVoting phase begins. We will decide who to exile today.\nDay voting Rule: Players vote one by one. Player with the most votes after all have voted is eliminated. The starting voter is chosen randomly for each voting phase. Ties result in random selection amongst the top ties. If no valid vote available (if all casted abstained votes), will result in random elimination of one player.\nCurrent alive players are: ['Player 1', 'Player 2', 'Player 4', 'Player 5', 'Player 6', 'Player 7']"},{"t":10,"kind":"vote","actor":4,"target":3,"why":"I randomly chose one."},{"t":11,"kind":"vote","actor":5,"target":3,"why":"I randomly chose one."},{"t":12,"kind":"vote","actor":6,"target":3,"why":"I randomly chose one."},{"t":13,"kind":"vote","actor":0,"target":1,"why":"I am going to do one fixed thing."},{"t":14,"kind":"vote","actor":1,"target":5,"why":"I randomly chose one."},{"t":15,"kind":"vote","actor":3,"target":5,"why":"I randomly chose one."},{"t":15,"kind":"tally","votes":{"4":3,"5":3,"6":3,"0":1,"1":5,"3":5},"counts":{"3":3,"1":1,"5":2},"tie":null,"exiled":3},{"t":15,"kind":"out","who":3,"cause":"exile","role":"Doctor","team":"Villagers","day":1,"en":"Player \"Player 4\" in team Villagers is exiled by vote. The player is a Doctor."},{"t":15,"kind":"phase","phase":"night","day":1,"en":"Night 1 begins!"},{"t":16,"kind":"wolf_vote","actor":0,"target":4,"why":"I am going to do one fixed thing."},{"t":17,"kind":"wolf_vote","actor":1,"target":5,"why":"I randomly chose one."},{"t":17,"kind":"wolf_pick","target":4,"votes":{"0":4,"1":5},"counts":{"4":1,"5":1},"tie":[4,5]},{"t":17,"kind":"dawn","killed":4,"en":"Last night, player \"Player 5\" was eliminated by werewolves. Their role was a \"Villager\"."},{"t":17,"kind":"out","who":4,"cause":"night","role":"Villager","team":"Villagers","day":1},{"t":17,"kind":"over","winner":"Werewolves","reason":"len(werewolves) >= len(villagers). Final counts: len(werewolves)=2, len(villagers)=2).","roles":["Werewolf","Werewolf","Seer","Doctor","Villager","Villager","Villager"],"out":[{"who":2,"cause":"night","role":"Seer","team":"Villagers","day":0},{"who":3,"cause":"exile","role":"Doctor","team":"Villagers","day":1},{"who":4,"cause":"night","role":"Villager","team":"Villagers","day":1}],"en":"Game Over: Werewolves Win!\nReason: len(werewolves) >= len(villagers). Final counts: len(werewolves)=2, len(villagers)=2).\nScores: {'Player 1': 1, 'Player 2': 1, 'Player 3': 0, 'Player 4': 0, 'Player 5': 0, 'Player 6': 0, 'Player 7': 0}\nSurvivors: {'Player 1': 'Werewolf', 'Player 2': 'Werewolf', 'Player 6': 'Villager', 'Player 7': 'Villager'}\nAll player roles: {'Player 1': 'Werewolf', 'Player 2': 'Werewolf', 'Player 3': 'Seer', 'Player 4': 'Doctor', 'Player 5': 'Villager', 'Player 6': 'Villager', 'Player 7': 'Villager'}"}],"winner":"Werewolves","reason":"len(werewolves) >= len(villagers). Final counts: len(werewolves)=2, len(villagers)=2)."} | |
+0 −0 routes/__pycache__/main.cpython-313.pyc added View file
+6 −0 slurm-26.out added View file
| @@ -0,0 +1,6 @@ | ||
| 1 | +Loading environment reinforce_tactics failed: No module named 'numpy' | |
| 2 | +Loading environment halite failed: No module named 'numpy' | |
| 3 | +Loading environment lux_ai_s3 failed: No module named 'numpy' | |
| 4 | +Loading environment kore_fleets failed: No module named 'numpy' | |
| 5 | +Loading environment open_spiel_env failed: No module named 'numpy' | |
| 6 | +score 0.5 over 2: seer 0.5, werewolf 0.5 | |
