We may earn an affiliate commission when you visit our partners.
Course image
Attreya Bhatt

In early 2000, Pygame was released into this world and it soon became the #1 Game Development tool for beginners. Why? It's because it's simple enough for beginners to learn the basic concepts of becoming a Game Developer and yet it is advanced enough for the pros. Here are some of the games that you can create with it -

Space Invader - Classic game of shooting the enemies by a Space ship

FPS Games - You can also create first person 2D shooting games

Super Potato Bruh - This game gained a lot of traction on Reddit and went Viral.

Read more

In early 2000, Pygame was released into this world and it soon became the #1 Game Development tool for beginners. Why? It's because it's simple enough for beginners to learn the basic concepts of becoming a Game Developer and yet it is advanced enough for the pros. Here are some of the games that you can create with it -

Space Invader - Classic game of shooting the enemies by a Space ship

FPS Games - You can also create first person 2D shooting games

Super Potato Bruh - This game gained a lot of traction on Reddit and went Viral.

Come learn with me and I'll show you how you can bend Python Pygame to your will. This course is great for beginners in Python at any age and any level of computer literacy.

The goal is simple: learn Pygame by working on real project ( Building a Space Invader Game ) step-by-step while we explain every concept along the way. For the duration of this course we will take you on a journey and you're going to learn how to:

  • Visualize and create the game that you want want from Scratch

  • Sound Management in Game Development

  • Adding Image and Graphics in your games

  • Control the Game using your keyboard

  • Creating Multiple Objects like enemies and Players

  • Advance Game Concepts like movement mechanics

  • Build a complete Space Invader Game

Why choose me as an instructor? Why buy this course among all those other courses?

When i was a kid i saw this YouTube video on how make a folder invisible on Windows I was so fascinated with this idea. Since then my love for technology has only grown. I understand the  people who are passionate about learning new things. At the end of each  section we will take a quiz to check up on your skills and see if we’re  ready for the next section. We will create this project together from  start to finish.

So, why wait? If all this sounds great to you, Press on “Take this Course” and start learning today.

Enroll now

What's inside

Learning objectives

  • 2.5+ hours of full hd video material divided into 17 downloadable lectures
  • Building games that don't suck using - python pygame
  • Game development concepts like collision detection, object movement etc.
  • Controlling the game using input controls like keyboard
  • Adding and removing graphics/sound from the game
  • Access to our private facebook group available to only students of this pygame course

Syllabus

Introduction

Welcome to this Python Game Development video series. We will be using the famous pygame library of python to create the space invader game. In the process of creating this game we will be learning a lot about python and pygame, like moving characters, shooting bullets and understanding game concepts. Before we get into all the good stuff. We need to make sure that a couple things are installed on your computer. 1) Python 2) Pycharm 3) Pygame


Read more

In this video we will create our first GUI window with pygame and python. We will also learn about the QUIT pygame event.

In this video we will be changing the default values of our game window. Including caption and logo of our game window. We will also learn about the RGB values and how to use them to change background color ( Hint : screen.fill() )

With this video we will start learning about adding Graphics in our game. We are going to start by learning how to add an image.

With this video we will learn moving images and graphics around our screen. With our game we are going to learn how to move our spaceship.

In this will video we learn to control the game using our Keyboard.

In this we will video we add boundaries to our game so that our spaceship doesn't go out of bounds and stays inside our game window.

In this we will video we will create an enemy for our lonely spaceship. In this process learning about re-spawning and randomization of location of the enemy

In this we will video we will learn how to move the an image in the x and y directions using the co-ordinate system.

Every space invader game is incomplete with a cool picture of the space behind it. Lets fix that in our Game and add a background picture.

In this video we learn about the movement mechanics of a bullet and learn about bullet state. Here are some thing to keep in mind - 1) Create a simple one bullet that follows spaceship 2) Make sure it doesn't follow space ship 3) Make sure it's at the center of the spaceship 4) Multiple bullets by adding the boundary condition 5) Remove the moving of bullet when spaceship moves More things explained in this video are - 1) Starting position of the bullet 2) Value of decreases as we the bullet goes up 3) The state of the bullet Next video - Shooting Multiple bullets at Space Invaders

In this video we - Fix the trajectory of the bullets - Shooting Multiple Bullets - Fixing up bugs

In this video we learn how to detect collision between the enemy and the bullet. Also we fix a couple of errors and display score on the console.

