Tenhou Python Bot Versions Save

Bot for tenhou.net riichi mahjong server written in Python

v0.2.4

7 years ago

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

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.