@icedquinn This is all you need.
@wolfi @icedquinn @xianc78 It's still very fast and significantly easier to use
@wolfi @icedquinn @xianc78 Professional games with very active graphics, physics, animations, and particles have dirt requirements. Chances are you were doing something wrong
https://store.steampowered.com/app/323850/Move_or_Die/
The webexporter is 3rd party and I think uses a JS VM for Lua. I've tried it for my stuff and it didn't wanna work
@wolfi @icedquinn @xianc78 LuaJIT is the gold standard for JIT compilers, written in assembly and optimised relentlessly
It's used in high performence application for game logic with C side rendering (like Löve) in games/engines like the CryEngine, Factorio, Minetest, Fable, or WOW
Even plain POC Lua makes up "substantial amounts" (according to the email POC got) of games like Grim Fandango. Basically all of Tim Schafer's games use Lua and were one of the first adopters of it
https://www.lua.org/history.html (ctrl-f Grim Fandango)
It 100% meets the performance requirements of games. Especially games that are the scale you'd make it with something like RayLib
You did something wrong like loading an image inside a fast loop. My games, even the particles, works on my 4gb ARM Pinebook pro without any slight hint of slowdown
@wolfi @icedquinn @xianc78 Looking at the code it's also fairly simple and modular. You just offset transforms according to whatever rules you want and tell it to draw a quad. You could in fact make your own C/Nim particle module and add it without much effort
Extending Lua with C (or C with Lua) is easy, comfy, and fast in general. That's largely why so many people use it
https://github.com/love2d/love/blob/main/src/modules/graphics/ParticleSystem.cpp#L1025