This repository has been archived by the owner on Jul 8, 2023. It is now read-only.
Releases: MahjongRepository/tenhou-python-bot
Releases · MahjongRepository/tenhou-python-bot
v0.2.4
Features:
- Total refactoring of discards system
- Minor improvements of rounds reproducer
- 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
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
- 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
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
- 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
v0.1.0
- 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.)