Lua is a lightweight, simple, and easy-to-learn, and flexible programming language used to accomplish scripting in Core.
Here’s a little bullet list to outline some of its benefits:
- It’s extremely memory-efficient.
- It is open source.
- It is very simple to incorporate Lua into a C++ game.
- Allows you to test changes, not just without "compiling", but live in the game. Depending on how your game is built, you have the ability to run a command that will restart the game with new scripts without having to stop/reload data and so forth. Not only do you not have to recompile, but you also don't have to re-run.
- It has a reduced API and lower learning curve. Non-technical artists and designers can join in on some tasks that would be typically programmer-bottlenecked.
- Its syntax is great and familiar - you'd be hard pressed as a C programmer not to be comfortable in a jiff.
- You can set up a safe execution environment using techniques from Sandboxing
For an intro to Lua as well as more advanced uses, please check out our Basics of Scripting in Core.
Here are additional resources for you to learn all about Lua
Programming Crash Course - Beginner to Advanced
For additional help and support with Lua from other creators and the community, you can join our Discord.