Space Johnson was my first ‘full’ game and the final project in CS529: Fundamentals of Game Development. This was the first time I had worked on a component based engine and I really fell in love with the concept.
The most challenging part of this project was thinking in terms of composition rather than inheritance and moving away from the ‘monolithic object model’ (sorry Mom!)
The most rewarding part of this project was being able to go “I should make a ship that shoots ships!” on the last day and adding the carrier in a matter of minutes by setting a gun’s ammo to be a ship. Not that you should add things at the last minute (that’s probably a weakness of mine.)