Thursday, November 1, 2007

Threes - Final build

I've covered the creation of the pre-alpha, alpha and beta versions of the creation of this game (which was officially released on today) in previous posts. This post looks at the completion of the Threes game.

20:30 Three and a half hours of time remain, though I am getting pretty tired already so a couple of hours is more likely going to be the case. At this point my tests seem to indicate that the game is functioning fine, so it is time to start fine tuning the game. The first piece of tuning that I am want to do actually requires some code work. The problem I found when playing the game is that once the player has moved all the dice into a hold position, the game still displays a click to roll message. What I want to do is have the game be able to detect this particular case and change the message in this case to Finish the Game. Of course, the button I am using is a simple button that has a graphical message. While it is possible to modify the button to make this dynamic text or switch to a different type of button, I am instead going to go the cheating route and simply create a second button right on top of the first button. Only one of the buttons will be visible, and both buttons will result in the same event being triggered. Another piece of obvious tuning is to better represent the shoot the moon event. This is a rare event and deserves special attention so I changed the win results display to detect this condition and display a shot the moon result instead of win. Of course, testing this proved very challenging as it truly is hard to shoot the moon. This is where debuggers come in. I added a break point to the Six Sided Die class and manually forced the dice to roll 6's to test this special case, though I got a lot of testing in before I caved in and opted for the easy way of testing. This is my first release candidate!

22:00 I have now finished the game with time to spare. Not enough time to do anything major, but a better animated title screen would be nice. This is fairly simple though time consuming motion tweening work. Once set up, a bit more testing and I decided that there should be some gap between the dice. Right now the dice are a good size as they are bitmaps so you ultimately want them to be even resolutions to reduce the stair step look that often results from scaling bitmaps. So instead I cheated and simply added a layer over the dice and added lines between them. An additional tweak to the results message as it blocks the human/ai toggle. Things look good so at 22:57 I make the final build of the game.

23:00 While I suppose I could do a bit more tweaking and fine tuning, an hour isn't very long and I am getting pretty tired so I will call this game complete.

No comments: