Thursday, March 19, 2009

Epic Geek Night

The story in this post makes me proud to be a geek, and I'm glad I now have a story to tell that I feel reflects who I am in some ways. It certainly isn't a full picture of me; I'm a more complex person than that (thankfully), but on with the story.

This took place on Saturday night, this past weekend, while Mike was visiting from Atlanta. On Saturday I received an email from a website I had signed up on a while back called Moola.com. It's a casual game website with a twist... you can win money... without risking any of your own.

So here's the Moola.com business model. You watch an ad (actually I don't because my ad blocker is sweet) that lasts about 5 seconds or so (I think, like I said they get blocked for me). I think they are just still images, but they could be videos that simply say the name of the brand. Either way, they give you a penny for that. You then risk that penny by playing a game against another player who is also risking their penny. Winner gets both pennies, and the loser watches another ad to get another starter penny. The winner can now play with one or both of his pennies, but if he uses both then the winner of that game gets 4 pennies. As we all know, when you double your money every time it doesn't take long to make that add up. If you won 30 straight games you'd have $10.7 million. That requires 30 consecutive wins of course, which isn't likely. So basically watching ads generates revenue for the site which is partially donated to the pool of money that the users own, and by playing games you are redistributing that pot to the better players. It's quite a clever business model.

Now I get to be wordy again and explain one of the games you can play. It is called Gold Rush. The setup is that both players start with 6 gold nuggets each that weigh 1, 2, 3, 4, 5, and 6 pounds. There is also a third pile of these gold nuggets that the computer has. The game starts with the computer randomly putting one of its 6 nuggets on the center of a board balancing on a rock. Then both players (without seeing what the other is choosing) choose one of their nuggets to place on their respective sides of the balance. Whoever places the heavier nugget with cause the balance to tip towards them and all 3 nuggets on the board slide over to be collected into their pile. Ties result in the player nuggets moving to the center and a new computer nugget added still to make for a much larger pot for the next round. The game ends when the nuggets are gone or someone has acquired enough weight that the other player cannot catch up ( >31 lbs ).

As you can see there is a strategy to the game since you need to balance when to use big nuggets or throw a small nugget if you think the other guy is going to throw higher than you are able to so that he doesn't get as much weight from your nugget.

Here's the geek experience. I decided to hop on a play a couple of rounds in some down time and Mike and Robin noticed and were intrigued by the game. After collaborating on trying to use 3 minds to kick the ass of strangers on the Internet we decided that we should write a program to help us play the game by examining the current state of the game and telling us which nugget gives us the best odds of coming out victorious. We talked it over for a little bit, but then Mike and I left for a little while to go celebrate Renee's birthday.

We got back at 11ish, and since it was St. Patrick's Day weekend, we bought some booze on the way back. Robin was still up, and so Mike and I boozed it up while the three of us coded up the problem in Matlab. I was at the helm typing and Mike and Robin kept me in check and helped me find the inevitable errors in the code. Robin conked out at about 2, but Mike and I persevered until about 6am, and by that point it was basically working as intended. We woke up the next morning and Robin rejoined us and we worked out the kinks and it did what we wanted it to.

Unfortunately for us, the game is actually very well balanced, and a mere count of the wins, ties, and losses possible for each possible nugget left did not give us answers with certainty until you were down to 2 nuggets left at which point you got to find out if you were going to win or lose and which nugget to throw to win if you could. The odds of winning with a particular nugget never strayed too far from 50/50. This was a little disappointing since it basically left us playing no better than we already could ourselves, but the adventure was amazing and I will never forget it.

As a side note, we did develop a new idea that we didn't have time to implement just yet that might give us more conclusive results. I'll update you all when I implement it and get some results. Mike is going to port the Matlab code to Python this weekend.

No comments:

Post a Comment