While the majority of our classes are held in-person - there's no substitute for the classroom teacher-student interaction - we have created
a number of online tutorials to help get started or to help students review what they've learned in class.
All lessons are available on our YouTube channel, and we're also adding text-based versions of every lesson for those that prefer reading over watching. Read on to see what's available.
Please consider supporting these lessons:
If you're interested in game development, this is the place to start. We'll introduce you to Pygame, the Python-based game library, and show you how to get started.
Tutorial (click for text version) | Video Link |
---|---|
Pygame Lesson 1-1: Getting Started | https://youtu.be/VO8rTszcW4s |
Pygame Lesson 1-2: Working with Sprites | https://youtu.be/Eltz-XJMxuU |
Pygame Lesson 1-3: More About Sprites | https://youtu.be/fcryHcZE_sM |
Your first Pygame project! Follow along step-by-step as we build a space shoot-em-up (aka "Shmup"). Each lesson, we'll add one feature to the code until we have a fully working game! Some of the things you'll learn how to do:
Ready to jump to the next level? (see what we did there?) In this project, we'll step up our game, using some more advanced methods and Pygame features to build a "Doodle Jump" style platformer. Some of the new techniques we'll learn:
Tutorial (click for text version) | Video Link |
---|---|
Pygame Platformer Part 1: Setting Up Coming Soon | https://youtu.be/uWvb3QzA48c |
Pygame Platformer Part 2: Player Movement | https://youtu.be/8LRI0RLKyt0 |
Pygame Platformer Part 3: Gravity and Platforms | https://youtu.be/pN9pBx5ln40 |
Pygame Platformer Part 4: Jumping | https://youtu.be/G8pYfkIajE8 |
Pygame Platformer Part 5: Scrolling the Window | https://youtu.be/OmlQ0XCvIn0 |
Pygame Platformer Part 6: Game Over | https://youtu.be/BKtiVKNsOYk |
Pygame Platformer Part 7: Splash & End Screens | https://youtu.be/rLrMPg-GCqo |
Pygame Platformer Part 8: Saving High Score | https://youtu.be/MFv1Ew_nGG0 |
Pygame Platformer Part 9: Using Spritesheets | https://youtu.be/mBC5VqxnFLA |
Pygame Platformer Part 10: Character Animation (part 1) | https://youtu.be/kuVsKUuVOwc |
Pygame Platformer Part 11: Character Animation (part 2) | https://youtu.be/n4TQfKt4wpQ |
Pygame Platformer Part 12: Platform Graphics | https://youtu.be/qnUVjACD3WM |
Pygame Platformer Part 13: Improved Jumping | https://youtu.be/9S7fWevICtY |
Pygame Platformer Part 14: Sound and Music | https://youtu.be/bgy_cHYnhjY |
Pygame Platformer Part 15: Powerups | https://youtu.be/kCnAhasA1bs |
Pygame Platformer Part 16: Enemies | https://youtu.be/IxtNSCYOWck |
Pygame Platformer Part 17: Using Collision Masks | https://youtu.be/Dspz3kaTKUg |
Pygame Platformer Part 18: Scrolling Background | https://youtu.be/i0PaigPo6KM |
Pygame Platformer Part 19: Wrapping Up | https://youtu.be/-9bjlpaVQAA |
The latest Pygame tutorial series tackles the concept of tile-based games, where the game world is based on a grid of tiles, including ideas like scrolling maps, pathfinding, enemy AI, and more.
Tutorial (click for text version) | Video Link |
---|---|
Tile-based game Part 1: Setting up Coming Soon | https://youtu.be/3UxnelT9aCo |
Tile-based game Part 2: Collisions and Tilemap | https://youtu.be/ajR4BZBKTr4 |
Tile-based game Part 3: Smooth Movement | https://youtu.be/pA7OABYHNDY |
Tile-based game Part 4: Scrolling Map / Camera | https://youtu.be/3zV2ewk-IGU |
Tile-based game Part 5: Player Graphics | https://youtu.be/FVLRUmkV27Q |
Tile-based game Part 6: Rotating Player Sprite | https://youtu.be/5M_-cJP5rk8 |
Tile-based game Part 7: Mobs | https://youtu.be/gbRAqFl21SA |
Tile-based game Part 8: Mob Movement | https://youtu.be/SAbxZDBJX4E |
Tile-based game Part 9: Basic Shooting | https://youtu.be/YfWh0WtwuWE |
Tile-based game Part 10: Player and Mob Health | https://youtu.be/-9bXcSjuN28 |
Tile-based game Part 11: Tiled Map Editor | https://youtu.be/Mr5l4U9S4kI |
Tile-based game Part 12: Loading Tiled Maps | https://youtu.be/QIXyj3WeyZM |
Tile-based game Part 13: Map Obstacles | https://youtu.be/vIT7P-RPJNo |
Tile-based game Part 14: Better Zombie Movement | https://youtu.be/4KJjLqowym0 |
Tile-based game Part 15: Simple Visual Effects | https://youtu.be/ZapYMuV8f1g |
Tile-based game Part 16: Items | https://youtu.be/ZapYMuV8f1g |
Tile-based game Part 17: Tweening | https://youtu.be/ZapYMuV8f1g |
Tile-based game Part 18: Sound Effects | https://youtu.be/vzJ0WG2LSYw |
Tile-based game Part 19: Pause Screen | https://youtu.be/MJ2GLVA7kaU |
Tile-based game Part 20: More Weapons | https://youtu.be/xIcDqw35rz8 |
Tile-based game Part 21: Damage Effect | https://youtu.be/0ctJV0EPbuc |
Tile-based game Part 22: Game Over | https://youtu.be/DZYY9hCOxLQ |
"In-depth Topics" will explore and explain a little more deeply certain subjects that may be tricky for new programmers to understand, or that may not quite fit into the usual tutorial structure. Most will likely be math related, but they may also cover other topics that come up or are requested by viewers.
Tutorial (click for text version) | Video Link |
---|---|
Gamedev In-depth Topics: 4-way vs. 8-way Movement | https://youtu.be/9fYgkFuU-iI |
Gamedev In-depth Topics: Time-based vs. Frame-based Movement | https://youtu.be/TIiYJaY8ZR0 |
Gamedev In-depth Topics: Non-integer Movement | https://youtu.be/5cu5-IUdDIo |
Gamedev In-depth Topics: Steering Behaviors (Seeking) | https://youtu.be/g1jo_qsO5c4 |
Gamedev In-depth Topics: Steering Behaviors (Wander) | https://youtu.be/jz-YNNVlVrQ |
Gamedev In-depth Topics: Steering Behaviors (Flee) | https://youtu.be/eantey2BaL4 |
Gamedev In-depth Topics: Pathfinding Part 1 | https://youtu.be/e3gbNOl4DiM |
Gamedev In-depth Topics: Pathfinding Part 2: Breadth First Search | https://youtu.be/JZsJq47hqVg |
Gamedev In-depth Topics: Pathfinding Part 3: Finding Shortest Path | https://youtu.be/tTHZwsV3B64 |
Gamedev In-depth Topics: Pathfinding Part 4: Dijkstra's Algorithm | https://youtu.be/fa1NSUBqiJc |
Gamedev In-depth Topics: Pathfinding Part 5: A* Search | https://youtu.be/PDPx-z9CwrA |