Get all your news in one place.
100’s of premium titles.
One app.
Start reading
Creative Bloq
Creative Bloq
Technology
Lewis Packwood

“It's staggeringly simple” – this coding tool is ideal for artists looking to break into game development

Arc and LOVE engine no-code game development;.

Although the game engines Unity, Unreal Engine and, increasingly, Godot tend to dominate in the indie games space, they’re not the only options. And for artists who are looking to hop the fence and try making games themselves, the LÖVE engine, which utilises the easy-to-learn Lua programming language, could be a fantastic way to get started.

The LÖVE engine isn't the first software for game development to open up up video game creation to more people, including artists, but it does bridge the gap between no-code platforms and more complex engines. In doing so, digital and 3D artists can pick up coding the easy way.

Two recent games published by Panic – the BAFTA-nominated mega-hit Balatro and the pixel-art turn-based strategy game Arco – were both created using Lua and LÖVE. Arco programmer Max Cahill is a huge fan of how approachable Lua is when it comes to coding. “Lua is really simple,” he says. “Like, staggeringly simple.”

(Image credit: Franek, Max Cahill, Bibiki, Fáyer)

Lua and LÖVE are a dream team for artists

Max started out as a pixel artist, but around 15 years ago he became frustrated at always having to rely on programmers. “I got fed up of waiting for people, and I was like, ‘Oh, just learn a code then’,” he recalls.

That led him to discover LÖVE, which he says remains basically the same today as it was 15 years ago. “The performance has gotten better, and you've got really easy access to shaders now, but the core of it is so simple that it just hasn't changed.”

After his early dalliances with LÖVE and Lua, Max moved on to working with the more complicated C++ and C# programming languages (which form the core of Unreal and Unity, respectively).

But around five years ago he found himself coming back to Lua. “And I was like, this is actually fantastic,” he remembers. “I’d just gone so far down the rabbit hole of C++: like we had custom memory allocators and nine different string types for god knows what reason. There's none of that stuff [with Lua]. There's quirks, like with any programming language, but it looks a lot more like English.”

Max gives an example of Lua’s approachable nature. In languages like C++, programmers must remember to count from zero, and forgetting this rule can result in the all too common ‘off by one’ errors.

“But in Lua, you count from one,” says Max. “Because why would it be zero?” He adds that LÖVE is also dramatically faster than engines like Unity and Unreal, and there’s no need to wait around for code to be compiled before you can test each tiny, iterative change.

“That doesn't sound too annoying, but when you're waiting for your code to link for a minute, […] you get distracted,” he says. “You're like, I'll just check Discord. So it actually becomes five or ten minutes.”

(Image credit: Franek, Max Cahill, Bibiki, Fáyer)

The Lua programming language was originally developed in Brazil back in 1993 with a focus on speed, portability and ease of use, and LÖVE was later introduced in 2008 as a free, open-source engine based around Lua.

Relatively few commercial games are made with LÖVE, but Max says you’ll find Lua being used everywhere.

“Lua is used as the scripting language for so many AAA games,” he explains: in fact, you’ll find pockets of Lua code in everything from World of Warcraft to the Call of Duty series. “But the core game isn't written in it, because for a big, serious game with a big serious company, it's just not serious enough,” says Max.

LÖVE, meanwhile, is primarily designed around 2D games, and lacks the built-in editors you’ll find in Unity or Unreal for dealing with 3D objects.

(Image credit: Franek, Max Cahill, Bibiki, Fáyer)

That said, there’s another open-source variant of the engine called LÖVR that’s specifically designed for VR, and that includes tools for dealing with things like 3D physics and VR controllers. Its speed and simplicity make it ideal for quickly throwing together VR game prototypes.

But for artists who feel like dabbling in game design for the first time, LÖVE might not be the first port of call.

“You have to write code to get anything done,” emphasises Max, so for absolute beginners, ‘no code’ software might be the best place to learn the basic principles of programming. (You can even use no-code tools to make commercial games, as demonstrated by Citizen Sleeper 2.)

Once you’re ready to try some proper coding, Max recommends the best way to start learning Lua is with PICO-8. “It's basically like a fantasy console,” he explains, where the display is limited to 128 x 128 pixels and 16 colours. (The recently released Prince of Prussia by Adam Saltsman is a good example of the kind of pixel-art games you can create with PICO-8.)

(Image credit: Franek, Max Cahill, Bibiki, Fáyer)

Then after you’ve learnt the basics of coding with Lua, LÖVE is the next step. “In the LÖVE Discord, we get a huge amount of people coming from PICO-8 when they hit the limits there,” says Max.

“We have heaps of people come in who have no coding skill,” he continues. “They're like, ‘I want to make a game, but Unity is too big to fit on my laptop’, or, like, ‘I can't run it’, or ‘I don't have a GPU’. […] We get a lot of people in high school, and a lot of people in university who have bounced off something like Unity, where they're like, ‘That was too big’, or they've reached the limit of something like Twine [used for designing narrative and FMV games].”

For beginners like this, Max says there are tutorials that can guide you through the entire process of making a simple game.

“It's not as approachable as something like Twine or Bitsy or any of those low to no code tools,” he warns. “But it's good for anyone, as long as you're willing to learn a bit of programming.”

And as Arco demonstrates, with its complex story and hundreds of locations, Lua and LÖVE can be a powerful combination, despite their simplicity. “You can go as deep as you want with the programming,” Max concludes.

Are you inspired to create a game? Let us know in the comments below.

Sign up to read this article
Read news from 100’s of titles, curated specifically for you.
Already a member? Sign in here
Related Stories
Top stories on inkl right now
One subscription that gives you access to news from hundreds of sites
Already a member? Sign in here
Our Picks
Fourteen days free
Download the app
One app. One membership.
100+ trusted global sources.