Reverse Engineering TexasHoldem.com
Reverse Engineering ApplicationsCreating a desktop version of our web based system…Seems fairly straight forward and we have access to all of the source code. So no mysteries right? Wrong.
One of the more memorable challenges are the pots. You take a bunch of valued chips and stack them on top of each other and limit the stack height, creating a new stack as necessary. These stacks must also be arranged in a particular fashion. How do you begin? I started by looking at our web game, observing and looking for the details of how pots behaved. I then began to notice that the pots have a random offsetting in the stacking in order to make them look “messy” but when the bets are collected to the middle of the table they’re “neat”, i.e. no random offsetting! I continued this process of observing and implementing the minor details until I felt I had gotten it right enough and then moved on to my next task.
Secretly I knew that I had not implemented one small detail and it wasn’t for a few weeks that someone finally noticed it, haha! When I originally stacked the chips I had the higher value chips at the bottom of the stacks but on the web version it was the opposite. Of course it was Walter, our CTO, who noticed it during an internal test of the desktop version. Of course this is a minor fix but when it comes to reverse engineering an application it’s always the small things that tell the truth of what’s going on behind the scenes. I find it similar to cheap Chinese knock-offs of well known products that contain small differences that only the most observing will notice. It’ll be a fun road to getting the desktop version to act exactly like the web version and let’s see how observant everyone else is..