Свой собственный покер-рум
В общем, всё началось с этого поста одного инди гейм-девелопера. Я думаю, вы знаете, но на всякий случай скажу, что понятие «инди» никак не связано индийцами и их культурой – оно произошло от англисйкого слова «independent», чьё значение и унаследовало. Да, инди-рок, это тоже оно.
Так вот, пост тот, конечно, мотивирующий, но во мне он, скорее всего, лишь оживил ненадолго давно тлеющий (а когда-то и горящий) огонёк геймдева. И я слегка решил посёрчить в инете о флеш-гейм разработке. Слово за слово, вкладка за вкладкой, страница за страницей – и я уже искал какие-то исходники техасского холдема, в любом его виде. Хотел посмотреть функции, алгоритмы, библиотеки, и если там всё будет не слишком уж замудрёным, то в какие-то свободные часы отрисовать стол, фон, карты и т.п., чтобы собрать небольшой флэшевый покер. Так как такое флэш-приложение выполняло бы свою роль, только если бы имело основные функции покер-рума (мультиплеер, со всеми его вытекающими), то я сразу стал искать исходники каких-то покерных приложений. Язык и среда разработки не были важны, я искал лишь сам набор функций, библиотек и прочего.
Собственно, я уже как-то интересовался, что требуется ля покер-рума. Покер-рум с игрой на настоящие деньги (это важный момент) стоит очень немалых денег уже на этапе своего открытия. Во-первых, нужна лицензия. Во-вторых, разработка софта стоит очень немалых денег и времени – попадёте в сотни тысяч долларов, ближе к полумиллиону. Можно купить лицензию у покерных сетей (ОнГейм, например), на использование их софта – лицензия такая стоит порядка 50-70 тысяч долларов. Вы, наверное, подумаете хули такие большие суммы, там же всего лишь простая карточная игра? Игра-то простая, но там очень много заморочек, которые так или иначе связаны с тем фактом, что игра ведётся на реальные деньги, что означает повышенное внимание к вам со стороны хакеров. А это значит, что вам надо заранее победить вашего невидимого врага: сделать всякие системы учета ИП-адресов, кукисов, каких-то временных файлов, не допустить подмены передачи данных. И вот об этом всем приходится думать на каждом этапе разработки. Вот статейка (на англ.) на эту тему.
Собственно, поэтому в интернете и нет готовых покер-румов с уже прикрученными биллингами. Есть довольно много неполноценных покерных приложений, они в моем случае меня мало интересовали. Меня интересовали разработки, которые в свободном доступе, и у которых реализована как клиентская, так и серверная части. Нашел два движка, которые меня заинтересовали более или менее.
Вот первый движок. Я уж было обрадовался знакомому и родному слову Flex, но в дальнейшем меня огорчило отсутствие флекс-клиента в репозитории. Но, я его так и не нашел – написали, что удалили из-за инактива автора.
Кто не знает как скачать оттуда полностью всё, то качайте и устанавливайте вначале это. Потом создаете папку, кликаете правым кликом, выбираете подменю от этой новой программы и там выбираете Export. Далее в поле ссылки вставляете ссылку отсюда.
Абсолютно сырой движок, я особо и не копался в нём, заметив это.
Второй движок нашёл тут. В правой колонке можете увидеть очень много интересных опен-сурс программок, в том числе и 3д-покер! Исходники частично на питоне, частично на с++. Но главное, что там есть в свободном доступе исходник покерной сети – то есть, все бибилиотеки для них, и движок, и клиентская часть, и серверная часть. Причем на основе этих кодов их авторы уже выполнили несколько коммерческих заказов. Этот самый примечательный. Вот пример дефолтной установки браузерного клиента для их же покерного движка (нужна будет java-среда).
Покопавшись слегка во всех этих исходниках, и потеряв порядка 6 часов на всё, я понял, что всё еще сложнее, чем я себе представлял. Хотя я и так представлял недюжинную сложность.
Но так на глаз, думаю, создание флэшевого покерного клиента на основе выше обозначенных движков может занять 3-4 недели. Но опять же, можете и не мечтать о реальных деньгах, а не игровых. Взломают, подменят данные и т.д. Это не считая того, что для игры на реальные деньги нужна лицензия.




