-
Notifications
You must be signed in to change notification settings - Fork 39
Requirements of Todo Features
Help Wanted!
Priority: High
At present, there are some flaws about network features due to unskilled usage of Asio library, which negatively affects player experience to some extent. For example,
- If the game service is occupied (i.e. room is full) when connecting to it, player know that only by the phenomenon that "I could not connect to it for some time".
- If a player connected successfully and then disconnected, the server side still considered him as connected and started game after all players joined. Problems won't show up until communication to that disconnected player is needed. And the current solution is to crash the server, which will also lead to crash on client side.
- If someone disconnects during the game, server will directly crash.
- When waiting for other players to join, you can only wait without doing anything. Maybe we can develop something like a chat room (priority: medium).
Priority: Medium
Currently, all hint text in the game is English, maybe we can add Chinese support in the future and make it configurable in command line or yaml file.
Priority: Medium
All features have been tested on Linux. However, there are some problems on Windows listed below:
- Bot cannot run correctly on Windows (I suppose this problem is related to cooperation between
_getch()
on Windows andstdin.write
of subprocess module in Python)
Priority: Medium
- Design a reasonable manner to require players themselves to yell out UNO when playing the second-to-last card.
- Make the +4 queriable, which is to say, if the player plays +4 when he has other cards to play and this operation is queried by another one, the punishment of drawing cards will be taken by the one playing +4. (priority: low)
Priority: Low
Make the keyboard mappings configurable, including moving cursor, playing a card, skipping and even specifying the next color.
Priority: Low
Currently Reverse and Skip card are represented by R and S. Maybe it's possible to find two suitable Unicode characters to replace them.
Priority: Low
Design a unique banner and put it to a suitable position.