Skip to main content

🎮 Python Game Development

Three courses that take you from your first game loop to GPU shaders and online multiplayer, all in Python with pygame-ce.

Choose your course

Course 1 of 3

Python Game Development I: Intro to Game Dev with pygame-ce

Build, polish and share your first 2D games.

Who it is for: You finished an intro Python course (variables, loops, functions, lists, dictionaries) and want to make games. No classes needed yet: this course introduces them in the Vectors lesson, when your game objects first need them.

How the courses fit together

  1. Learn Python first. Introduction to Programming with Python covers everything Game Dev I expects: variables, loops, functions, lists, dictionaries and files.
  2. Game Dev I: Intro teaches the game loop, input, vectors, sprites, collisions, sound and animation, and ends with a capstone game you share on the web.
  3. Game Dev II: Intermediate adds physics, scenes and saves, tile-based platformers, procedural terrain, UI, NPC AI, juice, genre studies and shipping executables. New Python features appear as short sidebars where they are first needed.
  4. Game Dev III: Advanced assumes Intermediate Python as well, and covers engine architecture, performance, advanced AI, procedural worlds, physics engines, moderngl rendering and networked multiplayer.

Every module is a three-hour session with a lab you can finish at home. Each course can be taught in a classroom or followed on your own.

What you need

  • A Windows, macOS or Linux computer with Python 3.10 or newer
  • pip install pygame-ce (the community edition of pygame, used throughout)
  • For Game Dev III: pip install moderngl numpy pymunk as well
  • A code editor such as VS Code