Why is Lua popular for game development and how do you use it?
There are so many programming languages used for game development. The most popular are C#, C++ and Lua. Lua is a high-level programming language used for scripting in games and other tasks. It is an interpreted language like Python; however, it is first compiled into binary code, which is then run on the Lua virtual machine.
In this tutorial, you will learn why Lua is popular for game development and why it is preferred over its alternatives – C# and C++.
What is Lua?
Lua is an extensible, fast, and high-level programming language. It consists of two parts – the functional software system and the Lua interpreter.
The functional software system is the actual computer application that can interpret programs written in Lua.
The Lua interpreter is the engine that interprets Lua code (readable by humans) and translates it into machine code (readable by computers).
The Lua interpreter is written in ANSI C, which allows Lua to run on various devices.
This tutorial will walk you through some popular game engines and frameworks and explain why Lua is the preferred language for these engines.
LÖVE is an awesome framework used to create 2D games in Lua. It is free, open source and works on various platforms such as Windows, Linux, Mac OS X, Android and even iOS. With LÖVE you can create 2D games from scratch, using sprites and write your game scripts using Lua. It is a great choice to learn LÖVE if you are a beginner.
Defold is described as a professional game development tool that lets you focus on what you do best: creating games. It can be used for games of all genres, and it has a large community. With Lua, you can script your Defold games and control them the way you want. Defold is a 2D game engine, so everything is pretty simple and unsophisticated.
Corona is a cross-platform 2D game engine that used to be commercial, but is now free. The game engine uses Lua, and it is very easy to write the game scripts.
With 43.2 million daily active users, Roblox is a professional platform used by both gamers and developers. It allows developers to make money on the platform by selling in-game assets, shirts and t-shirts, 3D models, and many more. In fact, Roblox has its own currency – Robux (R$). One Robux equals $0.0035.
Developers have access to Roblox Studio – the software where games are made. This studio includes an IDE where you can write Lua scripts for your games.
Why Lua is Popular for Game Development
There are dozens of game engines using Lua with many developers using the language in these game engines. This is why the Lua programming language is very commonly used in most game engines.
Lua is simple
Here’s a hard-to-believe fact – Lua is simpler than Python, and it has a very short learning curve. With its simplicity, all data structures are represented almost the same. It’s easy to write functions, conditional statements, loops and all. Thanks to its intuitiveness, you can guess almost any declaration, method or function that you can’t remember.
This feature of Lua makes it suitable for game development.
Light and fast
Although Lua is an interpreted language like Python, it is very fast and lightweight. In fact, it is one of the fastest interpreted programming languages, consuming little memory.
Lua is also used for embedded scripts. You can use Lua to embed an interpreter into a larger program in a different language. Lua also offers C APIs and this feature allows easy linking to C.
Moreover, you can embed Lua into other languages like C++, Java, etc., which means you can create editable programs with it.
Free and Open Source
Lua is free and open-source software. The source code is available and can be modified by any developer. Roblox uses a modified version of Lua, known as Luau (formerly RBX.lua), which is derived from Lua 5.1. 4; this would not have been possible if Lua was not open-source.
Hundreds of companies and game engines use Lua because of its relevance for game development. The growth of the Lua community is huge due to the many game engines using Lua. Help is available for almost everything, and you’ll never feel lost when using a Lua framework.
For example, Roblox as a company has its own educational services, where instructors can teach you how to use Roblox Studio to create anything you imagine, including how to code using Lua.
Lua for Windows (LfW)
Lua for Windows is a comprehensive package provided by Google that includes an IDE called SciTE containing a text editor where you can write and run Lua programs. It also has a shell where you can type and run Lua code in a single line. The cool thing about Lua for Windows is that it also includes a guide to the fundamentals of the Lua programming language, available through the shell.
You may also need to know that SciTE lets you write and run code in other programming languages such as C and C++, while the text editor lets you write code in Lua, VS, C++, Batch and pure Text (like Notepad).
Downloading and Installing Lua for Windows
As mentioned, Lua for Windows is provided by Google. If you want to download and install the package, make sure your computer has a good and stable internet connection. Follow the instructions below to download Lua for Windows 7 and later.
Visit the Lua for Windows Google Code page to view the home page; then click Downloads to display the download page.
Be sure to click on the LuaForWindows_v5.1.4-46.exe file size 25.06 MB to download the latest version of Lua for Windows (v5.1.4 at the time of this writing) then click on the downloaded file to open the setup wizard.
A window may appear, saying The publisher could not be verified. Are you sure you want to run the software? Ignore and click Course.
The Setup Wizard window appears, click Following. Read the agreement if you wish and check the radio button to accept the agreement, then click Following. (If you don’t accept the agreement, you won’t be able to continue.)
If your computer has enough storage space, leave the default path as C:Program FilesLua5.1. Continue by clicking Following.
On the Select components window, leave the selection as Complete installation.
Keep clicking Following without changing anything, until you get to the installation window.
Finally, click Install and wait for LfW to be installed on your computer.
When the installation is complete, you can open the SciTE IDE and open the Tongue menu to encode in Lua.
The best way to learn a programming language is to use its official documentation, and this is available for each language. The official Lua documentation also contains links to resources such as articles, Lua source code, FAQs, bugs, getting started with the language, and a collection of books; including books for popular Lua game engines.
Official Lua documentation is available if you want to learn the language.
Go ahead and make games with Lua
You are now ready to start developing games with Lua. Then you can learn LÖVE or Corona for 2D development and Roblox Studio and Lumberyard if you want to make 3D games.
8 Free Game Development Software Tools to Create Your Own Games
About the Author