Try to push with expensive (with 3+ doras) 1 shanten hand against threatening players
Try to save more valuable tiles in hand even if they have less remaining tiles
Try to grab as much yakuhai pons as possible
Correctly handle atodzuke opened yakuhai hands
Improve defence against multiple honitsu players
Improve honitsu discards detection
Bugs fixes:
Don't add chankan to the players melds (because we already added a pon)
Fix a bug with wrong hand estimation in defence mode
Fix a bug with wrong detection of safe tiles
Fix a bug with wrong honitsu detection
Exclude aka dora from waiting for hand estimation, because it affected on hand cost
v0.2.3
7 years ago
New features:
After started game bot will parse game rules (aka dora and open tanyao) and it will change it's play logic based on these rules
Discards system were refactored for better support of defence logic. It will consume more resources now, but will give more opportunity to the careful playing
Detect enemy's honitsu hands and fold against them
Parse and store to a log a message about new achieved rank
Add replay reproducer. We need it to be able reproduce round from the tenhou log and debug bot's decisions
First try to fold only with 100% safe tiles against multiple players, and if there is no 100% safe tiles try to find common suji tiles to fold
Mark dora as a dangerous tile to discard when defence with suji
Bugs fixes:
Fix a bug when bot didn't riichi for with penchan waiting
Fix a bug with not counting our bot discards as safe tiles against other players in riichi
Fix a bug with wrong is_tempai flag after discarding tiles
Fix a crash after called chankan
Fix an issue with wrong counting of remaining tiles in the wall
Check should bot go to the defence mode just after called riichi, not after first draw. It will affect open hand suggestions
v0.2.2
7 years ago
Improve defence strategy with Kabe technique
Improve defence strategy with Suji technique
Remove beautifulsoup4 dependency. It should speed up a bot a little bit
Various minor fixes in local games runner
Fix an issue with bot discards and revealed tiles cache
v0.2.1
7 years ago
Bot AI improvements:
In defence mode try to discard not needed safe tiles first
If there is no not needed tiles, try to discard safe tiles that will do less harm to the hand state
Don't call a riichi for a pair wait (except chitoitsu). This wait can be easily improved
Local games improvements:
Don't allow to call ron when furiten
Support multiple ron for local games
Support abortive retakes for local games
v0.2.0
7 years ago
Store information about was tile discarded from hand or it was tsumogiri. It will be helpful for future discard analyzation
Implement simple defence mode. Discard gembutsu tiles after other player riichi if our hand is cheap or not ready
Heavy refactoring of Client, Table and Player classes. It will allow to build next features with less efforts :)
v0.1.1
7 years ago
Add the mode to detect game type dynamically based on bot rank and rate
Fix and issue with socket initialization and resources loading
Handle KeyboardInterrupt exception on Ctrl + C
v0.1.0
7 years ago
Was added basic support for open hands. Bot will open hand if it will improve hand shanten number. And it has different open hand strategies: Tanyao, Honitsu, Yakuhai.
Each discard tile has "value" from now. For example dora would be more valuable, than usual tile, or 5 is more valuable than 1. Bot will try to discard not valuable tiles first.
For "remaining tiles" we will not count discarded tiles or tiles from open sets. So, bot will try to avoid "dead" waits.
Local game runner was significantly improved. It supports more mahjong aspects and allows to save local games in tenhou.net log format. So, you can view it with standard tenhou log viewer.
Add analytics package. It contains scripts to download phoenix replays and load them to the memory. Later I will analyze phoenix replays for different mahjong situations (like suji traps and etc.)
v0.0.5
7 years ago
Fix a bug with tournament authentication
Support login to the tournament lobby (-c flag)
Various fixes in the bots runner
v0.0.4
7 years ago
Fix a bug with wrong one line tiles presentation
Implement basic bots runner
v0.0.3
7 years ago
Allow to set settings from command arguments. Use python main.py -h for details
Support login to the lobby
Support is_tournament mode. In this mode bot will connect to the lobby and will wait while game is started.