Space Invaders: Part 2

Earlier in the day, I had a pleasant conversation with Adriel, and we did pairing programming as the next step to applying at the Recurse Center. He did a very nice overview of what we’ll be talking about today; it’s always much appreciated to spend a few minutes to speak about agenda. I briefly explain major design decisions that I made and then started implementing a rough sketch of a shooting mechanism. We were limited in time to 30 minutes, and no surprise I didn’t manage to finish everything I anticipated, e.g. a collision detection left out of the scope. When you talk, explain and code your speed is understandably slower.

Then, I spend my day finalizing Space Invaders solution. I added the ability to a player shoot laser beams and a simple scoring mechanism. I am fairly happy that it didn’t take much code and time to extend the existing system.

There’re a few design decisions that I’d like to challenge at some point and perhaps try to implement a different message-passing mechanism, which will eliminate World as a root/state object. All actors are going to be equal in terms of signals.

A few items are not implemented yet, e.g. Start screen, win condition. I’ll leave it for now, perhaps until next time I try game development.

A final result:

Space Invaders -- Final result

Space Invaders using Pygame

← Space Invaders: the First Day

Joining the Recurse Center →