Pong – Lecture 0 – CS50's Introduction to Game Development 2018

July 31, 2020



00:00:00 – Introduction
00:04:10 – Lecture Topics
00:07:35 – What is Lua?
00:09:20 – LÖVE2D
00:10:08 – Game Loops
00:11:06 – 2D Coordinate System
00:11:47 – Lecture Scope
00:13:01 – The Day-0 Update
00:18:55 – The Low-Res Update
00:21:02 – Texture Filtering
00:25:10 – The Rectangle Update
00:30:42 – The Paddle Update
00:35:42 – The Ball Update
00:45:37 – The Class Update
00:55:51 – The FPS Update
00:59:35 – The Collision Update
00:59:51 – AABB Collision Detection
01:12:37 – The Score Update
01:14:40 – State Machine
01:21:18 – The Victory Update
01:27:57 – The Audio Update
01:26:44 – bfxr
01:33:54 – The Resize Update

This course picks up where Harvard University’s CS50 leaves off, focusing on the development of 2D interactive games. Students explore the design of such childhood games as Super Mario Bros., Legend of Zelda, and Pokémon in a quest to understand how video games themselves are implemented. Via lectures and hands-on projects, the course explores principles of 2D graphics, animation, sound, and collision detection using the LÖVE framework and Lua programming language. By course’s end, students will have programmed several of their own games and gained a thorough understanding of the basics of game design and development.

***

This is CS50, Harvard University’s introduction to the intellectual enterprises of computer science and the art of programming.

***

HOW TO SUBSCRIBE

HOW TO TAKE CS50

edX:
Harvard Extension School:
Harvard Summer School:
OpenCourseWare:

HOW TO JOIN CS50 COMMUNITIES

Discord:
Ed:
Facebook Group:
Faceboook Page:
GitHub:
Gitter:
Instagram:
LinkedIn Group:
LinkedIn Page:
Quora:
Slack:
Snapchat:
Twitter:
YouTube:

HOW TO FOLLOW DAVID J. MALAN

Facebook:
GitHub:
Instagram:
LinkedIn:
Quora:
Twitter:

***

CS50 SHOP

***

LICENSE

CC BY-NC-SA 4.0
Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International Public License

David J. Malan

malan@harvard.edu

Nguồn: https://ganeshotsavam.org

Xem thêm bài viết khác: https://ganeshotsavam.org/game/

