
On August 1, 2015, the first
leanpoker tournament in Russia took place in the city of Omsk. It was organized by Ivan Nemytchenko. The leanpoker tournament was held in
IT Loft at Omsk, ul. Training 83.
Leanpoker is not a simple no-limit hold'em players match. This is a competition for programmers who were supposed to write a poker bot, whose goal was to outplay rival bots. A feature of the tournament is also the fact that there is no fundamental difference in what programming language the team writes. Consequently, the programming languages ​​in the tournament were represented slightly, slightly less than the number of teams.
In total, 6 teams took part in the tournament:
- sevenbits - javascript
- JBot - Java
- Awesome incredible Poker Bot - Ruby
- PythonPokerTeam - Python
- Boris - Ruby
- LeanNodeJS - JavaScript
But from the fact that bots fought directly at poker, the intensity of passion was no less, since the game of bots with each other began immediately with the start of the tournament. The teams had to release their bots into battle from the very first second, and then add their program code and fix bugs during the whole tournament, sending commit for battle, and so the tournament lasted six hours in a row.
')

All these six hours between the bots, mini-tournaments were launched, initially every two minutes, with the bot more and more often until the interval between mini-tournaments reached 10 seconds. The logic of the bots at the beginning of the tournament was the easiest. Some of the bots just constantly bet on the whole stack and ran a full random ball with the ball. Some bots constantly bet 50 chips, which, by the way, from the very beginning brought success to the sevenbits team and retained their leadership positions for a long time. Until the JBot team began to burst forth. The participants of this smallest team applied, as it turned out, a fairly successful strategy. Their bot was waiting for other rivals to knock each other out of the game and he wouldn’t be left alone with the remaining player, but what’s next? The peculiarity of scoring for a mini-tournament won by a bot was that the bot that won the first place brought the team 5 points, and the bot who took the second place brought the team 3 points. Thus, the team consistently earned points, only adjusting the nuances of the strategy depending on how the behavior of the enemy's bots changed.

Speaking about the behavior of the enemy's bots, I would like to mention the fact that the teams had access to the history of all the hands, including what cards the opponents bots played with. Thus, after analyzing the strategy and behavior of the enemy's bots, the team adjusted the algorithm of its own bot.
Although not all teams used the complete handout history, and some decided on the behavior of bots only on the basis of pocket cards. And ... the sevenbits team took the lead at the end of the match, guided precisely by this very strategy.
I would like to note that it was very interesting to see how teams, especially those who did not have much experience in poker, or did not have it at all, came to classical poker techniques. For example, stealing the blinds in late position or adjusting the aggressiveness of the game depending on the size of your bot stack.

Some of the teams, despite the difficulties, lack of knowledge of some participants in the target language, in which the team bot was written and even the complete rewriting of bots from scratch, showed a decent game and thirst for victory. Some of the participants discovered the wonderful world of new languages ​​and showed a desire to later get acquainted with these languages. And some of the participants realized that their own opinion about their abilities was understated, which is also a plus of this tournament.
But do not think that the teams fought without a break for all six hours. Naturally, the tournament was divided into time intervals by the hour, between which the teams rested and told about what techniques they used and what difficulties they experienced with their bots. It may seem strange to some that the teams shared their strategies, but in fact the essence of the tournament was not that someone won, but that the team members learned something new, otherwise they looked at their working methods. , and subsequently transferred the experience to their work activities.

So the members of the LeanNodeJS team admitted that in JavaSripct in similar conditions of constant commits to the master branch, which immediately “goes into production,” you can very well shoot all your legs. But no matter what, they were very pleased with the tournament, because they looked at their work from a different angle.
The team Boris was the team that expressed interesting ideas on the construction of the algorithm of the bots and was constantly looking for new techniques that would improve the game of the bot. But, of course, other teams also did not sleep and tried to do everything possible for their victory.

The duration of the tournament was to consist of four watch sections, but the teams expressed a desire to hold the fifth section, citing the fact that they only had to fix a few bugs of their bots. Neither Ivan nor I thought that something would change dramatically in the balance of power between the teams, because the teams were already tired all the time, and would rather make mistakes that would lead to the collapse of their game.
But at the 15th minute of the fifth section, the Awesome team of incredible Poker Bot zakommitila something explosive in his bot and he began to sharply go to the first two places, strongly knocking down the JBot team, which made them send commit for commit to correct the situation.

A little later, the sevenbits team made changes to the program code of their bot, which brought them to the first position in the tournament.
At the very end, the observation of the bots tournament was suspended, but the battle between the bots was not paused, as was done during the breaks. Instead, the bots were left to fight with each other, and the projector screen and laptop monitors were extinguished. For some time, all participants in the tournament told their impressions of the tournament and what they learned. And then there was a review of the results, which quite surprised all the participants with the steep schedule of the sevenbits bot after their last commit.
As a result, all participants of the event received a lot of positive emotions and a very interesting development experience. And this will not be the last leanpoker tournament.