Modal Title
Frontend Development / Software Development

How Roblox Makes Programming Beginner Friendly with Luau

Since Roblox is marketed towards kids, it’s naturally assumed that its programming language Luau is easy to learn. But is it?
Mar 8th, 2022 6:00am by
Featued image for: How Roblox Makes Programming Beginner Friendly with Luau
Featured image via Roblox.com.

The mega-popular online gaming platform Roblox, together with its game creation system Roblox Studio, has been used by children and people of all ages since 2006. Roblox Studio is made possible by a modified version of Lua, the lightweight multi-paradigm programming language commonly used by beginners. Lua was designed mainly for embedding in other applications, making it a good choice for gamers to learn scripting — compared to JavaScript, which is widely used but better utilized for web development.

Roblox began by using Lua 5.1 in its platform, to enable players to be able to develop and share their own games in a safe environment. But as Roblox’s internal codebase grew and its users’ needs became more sophisticated, the company decided to give Lua an upgrade. Instead of rewriting and changing the main language, Roblox debuted a successor: Luau. In November 2021, Roblox chose to open source Luau in order to promote collaboration and encourage other communities to participate.

Since Roblox is marketed towards kids, it’s naturally assumed that its programming language Luau is easy to learn. However, what’s easy for one person may be surprisingly tricky for the next. For those who are just starting to get their feet wet with programming, is Luau a good choice? Genevieve Johnson, a senior instructional designer at Roblox, gave The New Stack some insight into Roblox’s educational gaming style.

Lua Compared to Python

“Roblox Studio and Lua is a great base language for students new to coding or looking for a bigger challenge than visual coding environments such as MIT Scratch,” said Johnson. “Lua is very similar to Python, it’s really lightweight and really readable, but Lua is even more forgiving than Python. White space, or indentation, is often the bane of new coders. One indent wrong in Python and your script doesn’t run. With Lua, you still always want to use good organization with your code, but you’re not punished for just missing an indent.”

Roblox started off with Lua 5.1 for good reason. It’s forgiving, simple, and straight forward. But what about Luau?

“For beginner programmers, learning Luau-the-language is easy,” said Johnson. “We have small quality of life extensions to Lua 5.1, but the experience overall is similar. The bigger difference comes for programmers that already learned the language. For more experienced coders, Luau provides extra features to make it easier to write correct code.”

“That said,” she continued, “one big factor that makes it easier for beginners and experienced coders alike is that we have rich tooling that automatically flags common errors as you write your code. This is integrated into Roblox Studio, but can also be integrated in other editors. So even if the language is easy to learn, having a great integrated environment that helps you write correct code makes it easier.”

Roblox Studio; via Roblox devforum

How Roblox’s Luau Differs from Its Competitors

One product easily comparable to Roblox is Minecraft, another multiplayer game-building platform that allows players to script their games. Using JavaScript, the Minecraft Script Engine lets users modify the inner workings of their games.

The key difference between scripting in Roblox and Minecraft is the way both games are constructed. With Roblox, you can share your creations and access other players’ games. Minecraft is more of a solo play master game, in which you can script mods that add more dimensions to the playing environment.

Even though Minecraft seems simpler, Roblox is still widely praised as the easiest game for beginners to learn coding on. Lua is considerably easier to learn than JavaScript, and Roblox’s community-based gaming platform gives players the chance to learn from other creators.

Learn While You Play

Not only is creating and sharing games fun for beginners, it helps them learn too. Roblox’s commitment to teaching kids and novices to learn to code should come as no surprise, seeing as its founder Dave Baszucki once had an educational coding platform business geared towards children called Knowledge Revolution. Knowledge Revolution was acquired by MSC Software in 1998, but that was just the beginning for Baszucki, known as “builderman” by Roblox users.

“Roblox is on a mission to support 100 million students learning on our platform by 2030.”

-Genevieve Johnson, Senior Instructional Designer, Roblox

In 2006, Roblox was born. There have been countless studies on how important it is for children to learn through play, and it’s safe to say that adults can benefit from the same learning model.

On the topic of teaching through entertainment, Genevieve Johnson told us that this has always been a primary goal for Roblox. “Roblox is on a mission to support 100 million students learning on our platform by 2030,” she said. She also had a few thoughts about why Roblox is so beneficial for kids learning to code.

“I really think it’s the visual cause and effect of getting to see a still, lifeless world instantly come to life through code. With just a few lines of code, a boring gray part becomes a confetti bomb, or a button that can call an elevator, or a jump pad. These are the sorts of things that let beginners see that coding can be an outlet for their creativity and an activity that inspires experimentation.”

Johnson added that with Roblox Studio, “anyone can jump in and start creating, and you can invite your friends to join you in a collaborative real-time environment.”

It’s no surprise that Roblox is loved by beginners learning to code. After all, it’s much easier to retain information when you’re actively engaged. Furthermore, when it comes to coding, you can never start too early. A whopping 77% of American parents wish they learned to code while they were still in school.

Lua is commonly regarded as the perfect programming language for kids, simplistic and still powerful. Roblox’s Luau is simply a continuation of an already beginner-friendly and easy-to-use scripting language, with even more security and sophistication.

Group Created with Sketch.
THE NEW STACK UPDATE A newsletter digest of the week’s most important stories & analyses.
TNS owner Insight Partners is an investor in: turing.