Surn commited on
Commit
38961b4
Β·
1 Parent(s): f1fd35c

Leaderboards Documentation

Browse files
Files changed (5) hide show
  1. GAMEPLAY_GUIDE.md +42 -1
  2. README.md +8 -0
  3. pyproject.toml +1 -1
  4. specs/requirements.md +24 -0
  5. specs/specs.md +9 -0
GAMEPLAY_GUIDE.md CHANGED
@@ -148,6 +148,47 @@ Share puzzles with friends:
148
 
149
  ---
150
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
151
  ## Tips & Strategies
152
 
153
  ### Free Letter Selection
@@ -313,7 +354,7 @@ Once installed, Wrdler works offline with basic caching!
313
  β”‚
314
  β”Œβ”€β”€β”€β”€β”΄β”€β”€β”€β”€β”
315
  β”‚ β”‚
316
- β”Œβ”€β”€β–Όβ”€β”€β” β”Œβ”€β–Όβ”€β”€β”
317
  β”‚ YES β”‚ β”‚ NO β”‚
318
  β””β”€β”€β”¬β”€β”€β”˜ β””β”€β”¬β”€β”€β”˜
319
  β”‚ β”‚
 
148
 
149
  ---
150
 
151
+ ## Leaderboards (Daily & Weekly)
152
+
153
+ Wrdler features a robust leaderboard system to track top performances:
154
+
155
+ - **Daily Leaderboards:** Top 20 scores for each day (UTC midnight reset)
156
+ - **Weekly Leaderboards:** Top 20 scores for each ISO week (resets Monday UTC)
157
+ - **Settings-Based:** Each unique combination of game-affecting settings (game mode, wordlist, free letters, etc.) has its own leaderboard. You compete only with players using the same settings.
158
+ - **Qualification:** Only the top 20 scores (sorted by score, then time, then difficulty) are displayed for each leaderboard. You can still submit your score even if you don't qualify for the top 20.
159
+ - **Automatic Submission:** After each game, you can submit your score to the leaderboards from the game over popup. Challenge submissions also submit to leaderboards.
160
+ - **Leaderboard Page:** Access the Leaderboards from the sidebar to view daily, weekly, and historical results, filtered by your current settings.
161
+
162
+ ### How to View Leaderboards
163
+ - Open the sidebar and click the "πŸ† Leaderboards" button
164
+ - Browse daily, weekly, and historical leaderboards
165
+ - See your rank and compare with other players using the same settings
166
+
167
+ ---
168
+
169
+ ## Challenge Mode (Updated)
170
+
171
+ Share puzzles with friends:
172
+ 1. Complete a game
173
+ 2. Click "Share Challenge" in the game-over popup
174
+ 3. Copy the short URL (e.g., `?game_id=abc123`)
175
+ 4. Friends can play the same wordlist and compare scores!
176
+
177
+ **Challenge Leaderboard:**
178
+ - Top 5 players for each challenge are displayed in the Challenge Mode banner
179
+ - Sorted by: Highest score β†’ Fastest time β†’ Highest difficulty
180
+ - Submit your result to join the challenge leaderboard and the daily/weekly leaderboards
181
+
182
+ ---
183
+
184
+ ## Leaderboard Submission & Ranking
185
+ - After each game, enter your name (optional) and submit your score to the leaderboards
186
+ - If your score qualifies for the top 20, your rank will be displayed
187
+ - You can view your ranking for both daily and weekly leaderboards in the game over popup
188
+ - All leaderboard data is stored securely in the cloud (Hugging Face repository)
189
+
190
+ ---
191
+
192
  ## Tips & Strategies
193
 
194
  ### Free Letter Selection
 
354
  β”‚
355
  β”Œβ”€β”€β”€β”€β”΄β”€β”€β”€β”€β”
356
  β”‚ β”‚
357
+ β”Œβ”€β”€β”€β–Όβ”€β”€β” β”Œβ”€β–Όβ”€β”€β”
358
  β”‚ YES β”‚ β”‚ NO β”‚
359
  β””β”€β”€β”¬β”€β”€β”˜ β””β”€β”¬β”€β”€β”˜
360
  β”‚ β”‚
README.md CHANGED
@@ -80,6 +80,14 @@ Wrdler is a vocabulary learning game with a simplified grid and strategic letter
80
  - **"Show Challenge Share Links" toggle** (default OFF) to control URL visibility
81
  - Each player gets different random words from the same wordlist
82
 
 
 
 
 
 
 
 
 
83
  ### Deployment & Technical
84
  - **Dockerfile-based deployment** supported for Hugging Face Spaces and other container platforms
85
  - **Environment variables** for Challenge Mode (HF_API_TOKEN, HF_REPO_ID, SPACE_NAME)
 
80
  - **"Show Challenge Share Links" toggle** (default OFF) to control URL visibility
81
  - Each player gets different random words from the same wordlist
82
 
83
+ ### πŸ† Daily & Weekly Leaderboards (v0.2.0+)
84
+ - **Daily Leaderboards:** Top 20 scores for each day (UTC midnight reset)
85
+ - **Weekly Leaderboards:** Top 20 scores for each ISO week (resets Monday UTC)
86
+ - **Settings-Based:** Each unique combination of game-affecting settings (game mode, wordlist, free letters, etc.) has its own leaderboard. You compete only with players using the same settings.
87
+ - **Qualification:** Only the top 20 scores (sorted by score, then time, then difficulty) are displayed for each leaderboard. All submissions are stored, but only the best are shown.
88
+ - **Automatic Submission:** After each game, you can submit your score to the leaderboards from the game over popup. Challenge submissions also submit to leaderboards.
89
+ - **Leaderboard Page:** Access the Leaderboards from the sidebar to view daily, weekly, and historical results, filtered by your current settings.
90
+
91
  ### Deployment & Technical
