This course includes

  • 11 hours on-demand video

  • Downloadable resources and exercises

  • Full lifetime access

  • Access on mobile and desktop

  • 14 day money back guarantee

  • Secure checkout through PayPal

Is this course for you?

This course expects no prior knowledge about coding or computer science. Lua is our favorite programming language to teach beginners to code, and even if you never wrote a single line of code before you'll learn the basics of scripting with Lua. If you are a seasoned developer and want to take your knowledge beyond the basics, this course also covers advanced aspects of the language, including how to integrate Lua with C projects.
Buy $11.99
Is this course for you?

What you'll learn

Course overview and structure

This is a complete course dedicated to Lua, one of the world's favorite scripting languages. Lua is a fast, simple, and easy to integrate language which makes is an excellent choice to extend applications and script games. This course is divided into three parts. The first part is a complete journey into the basics of the language where we'll look at variables, expressions, conditionals, loops, functions, tables, and other popular statements and modules of the Lua language. The second part is for intermediate programmers that want to take a deeper look on how to integrate Lua with the C language, so we'll put our C programmer's hat on to learn how we can embed Lua and use it to script our applications. And the third part is a set of bonus lectures that analyze how to use Lua with Roblox Studio and how to use Lua to develop simple Roblox games.
Buy $11.99
What you'll learn
Watch Intro Video

Motivations & Learning Outcomes

  • Activities and discussions

    Join our community and get the most of our discussion boards

  • Direct instructor contact

    Have direct contact with your instructor at any given time during and after you complete your course

  • Money back guarantee

    We offer a 14 day money back guarantee for all our courses. No questions asked.

Course Content

  • 1
    Motivations and Learning Outcomes
  • 2
    Installing and Using Lua
    • Using Lua with
    • Installing Lua
    • Picking a Code Editor
    • Using Visual Studio Code with Lua on Windows
  • 3
    Variables and Expressions
    • Our First Lua Script
    • Variables
    • Proposed Activity: Variables and Expressions
    • Variables Activity Walkthrough
    • Incrementing and Decrementing Values
    • Proposed Exercises: Variables and Expressions
  • 4
    Conditionals and Logical Operators
  • 5
    Strings and Standard Library Modules
    • String Manipulation
    • Multi-line Strings
    • Multiple Assignment
    • Popular Standard Library Modules
    • Proposed Activity: Strings and Standard Modules
  • 6
    Loops and Functions
    • The For Loop
    • The While Loop
    • Other Loop Options
    • Variable Scope
    • Menu Loop Example
    • Finding Distance and Angle Between Points
    • An Introduction to Lua Functions
    • Loop Activity Example
    • Loop Activity Walkthrough
    • Proposed Activity: Loops
  • 7
    • Lua Tables
    • Table Examples
    • Proposed Activity: Looping Table Entries
    • Tables as Configuration Files
    • Tables as Matrices
    • Formative Project: Tic-Tac-Toe
    • Formative Project: Code Download
  • 8
    Integrating Lua and C
    • Working with Lua and C
    • C Project Folder Structure
    • Executing Lua Scripts from C
    • Get Lua Global Values in C
    • The Stack
    • Calling Lua Functions from C
    • Checking for Script Errors
    • Calling C Functions in Lua
    • Userdata
    • Accessing Lua Tables in C
    • Installing SDL
    • Creating a SDL Window
    • The Game Loop
    • SDL Rendering
    • Fixing the Game Loop Timestep
    • Update as a Function of Delta Time
    • Controlling Movement with Lua
    • Source Code (Download)
    • Proposed Exercise: Function rect()
    • Final Considerations on Lua and C
  • 9
    Metatables and OOP in Lua
    • Metatables
    • Classes and Objects
  • 10
    More on Lua Functions
    • Higher-Order Functions and Closures
    • Variadic Functions
    • Coroutines
  • 11
    Conclusion and Next Steps
    • Next Steps
  • 12
    Bonus Lecture: Roblox Studio
  • 13
    Moving Forward
    • Similar Courses


  • Gustavo Pezzi

    Senior Lecturer

    Gustavo Pezzi

    Gustavo teaches computer science and mathematics at BPP University, London. He researches how teaching game programming can help enhance awareness and understanding of mathematics and physics. He is also a professional software engineer with more than 10 years of experience, with an industry background in 3D systems, games, web systems, databases, and data science. His academic path includes institutions such as Pittsburg State University, City University of London, and University of Oxford.