[email protected] david j. malan [email protected] ... · gd50 lecture 1: flappy bird colton...
TRANSCRIPT
![Page 3: malan@harvard.edu David J. Malan cogden@cs50.harvard.edu ... · GD50 Lecture 1: Flappy Bird Colton Ogden cogden@cs50.harvard.edu David J. Malan malan@harvard.edu](https://reader035.vdocuments.us/reader035/viewer/2022062610/61142d5daf4ede228406125e/html5/thumbnails/3.jpg)
● Images (Sprites)● Infinite Scrolling● “Games Are Illusions”● Procedural Generation● State Machines● Mouse Input
Topics
![Page 5: malan@harvard.edu David J. Malan cogden@cs50.harvard.edu ... · GD50 Lecture 1: Flappy Bird Colton Ogden cogden@cs50.harvard.edu David J. Malan malan@harvard.edu](https://reader035.vdocuments.us/reader035/viewer/2022062610/61142d5daf4ede228406125e/html5/thumbnails/5.jpg)
Optional Reading, ftw
● How to Make an RPG, by Dan Schuller○ https://howtomakeanrpg.com/
● Game Programming Patterns, by Robert Nystrom○ http://gameprogrammingpatterns.com/
![Page 6: malan@harvard.edu David J. Malan cogden@cs50.harvard.edu ... · GD50 Lecture 1: Flappy Bird Colton Ogden cogden@cs50.harvard.edu David J. Malan malan@harvard.edu](https://reader035.vdocuments.us/reader035/viewer/2022062610/61142d5daf4ede228406125e/html5/thumbnails/6.jpg)
Our Goal
![Page 7: malan@harvard.edu David J. Malan cogden@cs50.harvard.edu ... · GD50 Lecture 1: Flappy Bird Colton Ogden cogden@cs50.harvard.edu David J. Malan malan@harvard.edu](https://reader035.vdocuments.us/reader035/viewer/2022062610/61142d5daf4ede228406125e/html5/thumbnails/7.jpg)
bird0 “The Day-0 Update”
![Page 8: malan@harvard.edu David J. Malan cogden@cs50.harvard.edu ... · GD50 Lecture 1: Flappy Bird Colton Ogden cogden@cs50.harvard.edu David J. Malan malan@harvard.edu](https://reader035.vdocuments.us/reader035/viewer/2022062610/61142d5daf4ede228406125e/html5/thumbnails/8.jpg)
bird0: New Functions
● love.graphics.newImage(path)○ Loads an image from a graphics file (JPEG, PNG, GIF, etc.), storing it in an object we can draw
to the screen.
![Page 9: malan@harvard.edu David J. Malan cogden@cs50.harvard.edu ... · GD50 Lecture 1: Flappy Bird Colton Ogden cogden@cs50.harvard.edu David J. Malan malan@harvard.edu](https://reader035.vdocuments.us/reader035/viewer/2022062610/61142d5daf4ede228406125e/html5/thumbnails/9.jpg)
Demo time!
![Page 10: malan@harvard.edu David J. Malan cogden@cs50.harvard.edu ... · GD50 Lecture 1: Flappy Bird Colton Ogden cogden@cs50.harvard.edu David J. Malan malan@harvard.edu](https://reader035.vdocuments.us/reader035/viewer/2022062610/61142d5daf4ede228406125e/html5/thumbnails/10.jpg)
bird1 “The Parallax Update”
![Page 11: malan@harvard.edu David J. Malan cogden@cs50.harvard.edu ... · GD50 Lecture 1: Flappy Bird Colton Ogden cogden@cs50.harvard.edu David J. Malan malan@harvard.edu](https://reader035.vdocuments.us/reader035/viewer/2022062610/61142d5daf4ede228406125e/html5/thumbnails/11.jpg)
Demo time!
![Page 12: malan@harvard.edu David J. Malan cogden@cs50.harvard.edu ... · GD50 Lecture 1: Flappy Bird Colton Ogden cogden@cs50.harvard.edu David J. Malan malan@harvard.edu](https://reader035.vdocuments.us/reader035/viewer/2022062610/61142d5daf4ede228406125e/html5/thumbnails/12.jpg)
Games Are Illusions
Shesez (Boundary Break)
https://www.youtube.com/channel/UCHTnEwQKNwm49CQeCVZogMw
![Page 14: malan@harvard.edu David J. Malan cogden@cs50.harvard.edu ... · GD50 Lecture 1: Flappy Bird Colton Ogden cogden@cs50.harvard.edu David J. Malan malan@harvard.edu](https://reader035.vdocuments.us/reader035/viewer/2022062610/61142d5daf4ede228406125e/html5/thumbnails/14.jpg)
bird2 “The Bird Update”
![Page 15: malan@harvard.edu David J. Malan cogden@cs50.harvard.edu ... · GD50 Lecture 1: Flappy Bird Colton Ogden cogden@cs50.harvard.edu David J. Malan malan@harvard.edu](https://reader035.vdocuments.us/reader035/viewer/2022062610/61142d5daf4ede228406125e/html5/thumbnails/15.jpg)
Demo time!
![Page 16: malan@harvard.edu David J. Malan cogden@cs50.harvard.edu ... · GD50 Lecture 1: Flappy Bird Colton Ogden cogden@cs50.harvard.edu David J. Malan malan@harvard.edu](https://reader035.vdocuments.us/reader035/viewer/2022062610/61142d5daf4ede228406125e/html5/thumbnails/16.jpg)
bird3 “The Gravity Update”
![Page 17: malan@harvard.edu David J. Malan cogden@cs50.harvard.edu ... · GD50 Lecture 1: Flappy Bird Colton Ogden cogden@cs50.harvard.edu David J. Malan malan@harvard.edu](https://reader035.vdocuments.us/reader035/viewer/2022062610/61142d5daf4ede228406125e/html5/thumbnails/17.jpg)
Demo time!
![Page 18: malan@harvard.edu David J. Malan cogden@cs50.harvard.edu ... · GD50 Lecture 1: Flappy Bird Colton Ogden cogden@cs50.harvard.edu David J. Malan malan@harvard.edu](https://reader035.vdocuments.us/reader035/viewer/2022062610/61142d5daf4ede228406125e/html5/thumbnails/18.jpg)
bird4 “The Anti-Gravity Update”
![Page 19: malan@harvard.edu David J. Malan cogden@cs50.harvard.edu ... · GD50 Lecture 1: Flappy Bird Colton Ogden cogden@cs50.harvard.edu David J. Malan malan@harvard.edu](https://reader035.vdocuments.us/reader035/viewer/2022062610/61142d5daf4ede228406125e/html5/thumbnails/19.jpg)
http://game.engineering.nyu.edu/projects/exploring-game-space/
![Page 20: malan@harvard.edu David J. Malan cogden@cs50.harvard.edu ... · GD50 Lecture 1: Flappy Bird Colton Ogden cogden@cs50.harvard.edu David J. Malan malan@harvard.edu](https://reader035.vdocuments.us/reader035/viewer/2022062610/61142d5daf4ede228406125e/html5/thumbnails/20.jpg)
Demo time!
![Page 21: malan@harvard.edu David J. Malan cogden@cs50.harvard.edu ... · GD50 Lecture 1: Flappy Bird Colton Ogden cogden@cs50.harvard.edu David J. Malan malan@harvard.edu](https://reader035.vdocuments.us/reader035/viewer/2022062610/61142d5daf4ede228406125e/html5/thumbnails/21.jpg)
bird5 “The Infinite Pipe Update”
![Page 22: malan@harvard.edu David J. Malan cogden@cs50.harvard.edu ... · GD50 Lecture 1: Flappy Bird Colton Ogden cogden@cs50.harvard.edu David J. Malan malan@harvard.edu](https://reader035.vdocuments.us/reader035/viewer/2022062610/61142d5daf4ede228406125e/html5/thumbnails/22.jpg)
Demo time!
![Page 23: malan@harvard.edu David J. Malan cogden@cs50.harvard.edu ... · GD50 Lecture 1: Flappy Bird Colton Ogden cogden@cs50.harvard.edu David J. Malan malan@harvard.edu](https://reader035.vdocuments.us/reader035/viewer/2022062610/61142d5daf4ede228406125e/html5/thumbnails/23.jpg)
bird6 “The PipePair Update”
![Page 24: malan@harvard.edu David J. Malan cogden@cs50.harvard.edu ... · GD50 Lecture 1: Flappy Bird Colton Ogden cogden@cs50.harvard.edu David J. Malan malan@harvard.edu](https://reader035.vdocuments.us/reader035/viewer/2022062610/61142d5daf4ede228406125e/html5/thumbnails/24.jpg)
Spawn ZoneDead Zone
![Page 25: malan@harvard.edu David J. Malan cogden@cs50.harvard.edu ... · GD50 Lecture 1: Flappy Bird Colton Ogden cogden@cs50.harvard.edu David J. Malan malan@harvard.edu](https://reader035.vdocuments.us/reader035/viewer/2022062610/61142d5daf4ede228406125e/html5/thumbnails/25.jpg)
Demo time!
![Page 26: malan@harvard.edu David J. Malan cogden@cs50.harvard.edu ... · GD50 Lecture 1: Flappy Bird Colton Ogden cogden@cs50.harvard.edu David J. Malan malan@harvard.edu](https://reader035.vdocuments.us/reader035/viewer/2022062610/61142d5daf4ede228406125e/html5/thumbnails/26.jpg)
bird7 “The Collision Update”
![Page 27: malan@harvard.edu David J. Malan cogden@cs50.harvard.edu ... · GD50 Lecture 1: Flappy Bird Colton Ogden cogden@cs50.harvard.edu David J. Malan malan@harvard.edu](https://reader035.vdocuments.us/reader035/viewer/2022062610/61142d5daf4ede228406125e/html5/thumbnails/27.jpg)
Demo time!
![Page 28: malan@harvard.edu David J. Malan cogden@cs50.harvard.edu ... · GD50 Lecture 1: Flappy Bird Colton Ogden cogden@cs50.harvard.edu David J. Malan malan@harvard.edu](https://reader035.vdocuments.us/reader035/viewer/2022062610/61142d5daf4ede228406125e/html5/thumbnails/28.jpg)
bird8 “The State Machine Update”
![Page 29: malan@harvard.edu David J. Malan cogden@cs50.harvard.edu ... · GD50 Lecture 1: Flappy Bird Colton Ogden cogden@cs50.harvard.edu David J. Malan malan@harvard.edu](https://reader035.vdocuments.us/reader035/viewer/2022062610/61142d5daf4ede228406125e/html5/thumbnails/29.jpg)
Flappy Bird State Machine
TitleScreenState PlayStateCountdownState
ScoreState
![Page 30: malan@harvard.edu David J. Malan cogden@cs50.harvard.edu ... · GD50 Lecture 1: Flappy Bird Colton Ogden cogden@cs50.harvard.edu David J. Malan malan@harvard.edu](https://reader035.vdocuments.us/reader035/viewer/2022062610/61142d5daf4ede228406125e/html5/thumbnails/30.jpg)
Demo time!
![Page 31: malan@harvard.edu David J. Malan cogden@cs50.harvard.edu ... · GD50 Lecture 1: Flappy Bird Colton Ogden cogden@cs50.harvard.edu David J. Malan malan@harvard.edu](https://reader035.vdocuments.us/reader035/viewer/2022062610/61142d5daf4ede228406125e/html5/thumbnails/31.jpg)
bird9 “The Score Update”
![Page 32: malan@harvard.edu David J. Malan cogden@cs50.harvard.edu ... · GD50 Lecture 1: Flappy Bird Colton Ogden cogden@cs50.harvard.edu David J. Malan malan@harvard.edu](https://reader035.vdocuments.us/reader035/viewer/2022062610/61142d5daf4ede228406125e/html5/thumbnails/32.jpg)
Demo time!
![Page 33: malan@harvard.edu David J. Malan cogden@cs50.harvard.edu ... · GD50 Lecture 1: Flappy Bird Colton Ogden cogden@cs50.harvard.edu David J. Malan malan@harvard.edu](https://reader035.vdocuments.us/reader035/viewer/2022062610/61142d5daf4ede228406125e/html5/thumbnails/33.jpg)
bird10 “The Countdown Update”
![Page 34: malan@harvard.edu David J. Malan cogden@cs50.harvard.edu ... · GD50 Lecture 1: Flappy Bird Colton Ogden cogden@cs50.harvard.edu David J. Malan malan@harvard.edu](https://reader035.vdocuments.us/reader035/viewer/2022062610/61142d5daf4ede228406125e/html5/thumbnails/34.jpg)
Demo time!
![Page 35: malan@harvard.edu David J. Malan cogden@cs50.harvard.edu ... · GD50 Lecture 1: Flappy Bird Colton Ogden cogden@cs50.harvard.edu David J. Malan malan@harvard.edu](https://reader035.vdocuments.us/reader035/viewer/2022062610/61142d5daf4ede228406125e/html5/thumbnails/35.jpg)
bird11 “The Audio Update”
![Page 36: malan@harvard.edu David J. Malan cogden@cs50.harvard.edu ... · GD50 Lecture 1: Flappy Bird Colton Ogden cogden@cs50.harvard.edu David J. Malan malan@harvard.edu](https://reader035.vdocuments.us/reader035/viewer/2022062610/61142d5daf4ede228406125e/html5/thumbnails/36.jpg)
Demo time!
![Page 37: malan@harvard.edu David J. Malan cogden@cs50.harvard.edu ... · GD50 Lecture 1: Flappy Bird Colton Ogden cogden@cs50.harvard.edu David J. Malan malan@harvard.edu](https://reader035.vdocuments.us/reader035/viewer/2022062610/61142d5daf4ede228406125e/html5/thumbnails/37.jpg)
bird12 “The Mouse Update”
![Page 38: malan@harvard.edu David J. Malan cogden@cs50.harvard.edu ... · GD50 Lecture 1: Flappy Bird Colton Ogden cogden@cs50.harvard.edu David J. Malan malan@harvard.edu](https://reader035.vdocuments.us/reader035/viewer/2022062610/61142d5daf4ede228406125e/html5/thumbnails/38.jpg)
bird12: New Functions
● love.mousepressed(x, y, button)
-Callback fired by LÖVE2D every time a mouse button is pressed; also gives us the (X, Y) of where the mouse cursor was at the time of the button press.
![Page 39: malan@harvard.edu David J. Malan cogden@cs50.harvard.edu ... · GD50 Lecture 1: Flappy Bird Colton Ogden cogden@cs50.harvard.edu David J. Malan malan@harvard.edu](https://reader035.vdocuments.us/reader035/viewer/2022062610/61142d5daf4ede228406125e/html5/thumbnails/39.jpg)
Demo time!
![Page 40: malan@harvard.edu David J. Malan cogden@cs50.harvard.edu ... · GD50 Lecture 1: Flappy Bird Colton Ogden cogden@cs50.harvard.edu David J. Malan malan@harvard.edu](https://reader035.vdocuments.us/reader035/viewer/2022062610/61142d5daf4ede228406125e/html5/thumbnails/40.jpg)
● Sprite Sheets● Procedural Layouts● Levels● Player Health● Particle Systems● Fancier Collision Detection● Persistent Save Data
Next Time...
![Page 41: malan@harvard.edu David J. Malan cogden@cs50.harvard.edu ... · GD50 Lecture 1: Flappy Bird Colton Ogden cogden@cs50.harvard.edu David J. Malan malan@harvard.edu](https://reader035.vdocuments.us/reader035/viewer/2022062610/61142d5daf4ede228406125e/html5/thumbnails/41.jpg)
● Make pipe gaps slightly random.● Make pipe intervals slightly random.● Award players a “medal” based on their score, using
images.● Implement a pause feature.
Assignment 1
![Page 42: malan@harvard.edu David J. Malan cogden@cs50.harvard.edu ... · GD50 Lecture 1: Flappy Bird Colton Ogden cogden@cs50.harvard.edu David J. Malan malan@harvard.edu](https://reader035.vdocuments.us/reader035/viewer/2022062610/61142d5daf4ede228406125e/html5/thumbnails/42.jpg)
See you next time!