lucadipalma commited on
Commit
7be7dad
·
1 Parent(s): f9d1667

improved readme with "how to play" section

Browse files
Files changed (3) hide show
  1. README.md +99 -2
  2. pages/how_to_play.py +8 -1
  3. support/game_settings.py +1 -1
README.md CHANGED
@@ -24,7 +24,7 @@ tags:
24
 
25
  [My post on LinkedIn](https://www.linkedin.com/posts/luca-di-palma-99024a1b7_most-of-us-use-llms-to-create-reports-write-activity-7400225424770932736-OTPU?utm_source=share&utm_medium=member_desktop&rcm=ACoAADJnVPwBh-8LoV25AQVeclIBTKNuOP6rr08)
26
 
27
- **New to Codenames? No problem. Check out the example in the 'How to Play' tab to get started!**
28
 
29
  ---
30
 
@@ -95,7 +95,7 @@ Your AI teammates will interpret your hint and take their guesses.
95
 
96
  ## 🕹️ Main Features
97
 
98
- * **Create & customize teams** using any mix of LLMs
99
  * **Switch between AI vs AI** and **Human vs AI** modes
100
  * **Detailed per-turn logs** for all model decisions
101
  * **Transparent reasoning chains**
@@ -116,4 +116,101 @@ The Stats section of the app includes:
116
 
117
  This turns the Arena into a dynamic benchmarking tool for evaluating LLM semantic reasoning, coordination abilities, and reliability under pressure.
118
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
119
 
 
24
 
25
  [My post on LinkedIn](https://www.linkedin.com/posts/luca-di-palma-99024a1b7_most-of-us-use-llms-to-create-reports-write-activity-7400225424770932736-OTPU?utm_source=share&utm_medium=member_desktop&rcm=ACoAADJnVPwBh-8LoV25AQVeclIBTKNuOP6rr08)
26
 
27
+ **New to Codenames? No problem.** Go to the [How to Play section](#-how-to-play) below or check out the example in the _How to Play_ tab in the app to get started.
28
 
29
  ---
30
 
 
95
 
96
  ## 🕹️ Main Features
97
 
98
+ * **Build teams by selecting providers** or choose `random` to generate a mixed-model team.
99
  * **Switch between AI vs AI** and **Human vs AI** modes
100
  * **Detailed per-turn logs** for all model decisions
101
  * **Transparent reasoning chains**
 
116
 
117
  This turns the Arena into a dynamic benchmarking tool for evaluating LLM semantic reasoning, coordination abilities, and reliability under pressure.
118
 
119
+ ---
120
+
121
+ ## ❓ How to Play
122
+
123
+
124
+ ### 📝 Summary
125
+
126
+ Codenames is a word-association game where two teams compete to guess all their secret words before the opponents do. Each team has a Boss who **can see** a hidden color-coded board showing which words belong to their team, which belong to the other team, which are neutral, and which single word is the deadly assassin. The Boss gives one-word clues paired with a number, hinting at how many words on the board relate to that clue. Their teammates, **who cannot see any colors**, must discuss, interpret the clue, and decide which words the Boss is pointing toward. Choosing their own words brings them closer to victory, while accidentally selecting an opponent’s word, a neutral word, or the assassin can derail their progress or end the game instantly. The goal is simple: interpret clues wisely, avoid dangerous words, and be the first team to uncover all your hidden words.
127
+
128
+ ### 💡 Let's see an example
129
+
130
+ What Bosses see (left) VS what other players see (right)
131
+
132
+ <img src="assets/example.png" alt="Example board" width="400">
133
+ <img src="assets/no-color-board.png" alt="Example board" width="400">
134
+
135
+ ### 👥 Team Roles
136
+
137
+ Each team has four members with distinct responsibilities:
138
+
139
+ * **1 Boss** 🎯: The only player who can see the color-coded board. Provides clues to guide the team.
140
+ * **1 Captain** 🧭: Coordinates team reasoning, synthesizes suggestions, and makes final word selections.
141
+ * **2 Players** 💭: Collaborate with the Captain, propose interpretations and associations.
142
+
143
+ ---
144
+
145
+ ### 🎮 How a Turn Works
146
+
147
+ #### 1️⃣ Boss Gives a Clue
148
+
149
+ The Red Boss (seeing the board) might say:
150
+
151
+ > **"Atmosphere: 2"**
152
+
153
+ This clue suggests 2 red words are related to *atmosphere*. Looking at the board, the Boss is thinking of:
154
+
155
+ * **AIR** (part of the atmosphere)
156
+ * **SPACE** (beyond the atmosphere)
157
+
158
+ *⚠️ Important: The clue must be ONE word and ONE number. The number indicates how many words relate to that clue.*
159
+
160
+ ---
161
+
162
+ #### 2️⃣ Team Discussion
163
+
164
+ The Captain and Players discuss without seeing the colors:
165
+
166
+ * **Player 1:** “AIR feels like the safest bet — it's literally the atmosphere.”
167
+ * **Player 2:** “SPACE could connect because it's outside the atmosphere.”
168
+
169
+ ---
170
+
171
+ #### 3️⃣ Captain Makes Final Selection
172
+
173
+ The Captain decides which words to touch, in order:
174
+
175
+ 1. AIR ✅ (Red — Correct!)
176
+ 2. SPACE ✅ (Red — Correct!)
177
+
178
+ The team can stop after any correct guess or continue up to the number given (+1 bonus from previous turns if applicable).
179
+
180
+ ---
181
+
182
+ ### ⚠️ Mistakes to Avoid
183
+
184
+ * Guessing **STAFF** (black — killer word) ends the game **immediately**. They **lose**!
185
+ * Guessing **WALL** (blue — opponent’s word) ends the turn and gives that word to the Blue team.
186
+ * Guessing **SATURN** (beige — neutral) simply ends the turn.
187
+
188
+ ---
189
+
190
+ ### 🏆 Winning the Game
191
+
192
+ The game ends when:
193
+
194
+ * ✅ **A team finds all their colored words** → That team wins!
195
+ * ❌ **A team touches the killer word (STAFF)** → That team loses immediately!
196
+
197
+ ---
198
+
199
+ ### 💡 Strategy Tips
200
+
201
+ #### For the Boss:
202
+
203
+ * Try to link multiple words with creative clues
204
+ * Avoid clues that may lead to the killer or opponent’s words
205
+ * Consider associations your team might make
206
+
207
+ #### For Captain & Players:
208
+
209
+ * Discuss all possible interpretations
210
+ * Consider risky words
211
+ * Don’t be afraid to stop early to avoid the killer word
212
+ * The Captain has final say but should consider all suggestions
213
+
214
+
215
+
216
 
pages/how_to_play.py CHANGED
@@ -14,9 +14,16 @@ with gr.Blocks(fill_width=True) as demo:
14
  show_label=True,
15
  height=450,
16
  elem_id="example_game_board_img",
 
 
 
 
 
 
 
17
  )
18
  with gr.Column():
19
  gr.HTML(EXAMPLE_GAME_RULES_HTML, elem_id="rules_content")
20
 
21
  if __name__ == "__main__":
22
- demo.launch()
 
14
  show_label=True,
15
  height=450,
16
  elem_id="example_game_board_img",
17
+ ),
18
+ gr.Image(
19
+ "assets/no-color-board.png",
20
+ label="“Captains' and Players' View",
21
+ show_label=True,
22
+ height=450,
23
+ elem_id="example_game_board_img",
24
  )
25
  with gr.Column():
26
  gr.HTML(EXAMPLE_GAME_RULES_HTML, elem_id="rules_content")
27
 
28
  if __name__ == "__main__":
29
+ demo.launch()
support/game_settings.py CHANGED
@@ -132,7 +132,7 @@ EXAMPLE_GAME_BOARD_HTML = """
132
  <li><strong style="color: #6c757d;">Beige squares</strong> = Neutral words (innocent bystanders)</li>
133
  <li><strong style="color: #212529;">Black square</strong> = Killer word (instant loss if touched!)</li>
134
  </ul>
135
- <p><strong>Remember:</strong> Only the <strong>Boss</strong> sees these colors. The <strong>Captain</strong> and <strong>Players</strong> only see the words!</p>
136
  </div>
137
  </div>
138
  """
 
132
  <li><strong style="color: #6c757d;">Beige squares</strong> = Neutral words (innocent bystanders)</li>
133
  <li><strong style="color: #212529;">Black square</strong> = Killer word (instant loss if touched!)</li>
134
  </ul>
135
+ <p><strong>Remember:</strong> Only the <strong>Boss</strong> sees these colors (image above). The <strong>Captain</strong> and <strong>Players</strong> only see the words (image below)!</p>
136
  </div>
137
  </div>
138
  """