Game Development with Python and Pygame

  1. Advanced Game Structure and Concepts
    1. Game State Management
      1. The Need for a State Machine
        1. Benefits of State Management
        2. Implementing States
          1. Playing State
            1. Game Over State
              1. Pause State
              2. Transitioning Between States
                1. Handling State Changes
                  1. Passing Data Between States
                  2. State Stack Management
                    1. Pushing and Popping States
                      1. Overlay States
                    2. Scene Management
                      1. Scene Graph Concepts
                        1. Scene Transitions
                          1. Scene Loading and Unloading
                          2. Tile-Based Worlds
                            1. Introduction to Tilemaps
                              1. Tilemap Concepts
                                1. Grid-Based Level Design
                                2. Designing a Level with a Tilemap Editor
                                  1. Overview of Tilemap Editors
                                    1. Exporting Tilemap Data
                                    2. Loading and Rendering a Tilemap
                                      1. Reading Tilemap Files
                                        1. Drawing Tiles to the Screen
                                          1. Tile Layers
                                          2. Tile-Based Collision
                                            1. Mapping Tiles to Collision Areas
                                              1. Handling Collisions with Tilemaps
                                              2. Optimizing Tilemap Rendering
                                                1. Culling Off-Screen Tiles
                                                  1. Tile Batching
                                                2. Camera and Scrolling
                                                  1. Implementing a Simple 2D Camera
                                                    1. Camera Position and Viewport
                                                    2. Following the Player
                                                      1. Centering the Camera on the Player
                                                        1. Camera Boundaries
                                                          1. Smooth Camera Movement
                                                          2. Parallax Scrolling for Depth
                                                            1. Layered Backgrounds
                                                              1. Adjusting Scroll Speeds
                                                              2. Camera Effects
                                                                1. Screen Shake
                                                                  1. Zoom In and Out
                                                                2. Basic Enemy AI
                                                                  1. Simple Movement Patterns
                                                                    1. Patrolling Behavior
                                                                      1. Following the Player
                                                                        1. Random Movement
                                                                        2. State-Based AI
                                                                          1. Idle State
                                                                            1. Chase State
                                                                              1. Attack State
                                                                                1. Flee State
                                                                                2. Pathfinding Basics
                                                                                  1. Simple A* Implementation
                                                                                    1. Grid-Based Pathfinding
                                                                                  2. Game Object Management
                                                                                    1. Object Pooling
                                                                                      1. Reusing Game Objects
                                                                                        1. Pool Management
                                                                                        2. Component Systems
                                                                                          1. Entity-Component Architecture
                                                                                            1. Component Communication