This repository contains a complete follow‑along journey through multiple Python game‑development projects inspired by Tech With Tim’s YouTube course. Each project is rewritten cleanly with modern Python practices, organized assets, clear structure, and beginner‑friendly explanations.
The goal is to learn how and why games work — not just copy/paste code — by typing everything by hand and building real projects from start to finish.
This series covers multiple games built with Pygame, ranging from beginner to advanced:
- Rain Dodge
- Galaxy Fighters
- Space Invaders
- Car Racing Game
- Checkers
- Checkers AI
- Pong
- 2048
- Platformer
Each project lives in its own folder with code, assets, and a clean structure.
Throughout this follow‑along series, you will learn:
- How to structure Python game projects
- How to load images, sounds, and assets using
pathlib - How to create classes for players, enemies, and projectiles
- How to animate sprites and build movement patterns
- How to implement shooting mechanics
- How to detect collisions using
pygame.Rect - How to add sound effects and scoring
- How to build a complete game loop
- How to display UI elements
- How to create menus and game‑over screens
- How to think like a game developer
This repository serves as a complete learning archive for Python game development.
- Python 3.10+
- Pygame
- pathlib (built into Python)
Install Pygame-ce:
pip install pygame-ce
Each project is built step‑by‑step by following along with the video tutorials. All code is rewritten cleanly with:
- Clear section headers
- Organized project structure
- Beginner‑friendly comments
- Modern Python conventions
- Hand‑typed code for deeper learning
This repository is designed to help you understand real game‑development patterns and build confidence writing Python games from scratch.
If you enjoy this series and want to support future projects:
Your support helps me continue creating clean, high‑quality learning resources.
Type everything by hand. Learn the patterns. Build the games. Level up your Python skills.