Относительно недавно до России дошло интересное мероприятие, совмещающее в себе драйв хакатона и полезность воркшопа. Лаконичнее описать, что это такое конкретно, лучше чем у Ивана Немытченко у меня не получилось, поэтому приведу его цитату:
Многие угорают по хакатонам. Но правда это получается больше развлекушка. Получить реальную пользу от хакатона почти ни у кого не получается.
- Что-то прямо законченное и готовое к конкуренции в реальном мире за день-два сделать не успеешь. Да и опять же в реальном мире надо же наруливать каналы продаж и прочей стартапной фигней заниматься, которая у программистов вызывает приступы зевоты. Как-то прокачать навыки разработки тоже не выходит. Качество кода? Не смешите мои тапочки!
- Для тех кто хочет научиться чему-то новому, придумали воркшопы. Это когда какой-то эксперт(или не очень) рассказывает и показывает чего делать, а остальные повторяют. Воркшопы обычно платные. И конечно не такие бодрые как хакатоны.
В прошлое воскресенье 24 апреля мы (команда Рестрим) совместно с компанией Gitlab и Иваном проводили первый Lean poker в Ульяновске. Признаться, из-за того, что в покер я особо не играл, решение посетить такой ивент я принял ровно за полчаса до начала. И это стоило того, тысяча чертей!
Из слова 'poker' в названии становится понятно, чем участники будут заниматься. Вкратце — писать ботов, которые будут рубиться в покер друг с другом. Всё по правилам Техасского холдэма. Участники разбиваются по командам, берут какой-нибудь один язык программирования и фигачат, фигачат, фигачат до тех пор, пока не не кончатся часовые итерации и не объявится победитель.
Каждой команде необходимо зарегистрироваться на ресурсе, после чего в гитхабе капитана команды появляется репка. Репка с минимальным скелетом приложения деплоится на heroku, запускается веб-сервер. К примеру, на Ruby это Sinatra. Сервачок отвечает по нескольким урлам типа "сделать ставку", "вскрыть карты".
Вот в целом и весь механизм работы команд. К вам приходит некий game state, в котором видно игроков за столом, дилера, карты на столе. Вы всё это анализируете и принимаете решение о ставках, либо спасовать, либо ещё что. В первые часовые итерации каждые 20 секунд запускается турнир, в котором играют боты. Занявший первое место бот получает 5 очков в каждой игре, второе — 3.
Визуально всё это выглядит примерно так: графики, статистика игр, фотки.
По совету и под управлением Максима мы (команда POXEP) старались придерживаться некоторых покерных стратегий игры. В инфраструктуре Lean poker также существует замечательная API, куда передав карты руки и на столе можно получить rating комбинаций карт. Ну и, в зависимости от вашей хватки, покерного опыта и пр. решать, как реагировать боту в определённых ситуациях.
Графики, темпы и результаты Lean Poker можно посмотреть здесь.
Огромное спасибо лично Андрею Субботе и Ивану Немытченко за проведённое мероприятие!
Фотографии Андрея Субботы и Ивана Немытченко