92
  - **Dockerfile-based deployment** supported for Hugging Face Spaces and other container platforms
93
  - **Environment variables** for Challenge Mode (HF_API_TOKEN, HF_REPO_ID, SPACE_NAME)
pyproject.toml CHANGED
@@ -1,7 +1,7 @@
1
  [project]
2
  name = "wrdler"
3
  version = "0.2.0"
4
- description = "Wrdler vocabulary puzzle game - simplified version based on BattleWords with 8x6 grid, horizontal words only, no scope, and 2 free letter guesses. Features daily/weekly leaderboards."
5
  readme = "README.md"
6
  requires-python = ">=3.12,<3.13"
7
  dependencies = [
 
1
  [project]
2
  name = "wrdler"
3
  version = "0.2.0"
4
+ description = "Wrdler vocabulary puzzle game - simplified version based on BattleWords with 8x6 grid, horizontal words only, no scope, 2 free letter guesses, and a settings-based daily/weekly leaderboard system. Features leaderboard UI, challenge sharing, and AI word lists."
5
  readme = "README.md"
6
  requires-python = ">=3.12,<3.13"
7
  dependencies = [
specs/requirements.md CHANGED
@@ -184,6 +184,30 @@ This document breaks down the implementation tasks for Wrdler using the game rul
184
 
185
  **Test Results:** βœ… 25/25 tests passing (100%)
186
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
187
  ## Sprint Completion Summary (v0.0.2)
188
 
189
  | Sprint | Description | Time | Tests | Status |
 
184
 
185
  **Test Results:** βœ… 25/25 tests passing (100%)
186
 
187
+ ## Leaderboard System (v0.2.0+)
188
+
189
+ - **Daily and Weekly Leaderboards:**
190
+ - Top 20 scores for each day (UTC midnight reset) and week (ISO week, resets Monday UTC)
191
+ - Each unique combination of game-affecting settings (game mode, wordlist, free letters, etc.) has its own leaderboard
192
+ - Scores are sorted by: score (descending), time (ascending), difficulty (descending)
193
+ - Only the top 20 scores are displayed per leaderboard, but all submissions are stored
194
+ - After each game, players can submit their score to the leaderboards from the game over popup
195
+ - Challenge submissions also submit to daily/weekly leaderboards
196
+ - Leaderboard navigation is available in the sidebar ("πŸ† Leaderboards")
197
+ - Leaderboard page allows browsing daily, weekly, and historical leaderboards, filtered by current settings
198
+
199
+ - **Challenge Mode (Updated):**
200
+ - Submitting a result to a challenge also submits to the appropriate daily/weekly leaderboards
201
+ - Challenge leaderboards remain for each challenge, but global leaderboards are now settings-based
202
+
203
+ - **Data Privacy:**
204
+ - Only player name (optional), score, and game settings are stored in the leaderboard
205
+ - All leaderboard data is stored in the Hugging Face repository
206
+
207
+ - **UI Integration:**
208
+ - Game over popup displays leaderboard submission status and rank if qualified
209
+ - Sidebar navigation for leaderboard page
210
+
211
  ## Sprint Completion Summary (v0.0.2)
212
 
213
  | Sprint | Description | Time | Tests | Status |
specs/specs.md CHANGED
@@ -83,6 +83,15 @@ Wrdler is a simplified vocabulary puzzle game based on BattleWords, but with key
83
  - βœ… **Top 5 Display:** Leaderboard banner shows top 5 players
84
  - βœ… **Optional Sharing:** "Show Challenge Share Links" toggle (default OFF) controls URL visibility
85
 
 
 
 
 
 
 
 
 
 
86
  ### PWA Support
87
  - βœ… **PWA Installation:** App is installable as a Progressive Web App on desktop and mobile
88
  - Added `service worker` and `manifest.json`
 
83
  - βœ… **Top 5 Display:** Leaderboard banner shows top 5 players
84
  - βœ… **Optional Sharing:** "Show Challenge Share Links" toggle (default OFF) controls URL visibility
85
 
86
+ ### Leaderboard System (v0.2.0+)
87
+ Wrdler now features a daily and weekly leaderboard system:
88
+ - **Daily Leaderboards:** Top 20 scores for each day (UTC midnight reset)
89
+ - **Weekly Leaderboards:** Top 20 scores for each ISO week (resets Monday UTC)
90
+ - **Settings-Based:** Each unique combination of game-affecting settings (game mode, wordlist, free letters, etc.) has its own leaderboard. You compete only with players using the same settings.
91
+ - **Qualification:** Only the top 20 scores (sorted by score, then time, then difficulty) are displayed for each leaderboard. All submissions are stored, but only the best are shown.
92
+ - **Automatic Submission:** After each game, you can submit your score to the leaderboards from the game over popup. Challenge submissions also submit to leaderboards.
93
+ - **Leaderboard Page:** Access the Leaderboards from the sidebar to view daily, weekly, and historical results, filtered by your current settings.
94
+
95
  ### PWA Support
96
  - βœ… **PWA Installation:** App is installable as a Progressive Web App on desktop and mobile
97
  - Added `service worker` and `manifest.json`