All Comments

  • where's the code?

    Shamir George July 31, 2020 11:37 am Reply
  • Hello I am doing the assignment0 for pong and I am getting confused

    Marcos 21 July 31, 2020 11:37 am Reply
  • Awesome Lecture With Awesome Explanation.

    DabOnTheTop July 31, 2020 11:37 am Reply
  • I got this error, I copied the code for te file push.lua on github and an error comes to that copied code on line 48 Error push.lua:48 : bad argument # 2 to 'windowUpdateMode'(number expected, got table)
    its expecting a number but ind founds a table, so I don´t know how to resolve that bc i basicaally imported that code and I didn't move or add anything

    CHAMPIHER COC July 31, 2020 11:37 am Reply
  • This is my Code in C++: https://github.com/idreesshaikh/PONG-GAME
    It will help you a lot to make this game from scratch.

    Idris July 31, 2020 11:37 am Reply
  • Hi can anyone help me in the ball update i understood everything in that besides the math.random(2)==1and 100 or -100 i know its a conditional operator and all but what the heck are these 1,100 and -100 and how does nos will be generated plz plz explain somebody fast as im working on this right now

    KAn Sh July 31, 2020 11:37 am Reply
  • give love2d link in description please sir

    p.f.k king July 31, 2020 11:37 am Reply
  • Current spot I’m at: 55:50

    Ender1645 July 31, 2020 11:37 am Reply
  • Are you ace colton??

    rahul 25 July 31, 2020 11:37 am Reply
  • I enrolled in the course a few days ago, but when I downloaded Love2D, a balloon came floating and 'No Games' was written. Even when I opened the Source Code files, it was written that it was a program error, and closing the application entirely. I have tried re-installing around 15 times (not exaggerating), and it's the same case every time. What should I do?

    Namit Chaturvedi July 31, 2020 11:37 am Reply
  • Please Do Dubbed in All Languages It's Work for Good for All ! Thank you So much For Good videos

    100haib July 31, 2020 11:37 am Reply
  • Is there any pre-requisites before starting this course???

    M. Mohsin Raza July 31, 2020 11:37 am Reply
  • Error
    boot.lua:577: Cannot load game at path 'C:/Users/Jericho/Desktop/New folder (3)/man.lua'.
    Make sure a folder exists at the specified path.

    Traceback
    [C]: in function 'error'
    [C]: in function 'xpcall'
    [C]: in function 'xpcall'

    help

    Devil Hunter Dante July 31, 2020 11:37 am Reply
  • Please explain push.lua directory

    Aloka Manodya July 31, 2020 11:37 am Reply
  • How do I run the zip files? I’m on windows and whenever I try “cd assignment0” it doesn’t work and it just says “the system cannot find the path specified”

    My Dog July 31, 2020 11:37 am Reply
  • Where do i write the code

    Aryan Patel July 31, 2020 11:37 am Reply
  • i understood nothing

    lullabies July 31, 2020 11:37 am Reply
  • How do I move to another directory and then change the current directory? And how do I get the current directory changed and run "cd assignment0"?

    Olu Abejide July 31, 2020 11:37 am Reply
  • keep getting this error at pong-1. not sure why! please help if you know!
    Error: push.lua:101: attempt to call field 'getPixelScale' (a nil value)
    stack traceback:
    [string "boot.lua"]:777: in function 'getPixelScale'
    push.lua:101: in function 'initValues'
    push.lua:48: in function 'setupScreen'
    main.lua:47: in function 'load'
    [string "boot.lua"]:586: in function <[string "boot.lua"]:585>
    [C]: in function 'xpcall'
    [string "boot.lua"]:793: in function <[string "boot.lua"]:780>
    [C]: in function 'xpcall'

    minecrafter69 July 31, 2020 11:37 am Reply
  • I am using windows 10 but I can't be able to compile and run the day 2 update in my PC please help me with this
    …………..

    Molleti Tarkik Sai July 31, 2020 11:37 am Reply
  • Had to go through the lecture twice to get it right, and making notes. Some losers here can't realize the point of the lecture, which as explicitly stated is game programming. Very thorough and nice, I loved it. Phew… still working on the first assignment, have a week though. Unlike people in the comments I see Mr. Ogden as a teacher and respect him.

    Encode Decode July 31, 2020 11:37 am Reply
  • After adding different classes like Paddle an Ball i got an error related to those class.
    plz help me to solve this error,
    Error: main.lua:29: attempt to call global 'Paddle' (a boolean value)

    Kelis Vipulbhaisuthar July 31, 2020 11:37 am Reply
  • Where is he coding
    Is it sublime

    Gautam Bhatia July 31, 2020 11:37 am Reply
  • From where i can get the source code?

    Kirti Kedia July 31, 2020 11:37 am Reply
  • Error

    push.lua:222: attempt to perform arithmetic on local 'w' (a nil value)

    Traceback

    push.lua:222: in function 'resize'

    main.lua:42: in function <main.lua:41>

    [C]: in function 'xpcall'

    I cannot resize the application in pong-12 because of push.lua. What changes are needed to be made? Please help

    Jonathan George July 31, 2020 11:37 am Reply
  • Can someone help me please I have a problem starting assignment0 on Windows 10?

    Mos _vlogs July 31, 2020 11:37 am Reply
  • push library isnt working for me. so i just did everything wiithout it but then i m facing issues as i cant resize my window properly. can anyone help?

    Raahil Badiani July 31, 2020 11:37 am Reply
  • sir kindly share the code

    soha ghori July 31, 2020 11:37 am Reply
  • I have a doubt. What if while we try to detect collision the ball is fast enough to never collide and get past our paddle within less than 1 single frame?

    Raahil Badiani July 31, 2020 11:37 am Reply
  • i am getting Error

    TrueType Font loading error: FT_Set_Pixel_Sizes failed: 0x17 (invalid size?)

    Traceback

    [C]: at 0x7ff96c2dca30

    [C]: in function 'newFont'

    main.lua:13: in main chunk

    [C]: in function 'require'

    [C]: in function 'xpcall'

    [C]: in function 'xpcall'

    when i try to change the font . please help!!

    Shikhar Gautam July 31, 2020 11:37 am Reply
  • I am getting Error

    Ball.lua:13: attempt to compare number with nil

    Traceback

    Ball.lua:13: in function 'collision'

    main.lua:47: in function 'update'

    [C]: in function 'xpcall'
    can anyone explain me why am i getting this error??

    Shikhar Gautam July 31, 2020 11:37 am Reply
  • can anyone tell how to use love.graphics.setColour(r,g,b,a) to set colour to white

    Shikhar Gautam July 31, 2020 11:37 am Reply
  • It is so confusing to program with love 2d what other software should we use to program love 2d with. When I click on Love.exe
    all I find in the screen is "NO GAME" beside it I find a blank black screen which cannot type on. What should I do? I'm just a beginner

    Menuka Francisco July 31, 2020 11:37 am Reply
  • I took CS50's Introduction to Game Development via EDX, but I had a bad experience.

    Pricing Structure problems:

    Before I started the course, I paid the $150 for a certificate because I wanted to get certified. I found out later that if I rejected the certificate offer, the very next page would offer me the certificate 10% CHEAPER. Seems like a punishment for people who pay right away, which seems like a very opposite reward.

    Work submission problems:

    – During the course, ALL submissions were ONLY accepted via github. The software they provide you to aide in this ONLY works with Linux or on a MAC. I had to spent a full working day to learn github just to submit my work to them. This was not mentioned prior to taking the course.

    – When I submit my work, if there is a problem, I cannot make edits, I have to re-submit the entire form all over again. If there is a further problem, again, I have to write everything out again. No edit button?

    – Part of the requirement of work submission involves making a screen cast of 5 minutes demoing your software. I had to spend another day learning and installing OBS. I also had to buy a microphone. None of these requirements were mentioned prior to taking the course.

    – I took one assignment per week. However, work is graded in batches once every, say, 2-4 weeks. It's random. So I submitted 4 assignments by the time it took them to grade all 4. ALL FOUR had problems, which meant I had to fill out the form FOUR TIMES to correct the mistakes again.

    – For the 5 minute demo video, well, I wanted to show my YouTube subs my software, so I made a 10 minute video. I clearly stated at the start of the video and in the submission ("Just watch the first 5 minutes, the first 5 minutes cover everything you ask for"). They reject my submission because "Specification imposes a 5-minute limit length on videos.". This is just laziness!

    I wouldn't recommend this course or body to anybody. Sorry. It's good for free learning, but when you pay, it kinda sucks.

    TutorialGenius.com July 31, 2020 11:37 am Reply
  • Pong 2 not working, please help!

    Jonathan George July 31, 2020 11:37 am Reply
  • for this game development do our pc recommend any specs

    Naqah Vlogs July 31, 2020 11:37 am Reply
  • hi , I am facing a problem with the push library while programming , it gives me this error
    Error

    push.lua:101: attempt to call field 'getPixelScale' (a nil value)

    Traceback

    push.lua:101: in function 'initValues'
    push.lua:48: in function 'setupScreen'
    main.lua:49: in function 'load'
    [C]: in function 'xpcall'
    [C]: in function 'xpcall'

    , I tried to change the function getPixelScale() to getDPIScale() in the push ,as per the suggestions of others on the net that've faced similar issue , it worked in pong1 after some tweaks but it did not work when running pong2

    abdulaziz al-mugait July 31, 2020 11:37 am Reply
  • hello, this error is making me cry hahaha "attempt to index global 'player2' (a nil value)" anyone knows how to solve it?

    Gabbbs July 31, 2020 11:37 am Reply
  • How To Make A AI Paddle?

    DabOnTheTop July 31, 2020 11:37 am Reply
  • how do you the terminal

    Demilade Adeisrael July 31, 2020 11:37 am Reply
  • I have a doubt about the push file…didn't really get what it's use is and what is inside push file…..
    Great video..thanks!!

    Madhur Manekar July 31, 2020 11:37 am Reply
  • My ball always has a very high y coordinate such that it takes a reeaally long time to reach the paddles…..any solution to that?

    RAPS_ RULES!!!! July 31, 2020 11:37 am Reply
  • The ball in my code goes randomly up and down, and not left or right. What am I doing wrong? I downloaded the code from github. Also, I have a newer version of Love.

    Leonard Posa July 31, 2020 11:37 am Reply
  • can anyone plz help me with the love2d version 11.3 ….. actually i have installed it in my pc bt don't know how to make it work

    Anamika Maurya July 31, 2020 11:37 am Reply
  • My push function isn't working

    RAPS_ RULES!!!! July 31, 2020 11:37 am Reply
  • Im getting an error of this sort
    Error

    Syntax error: main.lua:8: '}' expected (to close '{' at line 5) near 'vsync'

    Traceback

    [C]: at 0x07fed5d628f0
    [C]: in function 'require'
    [C]: in function 'xpcall'
    [C]: in function 'xpcall'

    Neil Joseph July 31, 2020 11:37 am Reply

Leave a Reply

Your email address will not be published. Required fields are marked *