8 Best Lua Courses to Take in 2023
Here are the best courses to learn Lua programming language. Learn how to create responsive 2D games from scratch and get started in game dev.
In this guide, you will find the best online courses, tutorials and resources to learn Lua, an easy-to-learn programming language popular among beginner and experienced game developers. Angry Birds, Roblox, Move or Die, and many more high-responsive games and applications were developed in Lua because of Lua’s speed and efficiency.
Here are my top picks. Click on one to skip to the course details:
Course | Workload | In Brief |
1. Full Lua Programming Crash Course – Beginner to Advanced (Steve’s teacher) | 4 hours long | Best free Lua course for beginners to programming |
2. CS50’s Introduction to Game Development (Harvard) | 72–108 hours long | Best university-level Lua course for programmers focusing on game development with a free certificate |
3. Lua Missions (Kikito) | N/A | Best free hands-on interactive Lua course |
4. Lua Crash Course – Less than 15 mins (PohkaDev) | 15 mins long | Best free Lua crash course for programmers |
5. Game Development with LÖVE 2D and Lua – Full Course (freeCodeCamp) | 11 hours long | Best free game development course with Lua for beginners to programming |
6. 2020 Beginner Roblox Scripting Tutorials (AlvinBlox) | 7 hours long | Best free Roblox scripting course for beginners to programming |
7. Lua (Exercism) | N/A | Best free course for practicing Lua programming with mentoring |
8. Lua Programming and Game Development with LÖVE (Udemy) | 8 hours long | Best comprehensive course on Lua programming and game design |
What is Lua?
Lua is a procedural programming language created by the Brazilian Tecgraf at the Pontifical Catholic University (PUC) of Rio de Janeiro. It was designed to be easy to learn, having only 21 reserved words, and only has one data structure called a table that can represent many other data structures. Lua is also extremely flexible, supporting multiple programming paradigms and can easily be embedded into systems and applications, like Roblox and World of Warcraft.
Lua is used to develop software, work with machine learning, and create all sorts of 2D games like Angry Birds and Move Or Die. With the LÖVE2D framework, programmers will find it a breeze to bring the game they’ve dreamed of making to life. And since Lua runs fast, you can expect your program to run smoothly without any stuttering.
Best Courses Guides Methodology
I built this ranking following the now tried-and-tested methodology used in previous Best Courses Guides (you can find them all here). It involves a three-step process:
- Research: I started by leveraging Class Central’s database with 100K online courses and 200K+ reviews. Then, I made a preliminary selection of Lua courses by rating, reviews, and bookmarks.
- Evaluate: I read through reviews on Class Central, Reddit, and course providers to understand what other learners thought about each course and combined it with my own experience as a learner.
- Select: Well-made courses were picked if they presented valuable and engaging content and they have to fit in a set of criteria and be ranked accordingly: comprehensive curriculum, affordability, release date, ratings and enrollments.
Course Ranking Statistics
Here are some aggregate stats about the ranking:
- 9 courses are free, 1 course is paid.
- 1 course provides a free certificate from Harvard.
- All courses are in English.
- All courses accrue 2,854,600 enrollments and YouTube views.
1. Full Lua Programming Crash Course – Beginner to Advanced (Steve’s teacher)
My number one course to learn Lua is Full Lua Programming Crash Course – Beginner to Advanced by Steve’s teacher.
This free introductory course is suitable for both beginners to programming and those who already know how to program, covering everything from scratch while also teaching advanced topics like object-oriented programming and co-routines. By the end of this course, you’ll be able to code anything in Lua with fluency.
No programming experience is required to take this course.
What You’ll Learn
After setting up Lua on your computer and installing Visual Studio Code, you’ll start with the fundamentals of programming. You’ll learn about how variables and data types work. These will help you understand how math and strings work in Lua. Then, you’ll learn about conditional statements starting with the if statement and get a taste of boolean algebra. You’ll also see how loops allow you to repeat blocks of code without needing to write them again.
Moving on, you’ll be introduced to data structures that hold ordered data. Luckily, Lua has only one data structure called a table, but you’ll see how versatile tables are (you can change their behavior with metamethods). Functions will also be covered and are handy for code reuse.
In the final chapters of the course, you’ll deal with more advanced topics like coroutines for running lines of code simultaneously, object-oriented programming principles for organizing code around objects, and modules for organizing code within files.
How You’ll Learn
This course is 4 hours long. You’ll learn by watching the lecture video and following along with Steve as he codes.
Provider | YouTube |
Instructor | Steve’s teacher |
Level | Beginner |
Workload | 4 hours total |
Views | 250K |
Likes | 5.3K |
Certificate | None |
Fun Facts
- Steve teaches a variety of topics on his YouTube Channel, ranging from Python, to Delphi, to C++, and even Japanese!
If you’re interested in this course, you can find more information about the course and how to enroll here.
2. CS50’s Introduction to Game Development (Harvard University)
My second pick for the best Lua course is Harvard’s CS50’s Introduction to Game Development.
Although this course with free certificate does not solely focus on Lua programming, it teaches everything you need to know and a bit more about Lua through game development. You’ll explore the design of childhood games like Mario, Zelda, and Portal to understand how video games are created. For the most part, you’ll develop 2D games in Lua using LÖVE2D and 3D games in C# using Unity.
To take this course, you should have taken CS50x or equivalent.
What You’ll Learn
The course opens with a case study on Pong, said to be the first arcade video game, and recreates it entirely in Lua and LÖVE2D. You’ll learn how to draw shapes and text onto the screen, along with basic object-oriented programming to keep track of scores and states of entities.
You’ll carry on your studies by taking a look at the once viral game Flappy Bird and its concept of infinite procedural generation. You’ll then strengthen your understanding of game management systems with Atari Breakout and Match 3 (think of Candy Crush style games), before moving on to classic retro games like Super Mario Bros., the Legend of Zelda, Angry Birds, and Pokémon. In the final quarter of the course, you’ll switch over to the Unity framework to develop 3D games like Helicopter Game 3D, Dreadhalls, and Portal with the C# language.
How You’ll Learn
This course is 72–108 hours long and consists of 12 chapters (8 using Lua). You’ll learn by watching the lecture videos, completing the coding projects, and receiving instant feedback on your code.
Institution | Harvard University |
Provider | edX |
Instructors | David J. Malan and Colton Ogden |
Level | Intermediate |
Workload | 72–108 hours total |
Enrollments | 540K |
Certificate | Free |
Fun Facts
- The course has 1.8K bookmarks on Class Central.
- CS50x is one of the oldest and most popular free computer science courses for absolute beginners.
- If you want, you can pay for a verified certificate of completion to show to potential employers.
If you’re interested in this course, you can find more information about the course and how to enroll here.
3. Lua Missions (Kikito)
My third pick for the best Lua course is Lua Missions by Kikito.
In this free interactive course, you’ll learn and practice Lua programming hands-on through test-driven development. You’ll complete the code in the files given so that the code runs successfully.
No programming experience is required to take this course.
What You’ll Learn
After getting Lua up and running, you’ll learn what assertion statements do and how to make them pass. Then, you’ll learn essential programming concepts like variables and their data types that represent numbers and strings, before moving on to control structures and functions.
Moving on, you’ll learn how to load data and files into your program, which will lead nicely with data structures like tables, metatables, and weak tables. Finally, you’ll end the course with coroutines that allow you to write multithreaded code and other advanced topics.
How You’ll Learn
The course consists of 17 lessons. You’ll learn by editing the code files and receiving immediate feedback from the program.
Provider | GitHub |
Instructor | Enrique García Cota |
Level | Beginner |
Workload | N/A |
Stars | 316 |
Certificate | None |
Fun Facts
- This course was inspired by another course called Ruby Koans.
If you’re interested in this course, you can find more information about the course and how to enroll here.
4. Lua Crash Course – Less than 15 mins (PohkaDev)
Lua Crash Course is a free course for those who already know how to code in another language. In just under 15 minutes, you’ll get a grasp of the basics of programming in the Lua language, syntactically and semantically.
What You’ll Learn
You’ll begin by printing the perennial programmatic phrase ‘Hello World!’. Then, you’ll see how comments, variables, conditional statements, loops, and functions are written in Lua. You’ll get an understanding of scopes and global variables to ensure that you don’t accidentally shadow terms. Lastly, you’ll take a look at data structures like tables and get a glimpse into Lua’s standard library.
How You’ll Learn
This course is 15 minutes long. You’ll learn by watching the YouTube video and carrying out the example code as demoed by the instructor.
Provider | YouTube |
Instructor | PohkaDev |
Level | Intermediate |
Workload | 15 minutes total |
Views | 78K |
Likes | 2.6K |
Certificate | None |
Fun Facts
- PohkaDev uses Lua to create custom games in Dota 2 and has created tutorials for people to follow along.
If you’re interested in this course, you can find more information about the course and how to enroll here.
5. Game Development with LÖVE 2D and Lua – Full Course (freeCodeCamp)
Game Development with LÖVE 2D and Lua introduces the Lua programming language with the end goal of making fun, immersive 2D games. In this free course, you’ll solely focus on coding in Lua. By the end of the course, you’ll have created two fully fleshed-out games: a save the ball game and an asteroid game.
No programming experience is required to take this course.
What You’ll Learn
First, the course walks you through installing and running Lua in VSCode. Then, you’ll learn the Lua programming basics like variables, data types, conditionals, loops, and functions. You’ll also review more advanced concepts like working with files, the table data structure, custom modules, and object-oriented programming principles.
With these tools in hand, you’re now ready to start developing your very first game. You’ll learn how to draw shapes and sprites to the screen as well as receive keyboard input. Then, you’ll create your first simple game where you have to save a ball from enemies, teaching the menu and point system. Finally, you’ll recreate the classic Asteroid game where you’ll learn how to manage game states, add background music and sound effects, and also have infinite levels.
How You’ll Learn
This course is 11 hours long. You’ll learn by watching the lecture video and following along with the instructor as he codes.
Institution | freeCodeCamp |
Provider | YouTube |
Instructor | Steve’s teacher |
Level | Beginner |
Workload | 11 hours total |
Views | 72K |
Likes | 2.2K |
Certificate | None |
Fun Facts
- This course recycles some video material from the first pick in this ranking for teaching the basics of Lua programming.
- If you are in need of inspiration, check out his work and projects on his GitHub profile.
If you’re interested in this course, you can find more information about the course and how to enroll here.
6. 2020 Beginner Roblox Scripting Tutorials (AlvinBlox)
If you want to learn Lua programming specifically to create your own games in Roblox, this free course is what you’re looking for.
2020 Beginner Roblox Scripting Tutorials playlist teaches you how to script on Roblox with Lua. You’ll learn about Roblox Studio, its special features, and all you need to know about Lua programming to create your very own Roblox experience.
No prior knowledge of programming is required to take this course.
What You’ll Learn
The course begins by walking you through Roblox Studio, the development program for creating Roblox experiences. Then, you’ll take a look at properties. Every object can have properties which affect how they look or behave. You’ll explore the many different properties and learn how to reference and change them. You’ll then create a dice game with your new-found scripting knowledge.
Next, you’ll take a deeper look at variables and learn how to instantiate objects with functions. You’ll become familiar with the built-in functions as well as know how to write your own functions with parameters and arguments. Not only that, but you’ll also learn about conditionals and loops to help you manage the flow of your program. Finally, you’ll learn about more advanced topics like tables that can function as different data structures, handling user interaction with events, and communicating with Roblox services within your game.
How You’ll Learn
This course is 7 hours long. You’ll learn by watching the lecture series and following along with the instructor as he codes in the course.
Provider | YouTube |
Instructor | AlvinBlox |
Level | Beginner |
Workload | 7 hours total |
Views | 1.9M |
Likes | 45K |
Certificate | None |
Fun Facts
- AlvinBlox has been creating Roblox gameplay and programming videos since 2016. He has made tutorials on advanced scripting and creating games. Check it out!
If you’re interested in this course, you can find more information about the course and how to enroll here.
7. Lua (Exercism)
If you have learned some Lua but don’t know what to do with it, Exercism provides you with lots of coding exercises to help you hone your programming skills.
The best feature about this online coding platform is that you’ll receive personal mentoring for free. You can request mentoring for a certain exercise and receive personalized feedback. Otherwise, you’ll get immediate automated feedback from the solution set.
Programmers of all levels of experience can join this platform, as exercises range from easy to challenging.
What You’ll Learn
This course offers exercises of three different difficulties: easy, medium, and hard.
Some easy exercises include outputting a nursery rhyme, calculating the Hamming difference between two strands of DNA, and determining if a triangle is equilateral, isosceles, or scalene.
Meanwhile, the medium exercises include coding a binary search tree, OCR numbers, and solving word search puzzles.
Some of the most challenging exercises available are solving alphametics puzzles, counting rectangles in an ASCII diagram, and implementing a basic reactive system.
How You’ll Learn
This course is self-paced, so you can take all the time you need to complete the 80+ hands-on programming exercises. Each exercise comes with automatic analysis of your code as well as an opportunity to request personal mentoring to help you better understand your code’s strengths and flaws.
Provider | Exercism |
Level | All |
Workload | N/A |
Enrollments | 6.6K |
Certificate | None |
Fun Facts
- Exercism provides exercises on 50+ programming languages like Python, Kotlin, F#, and WebAssembly.
- Their mission is to help everyone get really good at programming, regardless of their background, share the love of programming, and help people upskill as part of their upward social mobility.
- 32 people have contributed towards the Lua syllabus and exercises, with around 83 available at the time of writing.
If you’re interested in this course, you can find more information about the course and how to enroll here.
8. Lua Programming and Game Development with LÖVE (Udemy)
This paid course is the most comprehensive course on Lua game development with LÖVE. Not only does it teach you how to program for PC, but it also teaches web and mobile game development!
By the end of Lua Programming and Game Development with LÖVE, you’ll have the knowledge and skills necessary to be able to develop games in Lua with LÖVE2D.
No knowledge of programming is required to take this course whatsoever, but if you already have some background in programming, there’s a syntax recap to quickly get you up to speed with the language.
What You’ll Learn
The course begins by discussing the basics of programming that can be found in every language, like variables, conditional statements, loops, functions, and scopes. You’ll also discuss some Lua specialities, like the table data structure that can be used to represent other data structures like dictionaries.
Once you’ve got the basics down, you’ll get to work on studying video game development concepts like making a playable character, getting input from keyboard and mouse, drawing graphics to screen, implementing game logic, game physics, and more. You’ll develop three games of different genres to put your knowledge to use: a shooting gallery, a top-down shooter, and a platformer. The last few chapters in the course covers web and mobile game development.
How You’ll Learn
This course is 8 hours long. You’ll learn by watching the lecture videos and following along with the instructor as he codes.
Provider | Udemy |
Instructor | Kyle Schaub |
Level | Beginner |
Workload | 8 hours total |
Enrollments | 8K |
Rating | 4.7 / 5.0 (2.2K) |
Certificate | Paid |
Fun Facts
- Kyle Schaub is a full-time software engineer in the cloud computing industry with a Bachelor’s in Computer Science.
If you’re interested in this course, you can find more information about the course and how to enroll here.
