Skip to content
UdemyPythonPaid courseBeginner levelCertificate

The Art of Doing: Video Game Creation With Python and Pygame (Udemy.com)

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

Created by: Michael Eramo

Last updated December 2021

icon
What you will learn

  • Fundamentals of the Pygame library and overall video game design.
  • The use of Classes and Inheritance to make complex code more organized and efficient.
  • How to create surfaces, blit images, render text, handle user input, and detect collisions.
  • How to work with sprites, sprite groups, and more robust collision methods.
  • How to create our own tile map and read a tile map to design a game level.
  • How to use 2 dimensional vectors to handle complex platformer motion such as running and jumping under gravity and friction.
  • How to add custom character animations using sprite sheets to help make our games really come to life.
  • How to use collision masks to have pixel perfect collisions when needed.
  • Create 7 awesome games in total! 4 that are very beginner friendly, 2 that are intermediate, and 1 that is advanced.

How it compares

Against the other 388 rated Udemy courses in Python on CourseDuck:

  • Rating4.6 out of 5higher than 70% of them
  • Reviews837#206 of 389 by number of reviews
  • Length17.3 hourslonger than 71% of them
  • Last updatedDecember 2021earlier than 63% of them

icon
Course Description

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.

  • 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.

  • 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!

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.

icon
Udemy Discount

The discount is applied through our link. Open the course from here and Udemy's current promotional price is applied at checkout on most courses, no code to type.

Some courses are excluded from Udemy's promotions. If the price does not drop, clear your browser cookies and use the button again.

icon
Instructor Details

Michael Eramo

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 high school Physics teacher, Computer Science Teacher, and college Mathematics teacher.  I am part of the New York State Master Teacher Program  a network of more than 800 outstanding public school teachers throughout the state who share a passion for their own STEM learning and for collaborating with colleagues to inspire the next generation of STEM leaders.

I am passionate about learning new things and teaching what I know to those around me in a way that is engaging, meaningful, and with purpose. 

icon
More courses by Michael Eramo

$79.99

$10.99

$64.99

$64.99

icon
More Python courses

$22.99

$17.99

Free

Free

$19.99

Free

icon
Reviews

4.6

837 ratings on Udemy

Select a bar to show only those reviews.Select the bar again to show every rating.

By Michele Taruffi on 10/17/2025

This course is very well structured and organized, making it easy to follow from start to finish. The topics are explained clearly and in a way that’s easy to understand, even for beginners. The instructor is precise and speaks with a clear, pleasant tone that is never boring — a great advantage for those who are not native English speakers. Overall, I’m very satisfied with the course and would definitely recommend it to anyone who wants to learn how to create game with Python using pyGame.

By Marlon Solleske on 2/29/2024

Thank you very much, Mr Eramo for this great course. I can highly recommend it to all beginning and intermediate pythonistas out there, and anyone who loves game design principles and programming. I really enjoyed the structure and the workflow when designing object classes for each component and the incremental approach of little by little assembling each project. There were just a few areas where I personally would have used methods like list comprehension or lambdas to shorten redundant code, but I think readability and grasping the fundamental concepts is more important for coders who just started out. All in all I really had fun, improved my python skills, got a refresher on kinematic equations and could even reinforce the design patterns learned by porting over some of the programs to other languages such as Blitz Basic. Again, thanks for teaching all this stuff. See you around at another one of your courses, Mr. Eramo, Sir!

By Chris Fischer on 2/2/2024

Great, course! Instructor was great. Learned a lot even with a basic understanding of Python, and especially appreciated the repetition of typing things out (no copy/paste) particularly early on to solidify my own learning. My only critique was the last game, Zombie Knight had a lot of redundant code between classes, made for a long code. Seems like it could have been improved by moving some of the classes to their own files, and creating additional classes and/or functions to consolidate the redundant functionality. Overall, would recommend.

By Alexander Schlager on 5/26/2023

