Сегодня у нас необычный собеседник — программист с почти 50-летним стажем, создатель покерного софта для Холдема и Омахи. Герой нашего интервью играл в пятикарточный покер с обменом, когда родители многих читателей этого интервью ещё не родились.
— Добрый день, Никита! Представьтесь читателям, кто вы и чем занимаетесь?
Приветствую читателей Pokeroff. Мне 66 лет. По образованию математик, автор примерно 100 научных работ. Кандидат физ-мат наук. Программирую с 17 лет.
— Покер для вас — хобби, а не основная сфера занятий?
Всё верно. Я работал в научном институте, защитил диссертацию. После начала перестройки ушёл работать в частную компанию, которая занимается автоматизацией в области энергетики, в том числе, написанием софта. Софт серьезный и сложный. А с покером познакомился в молодости, будучи студентом, играл в общежитии вместе с друзьями. Но это был не Холдем, а 5-карточный с обменом. После студенчества я долго не занимался покером и пришёл в индустрию около 8-9 лет назад.
— На хайпе?
Не то, чтобы на хайпе. Сначала я играл в шахматы, но шахматы занимают очень много времени, партия длится 4 часа. Покер хорош тем, что можно просто сесть и поиграть столько, сколько хочешь. Мы работаем командой из 5 человек. Результаты нашего труда можно увидеть на сайте http://www.newpokersoft.ru
Остальные четверо все молодежь. Они, как и я, квалифицированные программисты, но в покер не играют. Я ставлю покерные задачи, которые мы решаем в свободное от основной работы время. Сейчас наши усилия сконцентрированы на софте для Омахи. Дело в том, что по Холдему создано огромное количество программ, а по Омахе их существенно меньше. И дело не только в меньшей популярности Омахи, но и в сложности самого софта: алгоритмическая сложность выше, и объем вычислений больше. Особенно это касается 5-карточной Омахи.
— Насколько сложно программировать софт для энергетики и для покера?
И то, и то сложно. Но сложность разная. Для энергетики мы пишем корпоративный софт, где есть серверные части, клиентская часть, при этом к софту подключаются 100-200 человек (операторы энергетики, атомной станции) и ведут очень сложную работу. Очень большая ответственность. Покер сложен с технической стороны программирования. Игрокам может показаться, что это очень простой софт. Например, для создания HUD, нужно, по сути, приклеить окно к чужой программе. Но обычный квалифицированный программист с этой задачей не справится. В покере пришлось изучать такие аспекты программирования, с которыми в обычной работе мы не встречались.
Покерное программирование — это своеобразный челлендж. Особенно при программировании Омахи. В Холдеме сложно придумать что-то новое, а в Омахе программ практически нет. Плюс к этому, в Омахе существенно больше вычислений. Надо использовать хитрые приёмы параллельного программирования. Грубо говоря, в Холдеме всё, кроме солверов, можно написать как угодно, и это будет работать. А в Омахе надо заниматься оптимизацией, искать хитрые алгоритмы. Программировать Омаху значительно более сложно и интересно.
— Давайте разделим покерный софт по видам
Можно выделить несколько классов программ:
- Трекеры (ХМ2, PT4, Hand2Note и другие)
- Программы, дающие дополнительный сервис для клиентов румов (StarsHelper, 888Caption2, PartyCaption и так далее)
- Калькуляторы эквити (PokerStove, Equilab, наша программа CombCalc6Plus для холдема с короткой колодой)
- Различные солверы (Simple Postflop, PioSolver)
- CardRunners EV и созданная на его основе GTO+.
- Программы для турнирных игроков (ICMIZER2 и анaлoги)
- Выделил бы в отдельную категорию программы для омахи: ProPokerTools, PokerJuice, наша программа NiceHandOmaha (советчик в игре).
— В скольких румах вы лично успели поиграть?
Было время, когда я был зарегистрирован в 20 румах. Это связано с тем, что нужно было проверять софт. И лучше самого себя софт никто не проверит. Первым моим румом был partypoker. Там я получил стартовый полтинник и долгое время играл в Холдем.
— Почему такие гиганты покерной индустрии, как partypoker, iPoker или 888poker, не могут создать хороший софт? В чём причины? Лень, плохие программисты, плохой движок?
Это мне самому непонятно. Когда работаешь в науке, прежде всего, смотришь, как решают проблему другие люди, какие наработки уже есть. Кажется, можно открыть клиент PokerStars и посмотреть, как работает их софт. Люди как будто находятся в замкнутом пространстве и не хотят смотреть, что делают другие. Причём, это проблема не только partypoker. Например, в iPoker нет функции «Любимое место». Но эту функцию очень легко создать.
Кажется, причина в том, что каждый считает себя самым умным и недооценивает важность хорошего покерного клиента. И причина в отсутствии обратной связи с игроками. На Pokeroff выходили статьи про обновления софта, где в комментариях игроки писали: «Раньше было лучше!» Почему рум не прислушивается к игрокам, неизвестно.
— А можно ли один раз дать программистам большую сумму дeнeг и сказать: «Сделайте из софта конфетку!» Реально ли это? Или сколько дeнeг не давай, всё равно хорошего софта не получится?
Программист — это человек, которому дают задание. Но очень часто он не понимает задачи. И если программист не разберётся в том, что от него хотят, то хорошей программы не будет. Это очень актуально при создании покерного клиента. Среди программистов обязательно должны быть игроки, которые понимают и программирование и саму игру. Причём подготовка людей, ориентирующихся в нескольких сферах, актуальна не только в покере (например, в банках). Так что, считать, что мы дадим дeнeг или наймём топовых программистов, и нам сделают конфетку, — это заблуждение.
— ПО каких покер-румов вам нравится больше всего, а в каких видите существенные недостатки
Из клиентов румов мне больше всего нравиться PokerStars. Он обладает хорошими настройками, в том числе и с помощью ini-файла. Но, надо учитывать, что я люблю играть в Омаху с софтом. При этом еще иногда и в 5 карт. Поэтому альтернативы почти нет. Также мне нравится, что пока PokerStars не ограничивают использование трекеров. Это значит, что над игрой можно работать и можно писать софт для работы над игрой, что для меня очень ценно.
— На вашем сайте я видел порядка 20 программ. Это все программы, которые вы разработали?
На самом деле, их больше. Каждая программа была неким этапом развития нашей небольшой команды, как программистов в покере. Наша конечная цель — создать программу-помощника для работы над игрой в Омаху. Но когда мы только начали работать, первой задачей было научиться быстро считать эквити. Потому что первые алгоритмы считали, может быть, в тысячу раз медленнее эквилаба. Затем мы учились разбирать файлы из истории для банкролл-менеджмента. Анализировали по файлам стиль игры по книге «Математика покера». Дальше была программа — счётчик дeнeг во время сессии. Но были интересны не сами дeньги, а ловля файлов истории на ходу и работа с ними. Затем появился калькулятор ICM.
— Какие программы пользуются сегодня наибольшей популярностью, если не секрет?
NiceHandOmaha. Самая сложная и самая известная — это программа-советчик при игре в Омаху. В основном она полезна для начинающих игроков в Омаху.
Но есть и игроки очень высоких лимитов, использующие из этой программы хад с силой руки. В Холдеме приблизительно каждый игрок знает, какую руку в какой позиции лучше разыгрывать. В Омахе с этим возникают проблемы. Первый хад показывает топ-процент диапазона, в который входит рука. Далее, есть хад с аутами. В Холдеме ауты считаются элементарно: на стрит аутов может быть 8 или 4. А в Омаху их может быть 23, а сколько натсовых среди них? Такая сложность Омахи игроков чуточку отпугивает. Программа, собственно, восполняет этот пробел.
Калькулятор для Холдема 6+ на втором месте по популярности. Причём он стал популярен в последнее время. Видимо, начинается бум Six+ Holdem. По данной теме калькуляторов нет, старшинство комбинаций другое.
MiniMoneyTimer. Третья по популярности программа– это счётчик дeнeг за сессию. Приятно видеть, сколько дeнeг за сессию ты выиграл или проиграл.
Попросили сделать маленькое окошко, чтобы в Holdem Manager никуда не лазить. В новой программе будут выводиться и дeньги, и EV, чтобы было видно недодачу или передачу (diff.EV). Игроки высоких лимитов очень попросили такую функцию. Все программы находятся в списке разрешенных программ PokerStars, 888poker и в сети MPN.
— Как сложно адаптировать софт под правила покер-румов?
Здесь все зависит от типа программ. Расскажу на примере нашей программы NiceHandOmaha. Первоначально программа «добывала» карты из клиента самостоятельно и работала только на PokerStars. Естественно, пришлось проходить первый раз процедуру согласования с поддержкой старзов.
Затем PokerStars в августе 2015 года ввели достаточно жесткие правила, и нам прислали письмо с требованиями по ограничению функциональности. Вместе с тем было приятно, что PokerStars помнит о нас. За пару недель программа была приведена в соответствие с новыми и действующими до сегодняшнего дня правилами. Второе согласование программа прошла в октябре 2015.
В марте 2016 ко мне обратились игроки с просьбой добавить ХАД с возможными стритами у оппонентов (для Омахи это очень важно). Существенно, что эту функцию очень хотел иметь американский тренер больших лимитов по Омахе. Функция была вставлена, и в 3-й раз пришлось проходить процедуру согласования со PokerStars.
Затем пришла в голову идея сделать программу для 888. Хорошо, что сразу обратились к автору 888Caption2, который просто согласился присылать нам карты по некоторому протоколу. И, естественно, пришлось проходить 4-е согласование уже с 888poker.
Раз в 3-4 месяца приходилось копаться в клиенте PokerStars, ибо вдруг пропадали карты хиро. То есть, они перемещались в клиенте куда-то в другое место. И это было довольно часто. Поэтому я обратился к автору StarsHelper, и он любезно согласился передавать нам карты из своей программы. Некоторое время существовали оба варианта (своя добыча карт и с помощью StarsHelper). Но, осенью 2017 PokerStars окончательно «похоронила» наш механизм добычи карт хиро, упрятав их далеко-далеко. И как было здорово, что автор StarsHelper решил эту проблему за несколько дней.
Недавно мы решили заняться распознаванием карт прямо с экрана, потому что этого очень хотел один из программистов нашей команды. Он занимался распознаванием образов для других задач. Выбрали MPN. На удивление быстро прошли 5-е согласование, и сейчас программа работает в 2-х румах сети MPN.
Также изредка румы меняют формат файлов историй. А в остальном, мы свои проблемы по взаимодействию с клиентами переложили на могучие плечи авторов StarsHelper и 888Caption2. Это позволило нам сосредоточиться на наших новых проектах по Омахе.
— Много ли зарабатывают разработчики софта?
Не знаю. Все зависит от конкретной программы. Надо «попасть» в рынок, суметь уловить потребности игроков. Самое сложное – получить известность. Ведь на большинстве форумов запрещается писать о своих программах. Можно только о простых и бесплатных, и то не всегда.
— В последнее время в покерном коммьюнити поднимается тема нечестной игры. Так ли страшна проблема ботоводства в онлайн покере?
Как рекреационный игрок в Омаху я абсолютно не боюсь ботов. Я уверен, что в Омаху их нет. Как математик, могу сказать, что в 1940-е годы вышла фундаментальная книга Дж. Фон Неймана и Осипа Моргенштерна «Теория игр и экономическое поведение», в которой много страниц посвящено различным упрощенным моделям покера и показана важность математического исследования этой игры для современной науки. Но в настоящее время не существует никакой математической модели оптимальной игры для 6-макс столов. Для Омахи вообще ничего нет, даже для 2-х игроков.
Я, в свое время, переписывался с молодым ученым из Португалии, который писал диссертацию (Ph.D.) по покеру в лаборатории искусственного интеллекта. Он любезно предоставил мне доступ к их электронной библиотеке, с которой я скачал порядка 100 работ по покеру. Особенно меня поразила одна работа, где исследовалась сложность различных игр. Самой сложной оказалась игра ГО. На втором месте — шахматы, а на третьем с очень небольшим отставанием — безлимитный холдем. Остальные игры (шашки, нарды и так далее) отстают очень значительно. Омаха, я думаю, могла бы и опередить шахматы. Кстати, я был кмс по шахматам в свое время.
— Какие основные задачи надо решить создателям ботов?
Надо запрограммировать алгоритм игры (как правило, это нейронная сеть, обученная на огромном количестве раздач успешных регуляров). Сеть нужно создать, что нелегко, а затем обучить, что может занять месяцы работы даже очень мощных компьютеров.
Надо «добыть» с клиента все действия о ходе раздачи. Вот для этого существуют готовые решения, которые можно найти в Интернете, причем есть с открытым исходным кодом.
Надо использовать не очень известные хакерские технологии сокрытия бота от клиента рума. Это очень и очень сложно. Поэтому чаще используют боты-кентавры, когда софт решает первые две задачи и дает игроку подсказки о действиях, а на кнопки давит человек.
Поэтому полноценного бота в одиночку не создать. Нужен коллектив с различными программистскими навыками, который бы работал в кооперации с сильными игроками.
— Могут ли покер-румы эффективно защитить своих игроков от мошенников с подсказчиками?
Я не вижу проблем для румов в обнаружении ботов. Клиент рума работает на вашем компьютере, причем все рекомендуют запускать его от администратора. Лично я всегда запускаю клиенты румов обычным образом. Зачем давать кому-то лишние права?
Руководству любого рума достаточно обратиться в серьезную антивирусную компанию, и любой бот будет выявлен. Почему румы этого не делают? Просто их проблема ботоводства волнует только на словах. Жалобы от игроков на форумах, что их банят по подозрению в ботоводстве, говорят о некомпетентности румов в этом вопросе.
Бороться с ботами румы должны в своем клиенте, который работает у вас на компьютере. Клиенту доступен список процессов, клиент при установке может установить драйвер уровня ядра и так далее.
Все фреймворки и оболочки для создания ботов известны, нет проблем их обнаружить. Думать, что какие-то таланты могут создать бота «в гараже» — сверхнаивность. Обнаруживались даже вирусы, созданные спецслужбами развитых стран (Stuxnet, Flame, Duqu). Поэтому было бы желание, а решение состоит в обращении к профессионалам в этой области.
— Раскройте секрет, над чем работаете сейчас?
На данный момент работаем над двумя программами — анaлoгами Holdem Manager, Poker Tracker и Hand2Note под Омаху. Программ две потому, что на функцию разбора раздач во время игры румы налагают ограничения.
- Первая программа PokerAdjunct будет выводить статистику во время игры.
- Вторая программа ForgeEV — для работы над игрой вне сессии. Её использование невозможно при открытом клиенте PokerStars и 888poker.
ForgeEV будет работать в том числе и с 5-карточной Омахой. Причём 5-карточная Омаха видится наиболее перспективной, так как очень много игроков играют «от души» и стороннего софта практически нет.
Думаю, к новому году запустим её в бесплатном триале. Мы сотрудничаем с игроками на разных лимитах, в том числе и на самых высоких. Сначала мы запустим бесплатную версию, а дальше посмотрим, сколько будет пожеланий, сможем ли мы усовершенствовать программу, и затем поставим ценник.
В заключение хочу выразить благодарность и признательность Покерофф от всего нашего маленького коллектива за предоставленную возможность высказать свои мысли по интересным вопросам нашей любимой игры.
Не хочешь упустить последние новости и акции? Подписывайся на наш канал @pokeroffru в Телеграм!