GameDesign 板


LINE

瀏覽"How i built a working online poker bot?"心得 作者:NDark 時間:20100113 參考網站: http://www.codingthewheel.com/archives/how-i-built-a-working-poker-bot 前言 我會去看這頁面是由於一位朋友(這邊稱L先生)對這個有興趣,但又技術不足, 因此我總共花了4個晚上(不含文章撰寫) 把James Devlin這一系列相關的文章大致上看過一遍。 所謂大致上就是我沒有每段都去仔細看。因此本篇文章只能說是一個心得報告。 對於有興趣的人只能說是個導讀。 我認為這篇文章應該屬於AI應用的部分,因此應該適合本版。 James Devlin先生是一個視窗程式程式設計工作者與撲克玩家, 他在完成自己的線上撲克機器人後在2008年初開始發布這一系列文章。 主要說明你要怎麼建置自己的線上撲克機器人。 很重要的第一點是: Devlin說到:"為了能贏,你必須讓你的機器人不能贏"。 因為這個機器人是在現實世界賺真實的錢,一旦賺的太凶可能會把地球玩垮XD。 (他的意思大概是這樣沒錯,原意複利與倍數的級數會導致賺錢的速度高過你的想像, 以至於到最後你沒辦法獲利[不管是被盯上或是錢都賺光了]。) 很重要的第二點是: 線上撲克的客戶端程式基本上都是間諜程式- "online poker client are basically spyware" 是為了紀錄你瀏覽過哪些網頁,是否開啟什麼程式。 很重要的第三點是: 透過線上撲克機器人,你還是不可能看透對手的牌。(對手的資料沒有存在客戶端) 很重要的第四點是: 建議不要使用非原生語言來撰寫,因為你要處理的東西是視窗程式, 因此越能靠近它的語言是最好的,如C++。 "C# and other managed code is not suitable for this case" L先生曾經找過程試設計的工作者來估價這個系統,結果是30萬。原本我以為太貴, 但是等我全部把這一系列文章都看完,我覺得確實值這個價錢(甚至更高)。 短時間之內,我並不想投入這個金錢遊戲, 因為我還不覺得這個工作可以讓我長久專心投入。 系統 簡單來講,要完成一個線上撲克機器人你會需要建置一個系統 以架構來說,你會有 1.虛擬的bot程式或PC若干。 2.一個主控伺服器控制各PC上的bot程式喚起或結束,收集資訊。 3.資料伺服器:bot的歷史資料。 4.收集伺服器:收集線上的各種資料庫。 以流程來論 input processing output 擷取資訊 處理資料 輸出驅動 擷取資訊-從線上撲克的程式擷取資料的系統,這裡牽涉比較多的視窗底層運作。 處理資料-從目前牌桌狀況決定要作什麼的系統,這裡則是AI與撲克理論。 輸出驅動-按下線上撲克程式的控制項並真正反應的系統。 所謂"簡單"是指你已經有下列這些背景知識之後會較為簡單, 如果你沒有這些背景知識(像我一樣),那麼整個工程會變的相當大, 幸運地,作者釋出了他部分的程式碼,你可以照抄照改。 會需要學習的程式技巧(What skills will I need to write a bot?) Windowing & GDI Windows Hooks Kernel objects DLL Injection (in general: the injecting of code into other processes) API Instrumentation (via Detours or similar libraries) Inter-process Communication (IPC) Multithreading & synchronization Simulating user input Regular expressions (probably through Boost) Spy++ 會需要學習的技術領域 Artificial Intelligence. Poker Strategy. Input Simulation. Operating Systems. Reverse Engineering. Probability and Statistics. 建議讀物(Recommended Reading)-程式設計類 Windows via C/C++. Jeffrey Richter. Exploiting Online Games: Cheating Massively Distributed Systems (Addison-Wesley Software Security Series). Exploiting Software: How to Break Code (Addison-Wesley Software Security Series). Greg Hoglund and Gary McGraw. 建議讀物(Recommended Reading)-牌局類 The Theory of Poker. David Sklansky. The Mathematics of Poker. Bill Chen and Jerrod Ankenman. Professional No-Limit Hold 'em: Volume I. Matt Flynn, Sunny Mehta, and Ed Miller. No Limit Hold'em: Theory and Practice. David Sklansky and Ed Miller. Gambling Theory and Other Topics. Mason Malmuth. Getting Started in Hold 'em. Ed Miller. 作者有釋出的程式 XPokerBot XMonitorBot XFileMonitor 作者收集到的算牌函式庫 Poker Hand Evaluators : collect open-source poker code The Pokersource Poker-Eval library The Java enumeration library built on top of Pokersource Keith Rule's C# port of the Poker-Eval library Cactus Kev's 5-Card Evaluator Paul Senzee's Improved 5-Card Evaluator Paul Senzee's 7-Card Evaluator Moritz Hammer's Directed Acyclic Graph-based 7-Card Evaluator Steve Brecher's HandEval routines The Two Plus Two 7-Card Evaluator (未完待續) -- "May the Balance be with U"(願平衡與你同在) 視窗介面遊戲設計教學( http://0rz.tw/V28It ),討論,分享。歡迎來信。 視窗程式設計(Windows CLR Form)遊戲架構設計(Game Application Framework) 遊戲工具設計(Game App. Tool Design ) 電腦圖學架構及研究(Computer Graphics)論文代讀(含投影片製作) --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.96.77.176
1F:推 ddavid:有個朋友才沒多久前也跟我提過一樣的事,該不會同一人吧XD 01/13 19:56
2F:→ ddavid:我雖然會打TH也算有程式能力,不過特定必要技術上有所不足 01/13 19:57
3F:→ ddavid:又一時沒空去學,所以我照實說暫時幫不上忙XD 01/13 19:58
4F:→ rofellosx:那怎樣躲過間諜程式? 01/13 20:00
5F:推 justben:spy++是真的有這東西嗎?XDDD 01/13 20:36
6F:推 wangm4a1:推 01/13 21:09
7F:推 etrexetrex:好像有道理喔 外掛直接賺現金 01/13 23:00
8F:推 KanoLoa:推推 01/13 23:12
9F:→ rofellosx:哪時開發機器人炒股 01/13 23:23
10F:推 FSVDFS:好像看到攻殼機動隊的劇情了@@ 01/14 03:44
11F:推 enthos:好文! 註: Spy++(Debug用)-Visual Studio Tools 01/14 10:32
12F:推 yoco315:我曾經跟一位版友一起接過 poker bot 的 case... 01/15 00:46
13F:→ yoco315:但是只作到一半,還好是分階段拿錢的 :D 業主後續沒動作 01/15 00:47







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Soft_Job站內搜尋

TOP