Nice introduction into pygame. However, especially at later stages of the course the code itself becomes really bloated and could be done much better. I think this will annoy experienced Python programers and teach beginners the wrong way of doing things. Even though the code itself works, it can become pretty much unreadable or hard to debug. For example copying the same line of code 60 times to load images that only differ in a number in their filename or the gender of the zombie in thefile path isn't really a proper way of implement this type of code. Utility methods (to handle such imports) would have been great to use as well! Also, it's a bit of a shame that inheritance was almost never used and every class was within the same script. Courses like these are pretty much perfect to introduce concepts of object oriented programming in my opinion. For example, it would've been quite easy to create a base class for e.g. "objects" or "creatures" which has base animate(), move(), ... methods, which can then be used and adapted by zombies, rubies, portals and so on. I am also a bit confused by the Advanced Pygame Tutorial, since you basically create the same platformer in Zombie Knight anyway? It felt a bit redundant. Overall this course teaches you the basics of pygame, but will not teach you how to really code a real game. I am sure (or at least I hope) that no successful, modern game has been written in a single script, or has this amount of redundancy.

By Kevin Hölli on 4/26/2023

This course was fantastic! It's perfect for beginners, who just learned the basics of python and like to go on with small projects. On top you get a basic understanding of how games work and how you can implement some basic OOP concepts into code. I had a lot of fun and will now try to code my own mini platformer. I just wish there were some real exercises to apply the learned concepts (with solutions) and maybe a second course (which dives deeper into some more physics concepts or stuff like creating whole levels, scrolling, menus, saving etc.) But nevertheless, after you've finished the course, you know almost enough to do a lot of this stuff on your own. Awesome teacher!

By Martin Mendez Ruiz on 1/21/2023

The course was a great beginners course, it included all basics for pygame and the instructor was great at explaining everything. I am have already a lot of experience with python so most of the times I was just skipping some parts of the videos so I could do it myself because I already knew what the main idea was so I ended up doing something else. I used the 2x speed because I of the same reason. Overall is a great starting point if you want to learn pygame and if you already have experience with python, If you are advanced python programmer it will be a little slow for you.

By Matthew De Filippo on 12/1/2022

This was a really well put together course that gradually built skills in pygame by creating increasingly complex 2D games. I took this course directly after completing an general python boot camp and it was an fun way to further develop my programming skills (especially with OOP). The instructor is well spoken and clearly explained the required concepts. Throughout the course I developed the skills required to make some games of my own (including a brick breaker and a blackjack game complete with UI). I highly recommend this course to anyone with some background python experience looking to explore game creation.

By Jesus Carrión Rísquez on 4/23/2022

The course teach you how to manage pygame library to create 2D basic games. You learn how to work a 2D game engine and how to work with this. So, many concepts can be extrapoled to another game engines. The pace of the course is not heavy and the explanations are easy to follow, except in some aspects where although the logic of the code is explained, you need to study it carefully by yourself to finish understanding it, for example the kinematics system. A negative aspect is that the course not deeper in more advanced concepts like custom events, camera movements, substraction sprites from one single image files, etc. But in a nutshell, the course helps you to lay a solid foundation of knowledge about pygame and 2d games, and also about python language ,saving you time. In general, I would recommend this course. It is a great course.

By Orlando Fang on 4/14/2022

Very good introduction to Pygame. The instructor talked clearly and takes his time to answer questions in Q&A section. I really liked his tone throughout the course, I could hear his excitement, he's having a great time and enjoying what he's doing. I wish there was a section about using an external tool like Tiled to import a JSON file and parse it into Pygame, that would make the course even greater but I know this is beyond the course's scope. I'm looking forward for more courses from the author.

By Tiago Valente on 1/27/2022

Excellent course. I have gone from knowing nothing to being confident I could make a game in pygame. I would highly suggest you have some basic knowledge of python objects, loops, functions and dict objects before starting this course. He does explain classes really well, but he assumes you know what a for loop or do while loop is. If you're not confident with those concepts you might struggle with this course.

Showing all 10 reviews on CourseDuck

Read all 837 reviews on Udemy

icon
Quality Score

No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.

Content Quality
/
Video Quality
/
Qualified Instructor
/
Course Pace
/
Course Depth & Coverage
/

Overall Score : 92 / 100