Seuntjies DiceBot: Origins cont.

in #gambling8 years ago

This is a continuation of Seuntjies DiceBot: Origins


After the horrible macro version of DiceBot and it's surprising popularity at the mining pool, it was clear I needed to make a new version of the bot that was much more usable. Thus, the birth of version 2.


Version 2

One of the developers at the mining pool suggested I use an embedded browser in the bot to access the site, that would give me access to the html and DOM objects of the page. It was great idea and I immediately tried .nets  embedded browser. Problem was, it was IE, without javascript. nothing would run on it. He eventually showed me how to use gecko, the embedded version of firefox. This raised the size of of the bot from smaller than 1 MB to over 40MB! uploads took forever on my measly 2Mb/s adsl line.


After moving to an embedded browser, things quickly became faster and much much more complicated. Suddenly I was able to do much more. By interacting directly with the HTML of the page, I could get the value of the label that held your balance or set the value of the bet amount input box, much faster and without the need for the clipboard, and, the best of all, I could do other things on my PC while the bot was running.

The vanilla version of gecko had some limitations. The biggest of which: I couldn't for the life of me simulate a click of an html element. Which meant I couldn't place a bet. Another big stumbling block was PDs html. It changed every time you loaded the site. I couldn't find a way to isolate the balance, the chance, the bet amount or anything else in a reliable manner. So I did what every lazy programmer would, I dropped support for them and continued to develop the bot solely for just-dice.


I eventually was able to modify gecko to allow me to simulate click events on buttons and things were looking great. I had access to many more variables, and functions, much faster.


I got the bot working with the embedded browser and made it available at the mining pool. Instantly people loved it and many of them suggested I make it public. Eventually I caved and uploaded the source code to source forge and made a thread on bitcointalk. This was almost three years ago already. People were skeptic about it at first, but soon a few people tried it and started recommending it to others. I got requests for new features and thought up my own, and the bot quickly grew into the monster it has become. The stats window grew and more and more stats got added to it. New functions, variations of martingale, complex features, roll verifiers, crude profit charts and the likes. It grew out of hand to be honest.


At this time, I was still under the impression that one could make profit using martingale, you needed to make it more and more complex and start with a small enough base bets. This cost me more than a bitcoin, which is a lot of money for an unemployed student. I'm relatively lucky though, compared to what others lost to this fallacy, I got of lucky. I started talking to dooglus from just-dice and finally bothered looking into the math behind gambling, and as soon as I worked through it and finally understood everything I realized the bot was stupid and it was a stupid idea to begin with. It would never work and was ultimately a waste of my time. I was demotivated and wanted to stop working on the bot, but I got so many requests for new features that I decided to just keep maintaining it.


Somewhere along the line, Dooglus stared up dogedice and I modified the bot to run on it as well. The sites were Identical so it was an easy fix, and suddenly, out of nowhere, jsut-dice and doge-dice shut down. Canadian law and the amount of coins he was holding got to dooglus and he decided to jump ship in the most classy manner possible. I figured this was the end of it and ultimately wrote of the bot.


A few weeks went by before I got the first request to move the bot to run on betking instead of JD. I ignored it. A few days later, I got another request, and another and another. Looks like DiceBot wanted to live. Eventually I caved and investigated the site, and the migration was easy enough. I didn't work on the bot again for months until eventually SafeDice contacted me and asked if they can be added to the site. This was the first time I thought that there was a possibility of making money using the bot outside of actually gambling. SafeDice was the first site I charged to be added to the bot, and it was the start of a business plan forming.


As time went by, more and more sites contacted me, or I contacted them on user requests to be added to the bot and DiceBot grew in popuarity and functionality, but it wasn't long before I realized I was reaching the limit of what gecko would realistically allow me to do. It was slowing down processes that could be much faster, I had to wait for the HTML to update after each request, and it was getting more and more difficult to get all of the functions and values I required for the ever expanding feature base. Thus, the need for a new major version. 


Version 3

With the limitations of version 2, I decided to migrate the bot to run on APIs instead of an embedded browser. This would offer size improvements (since I could drop a 40MB component of the bot), speed improvements (mostly) and I could optimize code better. After dropping the browser, I had all of this space available in the bot, and I decided, what better than a chart to show to people. 


Version 3 brought a major redesign in how the bot interacts with the site as well as with itself. Massive new features, like the live charts and proper bet logging, speed improvements, UI redesign and more. This also meant I could likely add more sites, because I wan't limited by PDs (now Vers 3) ever changing HTML ids etc. They were the first site added to version 3 and most of the alpha versions could run solely on PD.


Version 3 grew in popularity even further and it quickly became, by my probably vain and biased opinion, the best and most used betting bot for bitcoin dice sites. At the launch of version 3, it supported a bunch of new sites and it was downloaded more than a 500 times in the month it took me to release a new version, wow! (3.2.0 reached 500 downloads in less than 24 hours!)


Months after the release I realized of another way I could monetize my bot, and I kicked myself for not thinking about it much, much earlier. Referral links. I had a bot that was sending hundreds of people to and fro sites, sometimes to sites they've never even heard of. I had been chipping at rocks and not noticing the gold I was throwing away.


Since then, the bot has underwent regular maintenance, but very few major changes. A lot of new sites has been added and some removed, and the bot just grew in popularity, with the latest version having reached 2200 downloads in the first 10 days of it's release. Currently, development of v3 of the bot has ceased and only bug fixes are made and new sites are being added upon request. I'm working on version 4 of the bot, which will have a lot of new features and options and modes and the likes, but that's still ages away (Time you skinny mofo, I need more of you!)