Save this video — free

CS50 2D - Lecture 1 - Flappy Bird (live, unedited)

CS50 · 2:55:50 · Watch on YouTube

CS50 2D - Lecture 1 - Flappy Bird (live, unedited) Watch on YouTube →

Overview

CS50's Flappy Bird lecture (CS50 2D, Lecture 1) introduces 2D game development concepts using Lua and the LÖVE 2D framework. David J. Malan and Colton Ogden demonstrate building Flappy Bird from scratch, covering sprites, scrolling, parallax effects, gravity, input handling (keyboard/mouse), state machines, collision detection (AABB), scoring, and sound. The lecture emphasizes code organization through object-oriented programming and state management, transitioning from basic shapes to a fully functional game.

Key takeaways

Chapters

22:23 Introduction to CS50 2D and Flappy Bird
27:15 Flappy Bird: Game Mechanics and Concepts
30:23 Demoing Flappy Bird Gameplay
32:00 Transitioning from Pong to Flappy Bird Graphics
34:28 Loading and Drawing Images with LÖVE 2D
35:07 Setting up Initial Graphics: Background and Ground
38:06 Implementing Parallax Scrolling for Depth Illusion
40:00 Creating Infinite Scrolling Backgrounds with Looping Textures
41:57 Implementing Scrolling with Modulo Operator
42:25 Parallax Effect: Background Moves Slower than Ground
46:53 Introducing the Bird Sprite and Object-Oriented Design
50:02 Centering the Bird Sprite on Screen
51:55 Understanding Lua's Colon Syntax for Methods
54:23 Implementing Gravity: Bird Falling Simulation
56:12 Introducing Anti-Gravity: The Jump Mechanic
56:57 Handling Single Key Presses with Custom Callbacks
1:14:21 Generating Infinite Pipes with a Timer and Table
1:19:31 Pipe Class and Scrolling Logic
1:30:46 Implementing Pipe Pairs for Flappy Bird Obstacles
2:02:04 Implementing Axis-Aligned Bounding Box (AABB) Collision Detection
2:06:26 State Machines for Game Flow Management
2:14:33 Adding a Countdown State for Smoother Transitions
2:15:37 Integrating Sound Effects and Music
2:20:25 Emulating Mobile Touch Input with Mouse Clicks
2:21:57 Refactoring and Project Organization

Keep these chapters and the full searchable transcript in your own library.

Summary, takeaways, and chapters were generated by AI from the video's transcript and may contain errors. The video belongs to its creator, CS50.

Want the full transcript?

Save this video in YouTube Collector to get its complete searchable transcript, your own AI summaries, and a library that keeps every video you collect in one place.