Dates
February 2006 – May 2006
Technology
OO Analysis/Design, Design Patterns, OO Programming, Java, Extreme Programming, BlueJ
App
Info
For this Java team project, we analysed, designed and developed a turn-based, spaceship-battle game based on the classic Super Star Trek game. Throughout the project, I demonstrated my ability to lead and collaboratively work with others.
Analysis & Design
As team of 11, we worked together on Analysing and Designing our application, while our supervisor observed us. We formed a team Class Diagram, which each of us personalised and submitted with our other deliverables. During team meetings, we created our team class diagram using the Verb/Noun and CRC (Class-Responsibility-Collaboration) techniques that I suggested. I moderated these lively meetings, as I was most familiar with these techniques. My moderating duty entailed, organising and starting the meetings, ensuring we stayed focused on the work and encouraging everyone to contribute.
Development
We then developed the game in pairs. As we had recently been introduced to Design Patterns, we took this opportunity to implement some in our game (e.g. MVC, singleton, decorator). We also applied the Extreme Programming practices of Continuous Integration and Pair Programming; that was by regularly integrating our code while developing the game, although we pair programmed core sections of it.
Graphics
We had the option of using images within the game for in-game objects and the GUI, but we decided to draw the these graphics in-game using Java’s Graphics 2D api. This allowed the game to run without any changes (to the game or to the graphics), on computers with different screen resolutions.
Team
11 team members during Analysis & Design phase:
- Afzal Bhamjee (me)
- Rehan Anwar
- And 9 other team members
2 team members during Development phase:
- Afzal Bhamjee (me)
- Rehan Anwar
Images
Images of Super Massive Star Trek:
Images of the game area on each difficulty level:
Images showing each in-game object, captured from the game after drawing the objects at a very high resolution (using Java’s Graphics 2D api):