Save this video — free

CS50 2D - Lecture 1 - Flappy Bird

CS50 · 2:01:09 · Watch on YouTube

CS50 2D - Lecture 1 - Flappy Bird Watch on YouTube →

Overview

CS50's Flappy Bird lecture introduces 2D game development concepts using Lua and LÖVE 2D, building a Flappy Bird clone. Key topics include sprite rendering with `love.graphics.newImage`, parallax scrolling via modulo arithmetic, object-oriented programming with classes for game entities like birds and pipes, gravity simulation, input handling (keyboard and mouse), procedural generation of infinite pipe pairs, collision detection using AABB, state machines for managing game flow (title, play, score, countdown), and integrating sound effects and music. The lecture emphasizes code organization and modularity through states and object-oriented design.

Key takeaways

Chapters

0:00 Introduction to Flappy Bird and Course Concepts
0:47 Flappy Bird Gameplay Demonstration
10:47 Loading and Drawing Images with `love.graphics.newImage`
19:07 Implementing Parallax Scrolling for Depth Illusion
25:36 Scrolling Textures with Modulo Arithmetic
32:35 Creating a Bird Entity with Object-Oriented Programming
38:45 Understanding Lua's Colon Syntax for Method Calls
40:44 Simulating Gravity with a Constant Downward Velocity
50:14 Implementing the Jump Mechanic (Anti-Gravity)
55:41 Custom Input Handling with `love.keyboard.wasPressed`
1:07:21 Generating Infinite Pipes with a Timer and Table
1:14:05 Iterating and Removing Off-Screen Pipes
1:30:51 Creating Pipe Pairs with Top and Bottom Pipes
1:43:22 Rendering Flipped Pipes with Y-Axis Offset

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.