Alien Invasion Game Project

Project from Python Crash Course (2019) (2nd Edition), by Eric Matthes

I completed most of this alien invasion game project. The book provides some basic code and gudance, and I had to complete it and add most of the functionality. The game is built using Pygame, which is also a fun way to learn basics of object oriented programming. I also learned a lot about managing medium size projects spanning multiple files, coding efficiently, debugging, version control, refactoring, and other basic software development practices.

Here some screenshots of the game working!

Learning and using Pygame is fun because, this module handles "tasks like drawing images to the screen" and you can focus "on the higher­level logic of game dynamics". Completing this projects I managed to add all the functionallyty minimally using the books instructions and guidance. I set up Pygame, created the rocket ship and added moving and firing functionally that responded to user keyboard input. I also created the fleet of aliens, and refines the game refine the game "by setting limits on the number of ships you can use and adding a scoreboard". I also implemented the collision detector, which is the component that allow you to make interact the bullets with the aliens and give sense to the game.

Python crash course is a very nice book for python begginners and it provides fun projects. If you are a fan of learning hands-on and you don't know anything about python, you can have fun completing one or more projects from the book. The 3 projects that the book includes are challeging and fun. Also, the book gives you some fundamentals of software development hands-on the prohects, which is awesome! I actually followed all the DevOps advice and even used Git for the first time, commiting my changes, and synchronizing the project on my computer with my github!

I learned a lot from this book! Together with Think Python, I really recommend it as a door of entry into Python and programming in general. I dind't kept going with this book, because when I was completing this game project I realized that I rather learn python directly doing data science and computer science projects.