In this video we are going to learn how to create multiple enemies using Lists.

In this video we will be adding text to our game window and showing the score on the screen.

In this video we will be using Pygame's mixer library to add music to our Game. Really excited about this video.

In this video we write the code for the ''game over' functionality when the space invaders and our spaceship collide. Sadly :(

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Uses Pygame, a beginner-friendly library, making it easier to grasp core game development concepts without getting bogged down in complex code
Focuses on building a Space Invaders game, providing a practical, hands-on approach to learning game development principles
Covers essential game development concepts such as collision detection, object movement, and input controls, which are fundamental for building various types of games
Teaches how to add and manage graphics and sound, enhancing the overall game experience and teaching learners how to create engaging and immersive games
Requires installing Python, PyCharm, and Pygame, which may present a slight hurdle for absolute beginners unfamiliar with software installation processes
Uses Python 3, which is standard, but learners should be aware that Python 2 is deprecated and no longer supported

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Pygame for beginner game development

According to learners, this course provides a solid introductionpositive to game development using Python and Pygame. Students report it's particularly suitable for beginnerspositive with some Python knowledge, offering clear explanationspositive and a hands-on approachpositive by building a classic Space Invaders game. While some found it a bit basic, many appreciated the step-by-step guidancepositive and the practical application of concepts. The instructor's teaching stylepositive and the practical projectspositive are frequently highlighted as strengths.
Instructor is engaging and knowledgeable.
"The instructor was fantastic and kept me engaged."
"The instructor is very knowledgable and explains everything very well."
"Thank you for this course. Loved the instructor."
"Great course! Thank you for the excellent explanations, instructor!"
Learning by building a complete game.
"Learning by building an actual game is a great way."
"I loved the project oriented approach."
"The course provides a great hands-on project..."
"Building the Space Invaders game was a practical and engaging way to learn."
Concepts are explained simply and clearly.
"The instructor explained the things really well."
"Concepts were explained simply and clearly."
"The explanations are clear and easy to understand."
"Explanation is clear and easy to understand."
Well-suited for those new to Pygame.
"Great course to start with PyGame development."
"It is a good course if you are a beginner."
"Awesome course for beginners to Pygame."
"This course is perfect for beginners in Pygame, it teaches you the basics that you need to develop any simple game."
May lack depth for advanced learners.
"It is just basic."
"A little bit basic and sometimes a bit clumsy..."
"Good starting point but only covers the absolute basics."
"While great for beginners, it doesn't go into advanced topics."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Python Game Development using Pygame and Python 3 with these activities:
Review Python Fundamentals
Solidify your understanding of Python basics before diving into Pygame. Refreshing your knowledge of core Python concepts will make learning Pygame much smoother.
Browse courses on Python Basics
Show steps
  • Review Python syntax and data structures.
  • Practice writing simple Python programs.
  • Complete online Python tutorials or exercises.
Review 'Python Crash Course'
Use this book to build a strong foundation in Python before starting the course. It covers the basics and includes projects that are relevant to game development.
Show steps
  • Read the introductory chapters on Python basics.
  • Work through the example projects related to game development.
  • Complete the exercises at the end of each chapter.
Follow Pygame Tutorials
Practice implementing basic Pygame functionalities. Working through tutorials will help you understand how to use Pygame to create simple games.
Show steps
  • Find online tutorials for basic Pygame concepts.
  • Follow the tutorials and implement the code examples.
  • Experiment with the code and modify it to create your own variations.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Document Your Game Development Journey
Reinforce your learning by documenting your progress. Writing about your experiences will help you solidify your understanding of the concepts.
Show steps
  • Create a blog or journal to document your game development journey.
  • Write about the challenges you face and how you overcome them.
  • Share your code and explain your design decisions.
Create a Simple Game
Apply what you've learned by creating a simple game from scratch. Building your own game will help you solidify your understanding of Pygame and game development concepts.
Show steps
  • Choose a simple game idea, such as a pong or a snake game.
  • Design the game mechanics and create a plan.
  • Implement the game using Pygame.
  • Test and debug your game.
Contribute to a Pygame Project
Deepen your understanding by contributing to an open-source Pygame project. Working with others will expose you to different coding styles and problem-solving techniques.
Show steps
  • Find an open-source Pygame project on GitHub.
  • Read the project's documentation and understand its codebase.
  • Identify a bug or feature that you can contribute to.
  • Submit a pull request with your changes.
