Sunday, May 11, 2008

Sprint 2 - It takes two

This sprint's theme was "It takes two". The goal was to have the multiplayer functionality (both single machine and networked) completed. Controller selection was also a feature that was assumed important to provide a valueable multiplayer experience.

Things that went well

Controller Selection

The controller selection screen turned out better than originally expected. It gives a player the opportunity to select their desired controller for the different modes of play (Singleplayer, Head-2-Head, and Networked). It remembers a player's last saved settings. It is also smart enough to know when selecting the controller types for Head-2-Head play, that player 1's controller should not be an option for player 2's controller, vice versa.

State Management Interface

I implemented a state management system to make transitions between game states more manageable. Once multiplayer was introduced, the script code started to become a little squirrelly. Fortunately it was early enough to introduce a system like this so the effort wasn't too time consuming. It will also lend itself to the networked multiplayer system that needs to be implemented as well. It's saving grace is how well it allows me to organize the different game states making maintenance more manageable.

Player Controllers

The player controller interface allowed me to organize the different controllers needed to control the player paddles (keyboard, mouse, ai, etc). This system allowed me to just identify the type of controller the player wanted to use and plug it in and the player has control. This also worked for AI controlled players as well.

Things that didn't go so well

Networked Multiplayer

There was a larger learning curve on how Torque Game Builder utilizes network play that forced the networked play stories out of the iteration. It was unfortunate because now the extended pong features will have to wait until this feature is complete possibly pushing the timeline an iteration.

Source Control

Issues with the stability of my source control machine ate too much time for troubleshooting. Alternatives will be investigated in the following iteration to get it setup. During Sprint 2, it was deemed not as valuable as some of the other stories so was put on the shelf till the next iteration. It still doesn't feel good to be coding without source control protection. Keeping my fingers crossed that nothing disasterous occurs.

Controller Selection

Even though the controller selection capability turned out well, it took a lot of time to handle lots of minor details that weren't accounted for in the original estimate.

Opportunities for next iteration


  • Setup Source Control

  • Networked Multiplay

  • Defect fixes



Iteration Deliverables

Inside the PowerPong root directory are too important files at this point: readMe.txt and console.log.

readMe.txt - Describes the controls because the in game input text was left generic because controls will be customizeable.

console.log - Log of what is happening in the game. Send this along with any defects to my email

NOTE: Mac version is still unavailable.

No comments: