Lua Scripting: Master complete Lua Programming from scratch
Welcome to our complete Lua scripting course. This course will teach you everything you need to know about the Lua scripting language. We will start from scratch, installing Lua in your platform (Windows, macOS, or Linux), and progress to learn the main aspects of the Lua language. I will use Linux during the videos, but you can easily follow along with any other OS. If by any chance you cannot or do not want to install Lua in your machine, you can simply use the Replit website which allows you to run your Lua scripts inside your web browser.
More
This course is divided into three main parts:
The first part is where we will cover the basics of the Lua language. We will learn the fundamentals of programming with Lua using variables, expressions, conditional statements, loops, functions, metatables, and other important commands and modules from the Lua language. This part covers Lua from the beginning to an advanced level, and it is a super course even if you never programmed before.
The second part of the course is aimed at programmers that want to learn how to embed Lua within the C programming language. You'll learn how to embed and expose scripting capabilities to your C code and create a project that controls the movement of a player in C using Lua. If you don't want or don't care about integrating Lua with C, you are welcome to skip this section of the course, but this integration with C is one of the most powerful aspects of the Lua language and it is extremely important for professional programmers that want to take their Lua skills beyond the basics.
The third part of the course is a set of short bonus lectures that cover the basics of using Lua with Roblox Studio. Roblox is a popular game engine that uses Lua to script game logic and aspects of the game scene. We will learn how to use everything we learned to understand how Lua is used by Roblox and also understand the basics of the Roblox Studio interface.
This course is a super complete package about one of the world's favorite scripting languages. You will benefit from it if you are a beginner or if you are a seasoned developer that wants to discover the power of the Lua language.
Be aware: This is not a course about Roblox! This is a course about the Lua programming language, and the final bonus lectures are a basic overview on how Lua is used by Roblox developers.
Watch Online Lua Scripting: Master complete Lua Programming from scratch
# | Title | Duration |
---|---|---|
1 | Introduction and Motivations | 03:14 |
2 | A Message for Roblox Users | 01:40 |
3 | History and Language Evolution | 28:16 |
4 | Using Lua with REPL | 03:31 |
5 | Installing Lua on Linux | 02:03 |
6 | Installing Lua on MacOS | 01:04 |
7 | Installing Lua on Windows | 11:30 |
8 | Our First Lua Script | 09:06 |
9 | Variables | 16:36 |
10 | Older Lua Versions and REPL | 05:27 |
11 | Proposed Activity: Variables | 02:10 |
12 | Variables Activity Solution | 04:16 |
13 | Incrementing and Decrementing Variables | 06:54 |
14 | Conditionals | 09:18 |
15 | Elseif | 11:26 |
16 | Proposed Activity: Conditional Statements | 04:14 |
17 | Conditionals Activity Solution | 10:26 |
18 | Logical Operators | 06:09 |
19 | String Manipulation | 19:14 |
20 | Multi-line Strings | 04:38 |
21 | Multiple Assignment | 03:36 |
22 | Standard Library Modules | 10:18 |
23 | The For Loop | 06:17 |
24 | The While Loop | 10:59 |
25 | Loop Options | 02:32 |
26 | Variable Scope | 04:02 |
27 | Local Scope and Lua Chunks | 02:38 |
28 | Syntax & Semantic Errors | 04:14 |
29 | Solving Logical Mistakes | 02:50 |
30 | Input Values from the Keyboard | 13:25 |
31 | Handling Input Options | 05:44 |
32 | Finding Distance Between Points | 09:59 |
33 | Finding Angle Between Points | 12:00 |
34 | Loop Activity Example | 05:54 |
35 | Loop Activity Solution | 08:36 |
36 | An Introduction to Functions | 14:14 |
37 | Tables in Lua | 22:16 |
38 | Tables Example | 08:04 |
39 | Proposed Activity: Reading Table Entries | 06:53 |
40 | Table Activity Solution | 09:27 |
41 | Tables as Configuration Files | 04:40 |
42 | Tables as Matrices | 05:45 |
43 | Proposed Formative Project | 16:20 |
44 | Moving Forward | 02:09 |
45 | Metatables | 19:57 |
46 | Object-Oriented Programming in Lua | 21:52 |
47 | Creating Classes and Objects | 13:35 |
48 | Higher-Order Functions and Closures | 07:14 |
49 | Variadic Functions | 07:04 |
50 | Working with Lua and C | 02:16 |
51 | C Project Folder Structure | 12:50 |
52 | Executing Lua File From C | 19:48 |
53 | Get Lua Global Values in C | 12:02 |
54 | The Stack | 05:52 |
55 | Push Pop and Peak | 01:55 |
56 | Calling Lua Functions From C | 12:21 |
57 | Checking and Handling Script Errors | 05:10 |
58 | Calling C Functions in Lua | 17:44 |
59 | Userdata | 05:32 |
60 | Sending and Receiving Userdata | 14:34 |
61 | Reading Lua Tables in C | 06:03 |
62 | Installing SDL | 07:38 |
63 | Creating a SDL Window | 13:59 |
64 | The Game Loop | 14:26 |
65 | SDL Rendering | 11:22 |
66 | Fixing Our Game Loop Timestep | 13:55 |
67 | Delta Time | 05:49 |
68 | Controlling the Player Movement with Lua | 26:01 |
69 | Final Considerations on Integrating Lua and C | 06:20 |
70 | Next Steps | 04:15 |
71 | Intro to Roblox and Roblox Studio | 02:25 |
72 | Installing and Accessing Roblox Studio | 05:45 |
73 | Roblox Parts and Properties | 12:15 |
74 | Roblox Vectors and Colors | 11:02 |
75 | Roblox Object Instance | 06:08 |
76 | Proposed Activity: Sun and Moon System Hour | 05:48 |
77 | Sun and Moon Activity Solution | 09:43 |
78 | Roblox Loops and the Wait Function | 07:22 |
79 | Roblox Loops and Conditionals | 09:02 |
80 | Roblox Events | 10:25 |
81 | Roblox Humanoid Properties | 16:44 |
82 | Roblox Players and Characters | 10:00 |
83 | Roblox Models and Assets | 06:48 |
84 | Roblox Terrain Editor | 03:59 |
85 | Roblox Day-Night Lighting & ClockTime | 09:19 |
86 | Roblox Leaderboard | 08:46 |
87 | Roblox Debugging and Code Inspection | 02:53 |
88 | Roblox CFrame | 07:47 |
89 | Roblox Following Parts | 11:03 |
90 | Roblox Conclusion and Getting Help | 05:14 |
91 | Compiling Lua 5.4 on Linux | 08:08 |
92 | Congratulations & Other Courses | 00:37 |