Review 'Game Programming Patterns'
Learn about common design patterns used in game development. Understanding these patterns will help you write more maintainable and scalable game code.
Show steps
  • Read the chapters on common game programming patterns.
  • Identify patterns that are relevant to your game projects.
  • Apply these patterns to your code.

Career center

Learners who complete Python Game Development using Pygame and Python 3 will develop knowledge and skills that may be useful to these careers:
Game Developer
As a Game Developer, one designs and creates video games for various platforms, working with programming languages and game engines to bring virtual worlds to life. This Python Game Development course may be particularly relevant to understanding the fundamentals of game creation. The course emphasizes building a Space Invader Game step by step, which builds a foundation in game development principles such as creating game objects, implementing game logic, and handling user input. You will also learn how to add images and graphics to games, control the game using the keyboard, create multiple objects like enemies and players, and implement movement mechanics. Such concepts are transferable to a number of game engines. By learning Python and Pygame here, you're taking the first step in becoming a Game Developer.
Python Developer
A Python Developer specializes in creating applications and software using the Python programming language. This Python Game Development course may be valuable for aspiring Python Developers, as it demonstrates practical application of Python in a creative and engaging context. The course delves into using the Pygame library to build a Space Invader game, covering topics such as object creation, movement mechanics, collision detection, and user input handling. These are all fundamental concepts in Python development. Furthermore, the course emphasizes the process of visualizing and creating games from scratch. This course may help solidify your understanding of Python syntax, libraries, and best practices.
Software Engineer
A Software Engineer designs, develops, and tests software applications. This Python Game Development course may be quite useful as it provides hands on experience with Python, a widely-used language in software development. The course focuses on the practical application of Python through game development, covering essential programming concepts such as object oriented programming, event handling, and algorithm design. The course helps build skills in visualizing and creating games from scratch, sound management, adding images and graphics, and controlling the game using keyboard input. These are all transferable skills for a Software Engineer working on a wide variety of applications. By taking this course, you can demonstrate your ability to apply Python to solve complex problems.
Multimedia Programmer
A Multimedia Programmer develops software that integrates various forms of media, such as audio, video, and graphics, into interactive applications. This Python Game Development course may be a good introduction to multimedia programming concepts and techniques. The course covers topics such as sound management, image and graphics integration, and user input handling. These are all crucial for creating multimedia applications. The course focuses on practical application through building a Space Invader game, providing hands on experience with integrating different media elements. This course may help you learn how to design and implement multimedia systems, manage media assets, and create engaging user experiences.
Simulation Developer
A Simulation Developer creates software that models real-world systems for training, research, or entertainment purposes. This Python Game Development course may be helpful in that it provides hands on experience with creating interactive simulations, albeit in a game context. The course covers essential programming concepts such as object oriented programming, event handling, and algorithm design. The course emphasizes the practical application of Python through building a Space Invader game, implementing movement mechanics and collision detection. These are relevant to simulation development. By taking this course, you may learn how to design and implement interactive systems, manage complex interactions, and create realistic simulations.
Virtual Reality Developer
A Virtual Reality Developer creates immersive experiences for VR platforms, often using specialized game engines and programming languages. This Python Game Development course may be a first step into the world of immersive technologies by providing an introduction to game development principles. While VR development often requires more advanced tools and techniques, the course covers core concepts such as object manipulation, user interaction, and real-time rendering, all of which are relevant to VR. The course may help you learn how to visualize and create interactive environments, manage sound and graphics, and control game elements using input devices, all of which are foundational skills that you may apply as a Virtual Reality Developer.
Augmented Reality Developer
An Augmented Reality Developer creates interactive experiences that overlay digital content onto the real world. This Python Game Development course may be a great entry point into the field. While AR development involves specialized tools and platforms, the course covers fundamental game development concepts that are applicable to AR as well. It covers game object creation, movement mechanics, collision detection, and user input handling. The course may help you learn how to visualize and create interactive environments, manage sound and graphics, and control game elements using input devices. This knowledge serves as a base upon which you can build more advanced AR skills, such as the use of computer vision and spatial tracking.
Mobile Game Developer
A Mobile Game Developer specializes in creating games for mobile platforms such as iOS and Android. This Python Game Development course may be useful in that it introduces core game development concepts that can be adapted to mobile platforms. The course focuses on building a Space Invader game using Pygame, covering topics like game object creation, movement mechanics, collision detection, and user input handling. These are fundamental to mobile game development as well. Although Pygame itself is not typically used for direct mobile development, the principles learned here may build a strong foundation. The course provides a good starting point for understanding game logic and development workflow. This may accelerate your learning when you transition to mobile-specific game development tools.
Technical Artist
A Technical Artist bridges the gap between art and technology in game development, creating tools and workflows that enable artists to produce high-quality visuals efficiently. This Python Game Development course may be beneficial for aspiring Technical Artists, providing hands on experience with game development and Python scripting. The course focuses on building a Space Invader game using Pygame, covering topics such as image and graphic integration, sound management, and user input handling. These are relevant to the responsibilities of a Technical Artist. Furthermore, the course may help you learn how to visualize and create games from scratch. This understanding of the game development pipeline may help you create better tools and workflows for artists.
Graphics Programmer
A Graphics Programmer specializes in developing software that renders and manipulates visual content, such as 2D and 3D graphics. This Python Game Development course may be a stepping stone into the world of graphics programming as the course touches on the basics of visual representation in games. The course will delve into adding images and graphics in games, which may provide foundational knowledge of how to load, display, and manipulate images using code. While graphics programming often involves more advanced techniques, the course covers the fundamentals of game development, which are relevant to graphics programming. Completing this course may help you develop your skills and familiarity with graphics concepts.
Level Designer
A Level Designer creates the environments and gameplay experiences within video games. This Python Game Development course may be useful as it provides a foundation in game development principles and tools. The course focuses on building a Space Invader game using Pygame, covering topics such as game object placement, movement mechanics, and collision detection. These are all relevant to level design. Furthermore, the course may help you learn how to visualize and create games from scratch. This understanding of game design principles may help you create compelling and engaging levels. By understanding the technical constraints and possibilities of game engines, you can create more effective and innovative level designs.
Web Developer
A Web Developer creates websites and web applications, using programming languages such as HTML, CSS, and JavaScript. This Python Game Development course may be useful for aspiring Web Developers as it provides hands on experience with Python, a language that is often used in web development for backend tasks and server-side scripting. The course focuses on building a Space Invader game using Pygame, covering topics such as object oriented programming, event handling, and algorithm design. These are transferable to web development. Furthermore, the course may help you learn how to visualize and create applications from scratch. This course helps solidify your understanding of Python syntax, libraries, and best practices.
Game Tester
A Game Tester plays video games in order to identify bugs, glitches, and other issues that need to be fixed before release. This Python Game Development course may be useful for aspiring Game Testers as it provides insight into the game development process and the types of issues that can arise. The course focuses on building a Space Invader game using Pygame, covering topics such as object creation, movement mechanics, and collision detection. By understanding how games are built, you can better anticipate potential problems and develop effective testing strategies. The course may also help you learn how to reproduce bugs, document them clearly, and communicate them to the development team.
Data Scientist
A Data Scientist analyzes large datasets to extract insights and identify trends, using statistical methods and programming languages such as Python and R. This Python Game Development course may be useful for aspiring Data Scientists as it provides hands on experience with Python, a versatile language that is widely used in data science for data manipulation, analysis, and visualization. While game development may seem unrelated to data science, the course covers fundamental programming concepts such as object oriented programming, algorithm design, and data structures. This course helps solidify your understanding of Python syntax, libraries, and best practices.
IT Support Specialist
An IT Support Specialist provides technical assistance to computer users, troubleshooting hardware and software issues and ensuring that systems are running smoothly. This Python Game Development course may be help you learn how to approach technical problems methodically and develop problem-solving skills. You will be working with software, debugging code, and implementing solutions, which are relevant to providing IT support. While game development may seem distant from IT support, the course covers fundamental programming concepts such as object oriented programming, event handling, and algorithm design. These skills are transferable. This course may help develop your skills and build confidence in your ability to tackle technical challenges.

Reading list

We've selected two books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Python Game Development using Pygame and Python 3.
Provides a solid foundation in Python programming. It covers fundamental concepts and includes hands-on projects that are relevant to game development. It is particularly useful for beginners or those who want to refresh their Python skills before starting the course. This book is commonly used as a textbook at academic institutions.
Explores common design patterns used in game development. While not specific to Pygame, it provides valuable insights into structuring game code effectively. It is more valuable as additional reading than it is as a current reference. This book is commonly used by industry professionals.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser