The Art of Doing: Video Game Creation With Python and Pygame

——   Created by Michael Eramo

From simple games using single images to complex games using classes and 100 sprites, this course will cover it all!

Share this course:

17h 19m
Lesson time
Skill level

More about this course

Have you learned the fundamentals of Python and then asked yourself; what's next?

If so, consider taking this course which will start you on your journey to making your own playable, fun, and rather addicting video games using Python and the Pygame library. 

So often, when students ask for advice they are told to, "Go build something" or "Get involved on a project" but have no idea what projects to build or get involved in.

This course will set you on your way! In this course I will walk you though, step by step, on how to to design the layout and the functionality of 7 unique, engaging, and most importantly, FUN games. By the end of this course, I promise that you will be coming up with your own game ideas and feel confident enough in your abilities to create them.

In my experience teaching computer science, students tend to flourish under the basics but hit a wall when we approach object oriented programming. The shift to using Classes as a way to structure code is difficult and often times students don't have enough exposure to meaningful examples of how to use Classes to help make complex code more efficient. I believe by the end of this course, you will understand how to use classes.

This course is designed in such a way that NO KNOWLEDGE OF CLASSES is needed to start! We will begin by learning the fundamentals of the Pygame library and video game design concepts as we move onto making 4 very fun arcade style games.

  • Feed the Dragon:  Using your arrow keys, move the dragon up and down, trying to eat as many gold coins as you can. The more coins you eat, the faster you move!
  • Click the Clown:  Using your mouse, click the clown on your screen as he moves in random directions. With each click, he moves faster and faster!
  • Snake: Relive the glory days of cellphone gaming circa 2000 with the classic Snake style game!
  • Burger Dog: Feed a hungry pup burgers that are falling from the sky. Time your speed boosts just right to catch those burgers that are just out of reach!

We will then review/teach concepts of classes and inheritance in Python as they are crucial tools to help us take our games to the next level using Sprites and Sprite Groups. We will spend some time learning more intermediate concepts such as how to use sprites, sprite groups, and various sprite collision detection methods as we move onto making 2 intermediate level games.

  • Monster Wrangler: A heroic Knight must wrangle various monsters on the screen. Be careful to collect the right type of monster; collect the wrong one and you will be punished!
  • Space Invaders:  Who doesn't love space invaders????  Save civilization from wave after wave of impending aliens slowly (and then quickly) creeping across and down the screen in that classic Space Invader motion!

The third portion of this course will focus on more advanced topics such as creating a tile map and using/reading it to create more complex level designs, using 2 dimensional vectors to aid with more complex player movement such as running and jumping under forces of friction and gravity, and adding character animations to make our games really come to life! We will use these more advanced concepts as well as all of our previous knowledge to make one last game that will be a great final project for you to show off!

  • Zombie Knight: It's dark, spooky, and the zombies have risen!!! In this classic style platformer, you a trusty Knight must survive night after night of zombie attacks. Jump from platform to platform. Use portals to teleport across the level. Attack zombies with your trusty sword to kill them....BUT, you must remember; zombies can always rise from the dead!  Finish them off for good by stomping on them once you kill them with your sword! Most importantly, collect valuable rubies and prevent more zombies from rising!  

I'm really proud of this class.  I really believe it not only is a great learning experience but it is also A LOT OF FUN! I hope you consider joining and taking part in the learning.


  • Basic Python/computer science understanding.
  • Students should understand basic things like variables, lists, loops, and conditionals as I wont really spend time teaching these concepts but rather showing how to use them in larger projects.
  • In the second half of the course we will be switching to using classes extensively. I will spend some time reviewing and teaching the topics of classes and inheritance but prior knowledge may be helpful.

93 Lessons

Set up and Installation
Course Preview and Introduction
free preview
Installing Python
Installing Visual Studio Code
Installing Pygame and Asset Gathering
Finding All Assets For This Course
Basic Pygrame Tutorial
Creating a Display Surface
Drawing on a Display Surface
Blitting (copying) Images
Blitting (copying) Text
Adding Sound Effects and Music
Discrete Keyboard Movement
Mouse Movement
Continuous Keyboard Movement
View more lessons +
This course is included in Arbington Premium
$15/month gets you access to every course. Start your 14 day trial today. ☝️

Class benefits

  • Certificate of Completion
  • 30 day satisfaction guarantee
  • 24/7 streaming access
  • Direct teacher access
  • 17h 19m of on-demand video
  • 10 downloadable files
  • Have a coupon?

About the instructor

Hello, my name is Michael Eramo. I am a life long learner, a self-taught programmer, and an experienced educator. I hold official Bachelor's degrees in Music, Education, and Physics, as well as a Masters degree in Mathematics. I also hold a certificate in Software Development from Microsoft. 

I have years of experience as a …

View full profile

For super learners, get unlimited access for $15 per month

Start your 14 day free trial. Cancel at any time.

Join Today Learn More