VISHAL18for4 commited on
Commit
fbf0f7b
ยท
verified ยท
1 Parent(s): 6d3ba4e

Upload README.md

Browse files
Files changed (1) hide show
  1. README.md +88 -0
README.md ADDED
@@ -0,0 +1,88 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # ๐ŸŽจ Drawable
2
+
3
+ > The ultimate Draw & Guess game โ€” skribbl.io clone with superpowers.
4
+
5
+ ## ๐Ÿš€ Features (beyond skribbl.io)
6
+
7
+ | Feature | Drawable | skribbl.io |
8
+ |---|---|---|
9
+ | Power-ups (Reveal, Time Warp, Bomb) | โœ… | โŒ |
10
+ | Emoji reactions (floating) | โœ… | โŒ |
11
+ | Drawing replay after each round | โœ… | โŒ |
12
+ | Live score graph timeline | โœ… | โŒ |
13
+ | Team mode (Red vs Blue) | โœ… | โŒ |
14
+ | Sudden Death (wrong = lose points) | โœ… | โŒ |
15
+ | Quick Draw mode (20s) | โœ… | โŒ |
16
+ | 10 word categories | โœ… | โŒ |
17
+ | Custom words | โœ… | โœ… |
18
+ | Achievements system | โœ… | โŒ |
19
+ | Streak bonuses | โœ… | โŒ |
20
+ | Host kick player | โœ… | โœ… |
21
+ | Spectator mode | โœ… | โŒ |
22
+ | Undo stroke | โœ… | โŒ |
23
+ | Shape tools (line, rect, circle) | โœ… | โŒ |
24
+ | Bucket fill tool | โœ… | โœ… |
25
+ | Close-guess detection | โœ… | โŒ |
26
+
27
+ ## ๐Ÿ“ File Structure
28
+
29
+ ```
30
+ drawable/
31
+ โ”œโ”€โ”€ server.js # Node.js + Socket.IO backend
32
+ โ”œโ”€โ”€ words.js # 300+ words across 10 categories
33
+ โ”œโ”€โ”€ package.json
34
+ โ”œโ”€โ”€ Dockerfile
35
+ โ”œโ”€โ”€ .dockerignore
36
+ โ””โ”€โ”€ public/
37
+ โ”œโ”€โ”€ index.html # Lobby
38
+ โ”œโ”€โ”€ game.html # Game screen
39
+ โ”œโ”€โ”€ css/style.css
40
+ โ””โ”€โ”€ js/
41
+ โ”œโ”€โ”€ lobby.js
42
+ โ””โ”€โ”€ game.js
43
+ ```
44
+
45
+ ## ๐Ÿ  Run Locally
46
+
47
+ ```bash
48
+ npm install
49
+ npm start
50
+ # Open http://localhost:7860
51
+ ```
52
+
53
+ ## ๐Ÿค— Deploy to Hugging Face Spaces
54
+
55
+ 1. Go to https://huggingface.co/new-space
56
+ 2. Name: `drawable` | SDK: **Docker** | Visibility: Public
57
+ 3. Clone the Space repo:
58
+ ```bash
59
+ git clone https://huggingface.co/spaces/YOUR_USERNAME/drawable
60
+ ```
61
+ 4. Copy all project files into the cloned folder
62
+ 5. Push:
63
+ ```bash
64
+ git add . && git commit -m "init" && git push
65
+ ```
66
+ 6. Wait ~2 min for build. Your game is live! ๐ŸŽ‰
67
+
68
+ > **Note:** Hugging Face Spaces expose port 7860 automatically โ€” no config needed.
69
+
70
+ ## โ“ Do I need a database?
71
+
72
+ **No!** All game state is stored in-memory on the server.
73
+ - Rooms exist while players are connected
74
+ - Scores reset each game
75
+ - No user accounts needed โ€” just pick a name and play
76
+
77
+ If you want persistent leaderboards later, add Supabase (free tier) and a `/leaderboard` endpoint.
78
+
79
+ ## ๐ŸŽฎ How Rooms Work
80
+
81
+ ```
82
+ Player โ†’ click "Quick Play"
83
+ Server: any open room? โ†’ YES โ†’ join it
84
+ โ†’ NO โ†’ create new room, wait for others
85
+
86
+ Player โ†’ click "Create Room" โ†’ get 6-char code โ†’ share with friends
87
+ Player โ†’ click "Join Room" โ†’ enter code โ†’ join instantly
88
+ ```