Blog

Reverse Engineering TexasHoldem.com

Reverse Engineering Applications

Reverse Engineering Applications

Creating 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.

When I joined TexasHoldEm.com I knew I would be working on creating a desktop version of our web based version. Seems fairly straight forward and we have access to all of the source code. So no mysteries right? Wrong. The web based version is written in JavaScript (of which I am certainly not a fan of) while in Unity we decided to go with C#. Add in the complexity that building in Unity requires a different architecture and a different mindset of how to accomplish goals. So while we have the source code it can only really be used to gain some insight into how things are accomplished.

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..

  • todd turano

    i think the all in button should keep moving back and forth so all the hit and miss players can feel like they are doing something other that just hitting a button

Add Comment Register



Post A Comment