
Learn Python by building six 2d and 3d games, from a dinosaur runner to a Minecraft recreation, while mastering AI, data science, databases, app development, robotics, and home automation.
Install python across Windows, macOS, and Linux from python.org, then run simple code like print(1+1) in IDLE or VS Code after installing the Python extension.
Explore Python data types, including integers, floats, booleans, and strings, and learn to print, concatenate, and format text with f-strings and numeric formatting for readability.
Understand variables as named containers to store, read, and update data in Python; create with name = value, reuse and overwrite values, and use snake_case conventions.
Learn Python flow control with if statements, boolean logic, truthy and falsy values, and indentation, using if/elif/else, and/or, and membership tests in practical examples.
Learn how Python's match case handles specific values, compares with if statements, and uses an underscore as a default. Apply pattern matching to grade responses in exercises.
Learn to use while loops in Python by building a number guessing game, handling input, counting guesses, and controlling the loop with a gameActive boolean.
Explore for loops in Python by iterating over lists, dictionaries, and sets, using break, continue, range, and items to control flow and access keys and values.
Explore advanced for loops in Python, including unpacking i and j from lists and dictionaries, iterating over nested lists, and using enumerate to access indices and values.
Master list comprehension in Python by converting for loops into compact one-line expressions, with list, tuple, dictionary, and set forms, including filtering and nesting.
Learn to create and use functions in Python: define with def, pass parameters and arguments, return values, and manage global versus local scope with examples.
Organize Python functions by using named parameters, default values, and data types to improve readability. Explore positional vs keyword arguments through examples like a pizza maker and built-in print behaviors.
Discover Python lambda functions, single-line helpers that return results like adding ten. Build a two-parameter Pythagoras lambda and compute a square root of a squared plus b squared.
Learn to pass functions around as first-class objects, use map and filter, compare with list comprehension, and practice higher-order functions with addNums and defineAllFiveTimes.
Explore how objects and classes organize code by modeling monsters and players with health and damage, plus methods like attack and heal, using self as the first parameter.
Learn inheritance by building a monster family, where child classes reuse the parent health and damage, override the byte method, and call super to run the parent dunder init.
Explore decorators that convert methods into attributes via property and setter, exposing health and xp. Build a merchant class with money-based ranks (basic, advanced, elite) that never drops below zero.
Explore how to work with external modules in Python by importing variables, functions, and classes across multiple files, and enforce main execution with __name__ checks.
Explore the Python standard library by using inbuilt modules to generate random numbers, perform math, and manipulate strings. Learn to import, alias, and use modules like random, string, and DateTime.
Learn to use external modules in Python by installing third-party libraries from PyPy via pip, including Colorama, matplotlib, numpy, and Pillow, to enable games and data analysis.
Discover how games render frames and respond to input, collisions, and timers by looping and drawing dynamic images. Learn to use Python and RayLib to build 2D and 3D games.
You can get all the project files here: https://drive.google.com/drive/folders/1b6cDEnBVQ0x8A_3Y4MeT1Zzb85kN4HhT?usp=sharing
Learn raylib intro basics in python by building a dino runner in code editor, initialize a 1280 by 720 window, draw and move a circle, and handle input to close.
Learn how the top-left origin and inverted y-axis affect movement, capture up and down keyboard input, and import, load, and draw a dino texture using join for safe paths.
Learn to render text with custom fonts and measure text for centering, add jump sounds and music, and build a 2d game with a dino, cactus, collision, and elapsed-time scoring.
Learn to build a dinosaur game in Python by implementing a jumping dinosaur with gravity, a floor line, cactus obstacles, and rectangle collisions, along with drawing order and continuous spawning.
Build a modular Python game with class-based architecture using ReLib, creating a dino sprite with gravity, jumping, input, and sound, organized by settings, sprites, and game classes.
Animate the dinosaur by sequencing run textures and a jump texture, import assets and sounds, manage a frame index with a floor line draw override to switch when jumping.
Learn Python by making 6 games teaches building a custom timer class to spawn obstacles, enemies, and a cloud with activate, update, and optional callbacks.
Spawn obstacles with a MovingSprite class and random cactus textures moving from right to left. Update and draw every sprite; clouds and floor stay in a background layer.
Finish the dino game by adding background music, animating a flying enemy, and cleaning up off-screen sprites; implement randomized spawning between cactus and enemy with textured animation.
Set up a Zelda-style adventure game project in Python with camera and collisions, implement sprites, a player class, and delta-time based movement with normalization to prevent diagonal speed.
Learn to import and organize player animations by direction and state, using a Python workflow with support.py and os.walk to map subfolders to textures.
Implement player animations using a texture dictionary, state-driven frames, and a timer-based attack; track movement and last direction to drive idle, walk, and attack sequences.
Import tiled objects from a tmj json and build a level data list. Place grass and the player using tiled data, and implement center-y based drawing for proper layering.
Implement and refine level collisions in a Python game by adding object and island collisions, tuning hitboxes with y-overlap, and centering the player texture for accurate movement.
Implement grass that disappears when hit and spawns animated leaf particles, using a particle class and draw texture pro for dynamic visuals.
Create an Enemy class inheriting from Entity to implement a state machine (idle, move, attack) driven by player distance and radii, and trigger attack animations via a timer.
Explore implementing player health, invincibility timing, and enemy damage logic, while loading monster data to customize speed, damage, attack size, and particle attacks for richer gameplay.
Implement a hit mechanic that reduces enemy health, removes defeated monsters, pushes them away via a timer, and adds a flashing hit effect through alpha modulation.
Finish the health user interface with heart icons and add audio, including swing and creature attack sounds plus background music, with audio initialization, playback, and volume control.
Create a Pokemon-style battle game by building the user interface menus and mastering data management for monsters, attacks, and icons, using enums and human-readable ids.
Set up sprite-based monster idle and attack animations and background in python using inheritance, import assets, and draw frames with source and destination rectangles, flipping and scaling for centered origin.
Build a monster sprite class that loads textures from a monster data dictionary, animates idle and attack frames via delta time, and triggers attack animations with keyboard input.
Design and implement an AttackSprite class linked to the monster's attack animation, manage frames and groups, trigger a single attack at the correct frame, and destroy the sprite after play.
Learn to implement a turn-based battle between a player monster and an enemy, including random enemy selection, position setup, sprite flipping, and timed attacks with flexible targeting.
Expand the battle system by integrating monster abilities and elements, wiring self.abilities and self.element from monster data, and apply element multipliers to calculate attack damage for offensive and healing abilities.
Add name and health fields to monsters and display a live health bar and name via a UI module, using health bar ratio and clamping to 0 and max health.
Build a dynamic attack message system that formats and displays multi-line messages like 'dolphin used scratch,' calculates effectiveness via element multiplier, and renders a timed, centered message box with padding.
Create a change menu to swap player monsters, display icons, and use menu input to update the on-field monster, textures, and max health in real time.
Connect menus to drive battle UI and logic, implement attack and change via match cases and enums, manage enemy turns with timers, and track monster health across swaps.
Finish the game by replacing defeated monsters and adding attack damage checks and background music sounds to enhance gameplay. Update enemy stats and implement audio logic.
Learn 3d in Relib using x, y, z coordinates and a camera3D with beginMode3D. Build meshes and models, apply a gradient texture, and animate with deltaTime.
Learn to import 3D assets for a Python game using GLB, GLTF, and OBJ formats, including textures and skeletons, and understand Blender offsets and asset organization.
Apply 3d collision concepts using bounding boxes and spheres, including CollisionBoxes, CollisionSpheres, and CollisionBoxSphere. Build and test player–obstacle collisions with bounding box and sphere visualizations.
Spawn obstacles in a Python game with a timer, importing obstacle assets and randomly selecting one via choice and an fstring, then update the timer for continuous spawning.
Import skeletal animations and enable player and enemy animations using model.animations and updateModelAnimation. Load skeleton mage and warrior and fix facing with drawModelX.
Set up a basic 3d doom-style shooter in python with relib, using trig for aiming, a player camera, 3d movement with gravity, wasd, and space jump.
Apply trigonometry to build a planetary system by calculating x and y coordinates from an angle and distance using sine, cosine, tangent, and sohcahtoa, with radians versus degrees for rotation.
Master fps movement in Python by aligning player movement with the camera direction using forward and right vectors, trig-based look, input normalization, and a speed parameter.
Implement collisions by creating a red cube with a bounding box, collision groups, and floor and obstacle checks, then import a test level to validate the setup.
Create a 2d billboarding enemy facing the player camera in 3d space, deriving from character with update and draw, enabling pursuit within range, gravity, and collisions.
Learn to animate enemies by computing the angle to the player with atan2, selecting the correct frame from five columns, and mirroring for left-right.
Learn to build a Python weapon system with textures and animations, including punch, rifle, minigun, and shotgun, handling drawing, input, and idle to shooting states.
Refine a basic weapon system by adding cooldowns, weapon switching (e and q), and a crosshair, then implement raycast hits, weapon range and damage, enemy health, and a hit timer.
Implement a death animation for enemies with a DeathAnimation class spawned on defeat. Make the player hittable and update frames via delta time.
Import a blender-built level and assets, extract node translations with gltf2 to place the player and enemies, and sort objects by distance to the camera for correct drawing.
Stop learning Python from boring textbooks. Learn it by shooting demons in the face!
Python is the worlds most popular programming language. It is a major tool for AI and data science, it runs the databases of basically every large project and it can be used for app development, games, robotics, home automation and loads more. Python is basically everywhere and mastering it is a good path to interesting jobs and a high income. However, learning it by making small graphs or basic apps is boring; instead we will make cool games to master Python.
What We Are Building:
We will start with the absolute basics of the language and rapidly scale your skills across six distinct projects:
Google Dinosaur Runner: A clean, simple starter project to master the absolute basics of loops, movement, and collisions.
2D Zelda-Style Adventure: Create a proper level, design complex enemy AI, add fancy animations, and build a workflow using a professional level editor.
Turn-Based Pokémon Battle System: Learn to handle massive amounts of game data and present it cleanly by designing custom user interfaces (UI).
3D Runner Game: Break into the third dimension, learning 3D coordinate spaces and working with full skeleton animations.
Doom-Style Retro FPS: Build a highly satisfying first-person shooter featuring multiple weapons, advanced pathfinding, and intense gameplay.
Minecraft Clone (With AI): Recreate the ultimate sandbox block-builder, and learn how to use modern AI tools to speed up your coding workflow exponentially.
Why Game Development is the Secret to Mastering Python
Many people think game development is just a hobby. They are wrong.
If you can build a game with hundreds of moving parts, complex animations, real-time physics, complex user interfaces, and state management, you can code anything. The architectural patterns, object-oriented programming (OOP) principles, and problem-solving skills you learn here will allow you to easily pivot into databases, AI engineering, or backend web development.
Who Is This Course For?
Complete Beginners: We start from the absolute ground up. If you have a vaguely functioning computer, you can take this course.
Self-Taught Programmers: Stuck in "tutorial hell"? These complex projects will teach you how to write structured, clean, and professional code.
Intermediate Python Developers: Already know the basics? You can skip the introduction section and jump straight into building the games!
Enroll today, stop staring at boring terminals, and let's start building!