Code Your First Game: Arcade Classic in JavaScript on Canvas (Udemy.com)
Program a complete game today. No special software or install required. All you need is a text editor and a web browser.
Created by: Chris DeLeon
Last updated July 2020
Our take
Based on the ratings of 29,153 students, a sample of their written reviews and the syllabus, as the course stood in July 2020. No course pays to be reviewed.
A free, two-hour project course where you build a ball-and-paddle arcade classic in plain JavaScript on an HTML5 canvas, with nothing to install beyond a text editor and a browser. It's 12 lectures in three sections: setup and essential concepts, then the core gameplay, then a polish pass. Chris DeLeon, who has taught game development at Georgia Tech, pitches it at people who want to see a working game fast rather than study JavaScript for the web. Over 400,000 students have enrolled and it holds a 4.4 from about 29,000 reviews.
Reviewers like how clearly each step is explained, and the course page says source code is attached to every step so nobody gets stuck. A couple say it brought back memories of coding on old home computers, which is rather the point. The complaints are consistent. Some students found the pace too quick and wanted more detail on the concepts. One reviewer with an IT background says it is not really for beginners and had to search the web to get past some parts. Non-native speakers mention there is no translation, and one reviewer says the auto-generated subtitles get things wrong. And one reviewer notes the Notepad workflow feels very old.
The last update was in 2020 and the material was first published in 2015, but a ball-and-paddle game in vanilla JavaScript doesn't really age. Next to the big web development bootcamps it sits beside, this is a different animal: no web page design, no frameworks, no certificate, just one game in an afternoon. Treat it as a free taster for game programming logic, not a JavaScript course. If that's what you want, it is hard to argue with the price.
Pros
- Free and only 2.2 hours, so it is a low-risk first project
- Source code attached to every lecture so students can compare or catch up
- Nothing to install: a plain text editor and a browser are enough
- Covers collisions, mouse input, simple AI and a win condition in one small game
Cons
- Last updated in 2020 and one reviewer says the Notepad workflow feels very old
- Some students found the pace too fast and one says parts were confusing enough to need a web search
- Only auto-generated captions, which one reviewer says get things wrong; no translations either
Great course, and takes me back to my ZX Spectrum game programming days..... except without the tape deck!
Fine for true beginners, but a little prior exposure to variables and functions makes the pace much easier to follow.
What you will learn
- Display, position, and move filled shapes for retro and prototype gameplay
- Move a ball around your game space such that it bounces off boundaries
- Handle real-time mouse input
- Detect and respond to simple collisions
- Program very basic artificial intelligence
- Keep and display score during play
- Understand the subtle, key difference between a classic game in this style which is fun to play versus one that isn't
- Define and code a win condition and end state for your game
Course content
3 sections · 12 lectures · 2.2 hours of video
- 1Setting Up the Code and Learning Essential Concepts 1 free preview4 lectures · 48 min
- 2Getting the Core Gameplay Working5 lectures · 54 min
- 3Polishing Details for a Better Experience3 lectures · 28 min
Who it is for
The instructor says it suits
- This is for anyone who wants a quick but thorough introduction to simple game programming in a way that doesn't require any special software, download, or installation
- If you've had at least a little exposure to generic programming concepts like variables, functions, and if-statements you'll have an advantage, however in case you've never heard those terms they're explained briefly as they come up
- Although this a uses JavaScript and HTML5, it is not intended for someone who is focused on learning HTML5/JS for web page design
What you need before you start
- Very early on students will need to show file extensions in their operating system (explained briefly in the video)
- If a plain text editor is available that has programming features like line numbers and auto-indent (ex. Notepad++ on PC, TextWrangler on Mac) that may be handy but is not necessary, as a generic text editor like Notepad or TextEdit will work fine for a program of this size
Quality Score
No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.
Overall Score : 88 / 100
Course Description
At the end of this short course you'll have programmed your first game. You'll learn gameplay development fundamentals by really doing it – writing and running real code on your own machine.
Each step of the course has the source code attached exactly as it should look at that time (click "View Resources" then "Downloadable Resources"), for you to compare to or pick up from, so you can't get stuck!
Begin Your Game Programming Journey the Proven Way
"Make the simplest game possible." "Program a ball and paddle project." "Practice by first remaking something from the 1970's." All beginning developers hear this advice from more experienced peers... because it works!
By following this approach you will:
- Learn design from a fun classic that people know and enjoy.
- Start your practice today – now! – without waiting for an idea.
- Finish your game in hours or in a weekend, not over months.
- Understand every line of code used in the entire program.
- Avoid distraction from searching for or creating detailed art.
- Master fundamentals needed to make your own games better.
You can program this game with a normal text editor, and run it in the web browser you already have. No special software is needed.
Though you'll be coding in JavaScript for HTML5 canvas in this course, the focus is on common game programming concepts. You can later apply these same patterns to get quick results in other programming languages such as C#, Java, ActionScript 3, C++, or Python.
I'm a private game development trainer, and for clients new to gameplay programming this is exactly the material that I cover to get them started quickly. Within hours you will have finished programming your first project. This is the fastest way to get results. The momentum gained from doing this provides a solid foundation to give more advanced concepts meaning and context as you continue on in your journey of learning game development.
(HTML5 Logo in the course image is by W3C, licensed under Creative Commons Attribution 3.0 Unported.)
Instructor Details
- 4.4 Rating
29,153 Reviews
Chris DeLeon
Chris has been making games for 28 years. He's worked with startups and AAA games, taught game creation at Georgia Tech and Northeastern University, and spoken at more than 10 conferences (including GDC, IndieCade, and SIEGE). Over 350,000 students have taken his online courses, and he's made hundreds of videos and 150 podcast industry interviews to help people discover game development. Today he runs Dev Pods (called HomeTeam GameDev until summer 2025), where people around the world learn game development together in a practical way building long-term remote team projects, with included access to 1-on-1 training and year-round practice.
More courses by Chris DeLeon
How to Program Games: Tile Classics in JS for HTML5 Canvas (2026)
4.5 (2,028 Reviews)
Provider: Udemy
Time: 14.3h
$109.99
More JavaScript courses
The Modern Javascript Bootcamp Course (2026)
4.9 (13,235 Reviews)
Provider: Udemy
Time: 51.9h
$159.99
Reviews
By DIKSHA SHARMA CSE AIML 041 on 9/3/2026
Amazing explanation! easy peasy to understand, fun to code. Thank you, Teacher! I am really enjoying it all.
By Jem Amber Stone on 7/14/2026
It's not exactly for beginners. I'm fairly good at software/word docs etc. and making/opening files, computer settings (I have a cert IV information technology years ago and I did Linux) but there were parts of this course I found very confusing and had to google search how to do. The instructor is obviously very good but he needs to really simplify concepts.
By Sajida Younus on 6/14/2026
I m trying to learn coding for games for first time ..its a good experience .. reminds me of coding i did in grdae 9th.
By Chandrika B on 5/15/2026
My experience with this course was very positive. The lessons were clear and beginner-friendly, especially for someone new to programming and game development. The instructor explained concepts step by step, which made it easier to understand how games are built from scratch. I liked the practical approach, where I could see real results while learning. It helped me build confidence in coding basics and problem-solving. Overall, it was a good starting point for learning game development, and I feel more motivated to continue learning advanced topics
By Patrick Milad Mokhtar on 3/29/2026
Its decent so far, Just very very very VERY old and i believe there are more convenient tools to use nowadays other than a notepad but its great knowledge still
By Aarit Jain on 3/12/2026
boring; I almost lost interest. Make it more interesting next time.
By Alexandre Araújo on 2/25/2026
Really good course! The only problem is the lack of subtitles, as the "auto subtitles" keeps getting some things wrong.
By Anuj Sharma on 1/1/2026
Sir, I Ioved the way you explained me what is Html and Javascript and you show me a program how to print Hello World! using Html and Javascript it was amazing experience for me coding. Sir, I floved this session about circle Draw details you have shown the ball example so perfectly thank you sir. I love this course.
By Aiden Bolden on 11/20/2025
I'm having fun, and I enjoy how educational this course is, it makes me want to learn more coding in the future as well as what I'm currently learning now!
By KINO on 10/25/2025
全ての講義は英語で行われますが、都度戻ったり、字幕を確認したりできるので根気があれば必ず修了できると思います。(自分は一晩では終わらず、2晩かかりました、英語力がある人はもっと早くできるはず。)順を追って作成し、理由も説明(図解も!)されているので分かりやすかったです。あとは単純に楽しい!





