Leaderboards Documentation
Browse files- GAMEPLAY_GUIDE.md +42 -1
- README.md +8 -0
- pyproject.toml +1 -1
- specs/requirements.md +24 -0
- 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,
|
| 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`
|