Bugs
----
Name tags look wrong when renamed???
Next
----
Send an email wherever a game is started.
Using the output from the server.
Don't include it in the git repo.
Chat command/button to add jokers and suit cards
Can be called more than once?!?
Chat command/button to add an extra deck of cards.
Refactor - new function addDeck, which increments/sets game.decks.
Check that shuffle/reset still work.
New "label" command :
label Foo
To add a label with text "Foo" to the board. Use a different asset to nameTag.png.
Defaults position 400,300
Use `label${game.labelCount ++}` as the piece name.
Later
-----
Refactor so that init code is away from the data, which is away from the socket stuff.
Add a scores tab, (over chat).
Jitsi integration?
Players can allow a spectator to view their cards.
Add chat commands "show @PLAYERNAME" and "hide @PLAYERNAME"
Click on a name in chat pastes the name into the chat field prefixed with "@".
Also add a space before the @ if needed.
Make game IDs be the game name, excluding spaces, and append a sequence number if that name is already in use.
Create different namespaces for index, lobby, game?
Add a "white board" feature
Allow drawing of shapes on the board.
Use this for "Noughts and crosses" and "dots and boxes" and simple "Drawing"
Maybe store the strokes on the CLIENT, and a new connections gets the data from the first connected player???
Check if there's a simple way to lower the CPU requirements.
Detonating Dogs (similar to Exploding Kittens)
"See the future" and inserting cards into the deck is tricky.
For Mainstream
--------------
I don't really care about these items, but if this were to become mainstream,
and not just a project for my family and friends, then these features would
be essential :
Make it robust against denial of service attacks
Especially defence against malformed data
Check player.isSpectator on the server
Currently all checks are client side only, so it is easy for a script writer to troll as a spectator.
Auto delete games n seconds after the last time a piece was moved.
A database to hold game state
Prevent cheats from being able to see "hidden" and face-down cards by sniffing the data.
The server should only send data that the player should know.