Creating Space Invaders Clone

0 Vincent Gizzarelli · August 29, 2015
I've been trying to create a Space Invaders clone using Python and Pygame but I really have no idea where to start. I understand both the basics of Pygame and Python but if anyone could throw out some good pointers I would appreciate it as it would help me greatly :)

Post a Reply


Oldest  Newest  Rating
+2 Otto Von Chesterfield · August 29, 2015
Here's a few nuggets of wisdom to help you during development.

  • Start Small.  Don't build everything at once. Begin with the basic engine, then add the player moving, and then maybe an enemy or two. If you build everything at the same time, you don't know where to begin if something goes wrong - not to mention the lack of motivation of not getting anywhere.

  • Have Goals.  You can easily get distracted with small details. Ooh! Here's a good pathfinding alrogithm for the aliens! Hey! I should add smooth rotations.! This will prevent you from reaching the end.  Save the small details for the end of the game. Until then, keep on track of the main game.

  • Write Test Code First.  This will aid you in keeping your goals. Write some code that will work when you finish your next goal. This really helps motivate me to keep on track, because I always know about that "broken code" in the back of my mind until I "fix it" by finishing my next goal. (sidenote: The Head First series by Oracle taught me this trick!)

  • Follow By Example.  See if there are other Space Invader clones out there, and look at how they did it.

  • Look at the Python and Pygame docs.  If you get stuck figuring out how to do something, look at the Pygame docs. They might have already solved it for you! This helped me when I want to make sprites, until I realized that the Sprite class already existed!

  • If You're Stuck, Take a Break.  Whenever I get fustrated, I just take a step back and let my mind rest for a while. Sometimes, it snaps to place right then, or I get a chance to look at it at another perspective. Sometimes, the problem could be right in front of you, but you're too stressed to realize that.

  • Have a Backup Plan (or a backup).  If you ever accidentally break your program and you can't figure out how to fix it, have a backup nearby to go to if all else fails. Git is Great for this kind of thing, and can be a great Version Control software. Hook it up to, and you don't even need anything else to share your code! 

  • Have Fun!  What is creating games for fun if you can't have fun? If it feels like a chore, your doin it wrong.

I really hope you have fun on this project, and do tell me how it goes!
0 Vincent Gizzarelli · August 30, 2015
Wow thank you so much for your words of wisdom they will surely help me in the near-future while creating my game. :D  
I will also be sure to tell you how it goes once I am finished with this project.
+1 Otto Von Chesterfield · August 31, 2015
Another thing: I really do recommend using Git + GitHub when it comes to Version Control. Not only can you use it for backups, but other people could see bugs/improvements, notify you of them, or even fix it for you (with effects made only after you accept them)! I use it often when coding, as well as helping others.

If you ever use GitHub, do tell me!
  • 1



This section is all about snakes! Just kidding.

Bucky Roberts Administrator