Skip to content

Requirements of Todo Features

gusabary edited this page Dec 4, 2020 · 1 revision

Help Wanted!

Improve player experience about network

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).

Chinese support in the game

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.

Better support for Windows platform

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 and stdin.write of subprocess module in Python)

Perfect the details of UNO rules

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)

Configure keyboard mappings

Priority: Low

Make the keyboard mappings configurable, including moving cursor, playing a card, skipping and even specifying the next color.

Find suitable Unicode characters to represent Reverse and Skip card

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.

Unique banner

Priority: Low

Design a unique banner and put it to a suitable position.