There are two types of Lua users
There are two types of Lua users
There are two types of Lua users
Lua is great
People hate on it because they are too psychorigid to switch to lists starting from 1
Burn the heretics!
And Löve 2d developers
The one time I used lua was to make a casino in Minecraft with the ComputerCraft mod like, over a decade ago. I enjoyed it. Even as a young lad I didn't like index from 1, though
You forgot computercraft players
My turtles eat worlds!
The comments under this post should be pinned on lua.org. They’re the greatest advertisement for the language
Lua is actually a really decent language to work with, and it's pretty fast too, can compile it to executables, I think it's great
Literally every game modding community ever:
Except the poor people stuck with C# when modding unity games.
A random Awesome WM user has entered the chat
And BeamNG modders
Also fivem scripting
That's cool, Multi Theft Auto (SA mod) also used Lua. Helped me learn programming in a fun way
gmod dev
Don’t forget the one statistically to be enjoyers of war crimes.
Rimworld mod authors.
As a former Lightroom plugin developer I feel erased!
Factorio modders
Does anyone genuinely like the language on its own merits? Lua is an excellent alternative to other interpreted langs like Python or JS.
Nah
EDIT: After reading, I stand corrected. Lua is better than Python and JS for many usecases, mainly due to size and portability.
Their versioning is weird though.
Dota 2
Also, Factorio. :: spoiler
33€ well spent.
::
Luanti (formerly Minetest) and LÖVE. Oh, and TIC-80
OpenMW modders
Tabletop Simulator.
Doing that right now, unfortunately.
The helldivers 2 developers, for whatever reason
probably because it uses the Autodesk Stingray engine which, this is more interesting than the Lua usage. It's a dead engine for long while but I'm surprised to find people who still just use it.
also Subnautica
I'll add DCS World modders, thank you to the heroes who brave Lua and the DCS API to bring us obscure planes and helicopters!
Don't forget the Silverbullet users.
Also CoronaSDK users for making Android games back in the day
Balatro, gmod, srb2 modding.
Nmap users?
Wireshark dissector devs
Nginx/openresty/kong. Redis/valkey.
Lua is awesome, I added some scripting to toggle replay buffer on OBS and to save recording from buffer then restart the buffer. IE: Save last 10-15 minutes of gameplay.
Very cool to do it in Lua.
Tarantool db users
Some features of the MediaWiki engine run on Lua, too!
Since y'all love LUA so much, what's it's advantage over things like micropython?
Pain and suffering (aka an arrays base index is one)
Don't forget Gmod modders!
Glua is bizzaro world Lua though.
It was so, so, so much worse back in the early days when the FacePunch forums still... existed.
Probably a majority of forum posts, for years, were people screaming at Garry for making posts that just said something like 'its obvious how this function works, I don't need to explain it', and then oops turns out he did it wrong, new gamebreaking bug / exploit exists for 3 weeks, the first week of which was random forum people telling Garry he did it wrong and him temp or perma banning them.
That or he would very often just rewrite entire core function libraries, make a tiny 8 word bullet point about it in an avalanche of a changelog, and then say something like, 'shouldn't break existing code', and then well, it would completely break existing game mode code, and then 80% of the most played custom game modes would be broken for a month or more while Garry just either ignored everyone, or told them he didn't care.
...
Also, Roblox just is Gmod in many ways, but with a highly manipulative monetization model built in.
All the Gmod RP servers would paygate player roles and content and such offsite, outside of the game, setup a webpage or forum that worked as an ecommerce site, run a dedi db and then API connect that into Gmod... Roblox is all of that, but self contained, and with a lot more lawyers on hand to prevent monetization outside of the game itself.
Gmod is the first thing I think of when I hear Lua.
To me, Lua will always be the WoW plugin language.
Lua is a super underrated language. The standard implementation is under 500kb and it can run almost anywhere. Including inside other programs and on embedded systems that dont even have an OS.
It is great for scripting things that do not need to run exceedingly fast, or are not exceptionally complex.
2D games? UI? Absolutely.
Even many subsystems of 3D games can be handled decently well. Procedurally populate a map with items, or generate some NPC populations or weapons or items based on mixxing and matching a bunch of preset components, throw some kind of event tracking and event driven system on top of already existing systems to give your world more depth and breadth.
But by the time you get to... trying to do an entire 3d render pipeline for graphics more complicated than roughly an N64 or PS1, all of your netcode in a conplex and fast paced game, an entire dynamic 3D physics engine with many active objects... try to to that in Lua, you're probably not gonna have a good time.
At that point, as the Open MW devs have shown... you can technically stilluse Lua to do this, but you've gotta be running your Lua through LuaJIT, that essentially compiles the parts of the Lua code that need that speed into C, and then run it in C.
At that point, it arguably makes more sense to just... take those parts of the code and just actually, always, run them in C or C++ or Rust or something.
... But after saying all that, I do not mean to take away from what you are saying, which is that Lua is extremely flexble and absolutely does have a wealth of legitimate uses cases.
I don't think luajit compiles lua to C and then compiles the C, that would be pretty silly. JIT compilers directly output machine code.
And as long as you can do something in a higher level language there's no need to involve manual memory management or tracking ownership (rust)
Lua can be pretty fast, but not Lua itself but Luau runtimes or LuaJIT
Dont forget OpenComputers users! Theres gotta be five of us by now.
I was sick and tired of not having full remote storage access after losing logistics pipes, we had refined storage and a computercraft peripheral mod for it so I wrote a server and client for remotely requesting items to be delivered via ender chest using the computer craft ipads and the computercraft internet. You'd type in a search query and it would display the top 10 items in the network containing that query and how many there were, then you'd pick the one you wanted from that list by entering its index, then you'd enter the quantity
There are dozens of us. Dozens!
(I am trying to set up an mail system on my server using modems and am suffering help)
Including the people that only used computercraft?
There are dozens of us! Dozens!!!
luanti mod dev?
:)
Hey, there's the one I was looking for!
That's what I thought too!
Löve2D gets zero löve :(
Lua doesn’t do zero, in case its users find the concept confusing
Ok
World of Warcraft plugins and Awesome WM configs. There are some decent 2d game engines that use Lua too, like Love2d!
Computercraft enjoyers
Factorio mod dev?
and PICO-8 devs!
Today I learned there is a use for lua besides neovim
WoW Addon programmers?
Fantasy Console devs
lua_State *L
disagrees.
Isaac modding
Payday 2 mod dev?
I'm using lapis for stuff.
lua's c api is also really good
Luanti designers too.
lualatex?
Me, an XPlane boi. Quietly flying with my Lua scripts.
Conky users?
Farming Simulator modders!