-
Notifications
You must be signed in to change notification settings - Fork 0
/
TODO
55 lines (53 loc) · 3.77 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
Todo:
✔ Setup nodemon (live reloading for Node server) @started(20-03-01 18:27) @done(20-03-01 18:32) @lasted(5m23s)
✔ Have artist not be able to type in chat during that round @started(20-03-01 18:37) @done(20-03-01 18:59) @lasted(22m41s)
✔ Check on backend (give notification to user that artist cannot type) @done(20-03-01 18:59)
✔ Make sure when making a game, that is the random romm id is not taken [ getUniqueRoomId() ] @started(20-03-02 13:30) @done(20-03-02 13:32) @lasted(2m52s)
✔ Remove game from list of games when the game ends @done(20-03-02 13:46)
✔ Show active games on the main menu @done(20-03-02 14:59)
✔ have private option when making game to prevent showing up on that list @done(20-03-02 14:26)
✔ Matchmaking system of some kind @done(20-03-02 14:54)
✔ Move host over to someone else if host leaves during the game @done(20-03-02 16:48)
✔ Send message when chatbox is active and user hits Enter @done(20-03-02 16:52)
✔ Set nickname when hitting Enter @done(20-03-02 16:55)
✔ Enter button for creating game @done(20-03-02 16:57)
✔ Click join game button when Room # input is active and user hits Enter @done(20-03-03 10:37)
✔ Prevent chat spam @done(20-03-03 11:34)
✔ When a socket sends a message, add a property to that socket holding the current Timestamp, so it can be checked next time the user sends a message @done(20-03-03 11:34)
✔ Kick players as host @done(20-03-03 15:01)
✔ Add brush colors @done(20-03-03 15:51)
✔ Verify that multiple games can play concurrently as intended. @done(20-03-03 15:51)
☐ Start showing letters as the round gets closer to ending (tips)
☐ End round when all users have guessed correctly (timer needs general improvements as well (might be affecting other gamesm, etc))
☐ Add whispering
☐ Check if nickname is taken in the game being joined
☐ Scale UI
☐ Compress Canvas data (either on the frontend or backend) with something like https://github.com/pieroxy/lz-string - Maybe use Node buffers
☐ Live view canvas
- This would mean a rework of how canvas updating works. Maybe while user is the current artist, every server tick, the user will send the canvas value to the server. (would definitely want to compress data before doing this though)
☐ Connect to a database
☐ Store word lists outside of the game logic (Either in an API endpoint or in a module that can be imported)
☐ Stop repeat words
☐ Allow users to choose their set of words from a dropdown list
☐ Allow users to create a word list of their own
☐ End game screen (showing user names and points, as well as being able to start a new game maybe)
☐ User accounts (not required to play)
☐ Avatar (probably from a list and not upload)
☐ Stats (games played, won, lost, ratio, etc, total words guessed correctly, best/worst category of words for guessing and for drawing, average guess time)
☐ Convert React files to Typescript
☐ Refactor Game logic to use more efficient sorting methods.
☐ Push to a VPS (possibly DO droplet)
☐ Determine whether to allow joining mid game (currently set to only be able to join if status === lobby)
☐ Mobile support
☐ Finalize the design of the site
☐ Throttle testing
☐ Chat commands ( if message starts with / )
☐ Block users (auto kick when hosting a game, and ignore games when searching if they include a blocked player)
☐ Keyboard shortcuts (CTRL Z for undo)
☐ Add eraser
☐ Only show grid when artist
Ideas:
☐ Some way of progression (xp and leveling up, etc)
☐ Group listen to music (maybe similar to how BGO does it)
☐ Setting for have X amount of guesses allotted per round?
☐ Random Urban Dictionary word gamemode (maybe do multiple choice answers or something for this)