1/4/2013
Ok, well Short Circuit has been submitted for developer play testing again. In the previous round of play testing they found a few things that needed some attention. Of course, in keeping with my promise to keep you guys up to date, this post will tell you what they were. This time there was only one major bug reported. If you selected the “Purchase” menu option it required you to use the first controller instead of whatever controller you were using. I fixed this by adding a variable to my input manager that would track what controller was used in the last registered controller activity. When I say registered, I’m meaning controller activity that the game actually responded to in some way. Using this new variable I was then able to open the market place using the controller index that actually selected the menu option. The question was raised in the review of why I don’t just use a “Press start” screen to detect what controller the player is using then just use that controller for the rest of the game. Had this been a multiplayer game, I probably would have, but because it’s a one player only game, I wanted the player to be able to play using any connected controller. This way, if the batteries in the controller die, the player can simply grab another controller and keep solving the puzzles. The reviewers also mentioned that if you select a menu option on the main menu and did not release the button, it would cause the next screen to also select something. This was my fault as in my input manager I provide foure functions for detecting button presses; ButtonPressed, ButtonReleased, ButtonHeld, and ButtonPressedOrHeld. On many of the sub-screens I had been using ButtonPressedOrHeld which was still catching the held button from the previous screen. Obviously, I changed all button presses to use ButtonPressed, and left the directional keys to using ButtonPressedOrHeld. One reviewer noted that if you enter certain sub-screens, like the options screen, then return to the main menu that the music would get louder. This was because I was setting the volume on the options screen, but not on the main menu. I’ve since gone back through all screens to set the volume when music begins. One reviewer noted that if you selected the “purchase” option from the main menu and you were using a controller that was not able to make purchases that the game just wouldn’t do anything. I’ve added checks to determine if the current controller has access to purchase, and if not it’ll show a nice little message at the top of the screen to let the player know. The last thing that was noted by the reviewers is that some of the text on the credits screen overlapped each other. Obviously this isn’t a show-stopping bug, but it’s a bug none-the-less and needed to be fixed. I’d have to say this was probably the easiest of the bugs to fix this round, as all I had to do was lower the font size for the credits screen. One reviewer did remark that the instructions that I provided in the game are very well written and make it very clear how to play the game. Another reviewer said that I should provide some graphics on the instructions screen to break it up a little bit. I took another look at the screen and have been unable to figure out how to make it better, so I’ve left it as it was. There was one last change, but this wasn’t prompted by a reviewer. The error handling code that I initially wrote for the game would display the last 43 error messages on the screen. When it was first built it was for the PC and pressing F12 would clear the message queue. When I translated to the Xbox I did not change this code so the end result was that error message would be displayed on the screen and would never leave for as long as you played the game. It’s a very good thing that the reviewers didn’t say anything about this, because that means they never got any error messages. Even though no error messages are being displayed, that could still be a major problem later if a player ever does get an error message, so it had to change. Now, there are no limits on how many messages can be displayed. Instead, messages are added to the queue then start to fade out until they are invisible. Once invisible, messages are deleted from the queue. So far, this is the best solution I’ve come up with, and I rather like the effects of it too. That’s all the changes that were made for this play-test release. It’ll be in play testing for one week, and once again, if nothing major is reported it’ll probably be sent for peer review so it can be published to the Xbox marketplace.