Couple of thoughts: Nice that you didn’t force an account, but might be nice to claim the account to come back?
I’d work on the alignment of buttons and timer on mobile - things don’t stay centered with the keyboard up on my phone, rule button shows while done button is hidden
Decide if you want people to write a dictionary definition or a single synonym - either way is fine, but seems like some people just tried for one word, so I felt like I was cheating when I wrote a long clue
Make it clear if I am getting points from clues or answers - I saw below this might be because you have so many clues mine isn’t likely to be seen? Maybe just show a spot where I would see the points from those, that way it’s clear it’s working.
Anyways, fun game! Thanks for making!
I feel that sometimes synonyms is enough, but at other times a long clue can even be very hard to guess if the word is hard. So I think both are ok. As long as you don't spell it out.
Yes, I think I will change the way clues are given to users, perhaps only using clues from users that are online would be an alternative, and perhaps even alert which clue gave them points.
Edit: To the author the fix is pretty small:
In socket.on('toplist', (data) => {...})
Replace the line:
$('#toplist tr:last').after('<tr>' +'<td>' + topList[i].name + '</td>' + '<td>' + topList[i].points + '</td>'+ '</tr>');
with: $('#toplist tr:last').after($("<tr></tr>").append($("<td></td>").text(topList[i].name),$("<td></td>").text(topList[i].points)))