@icedquinn This is all you need.
@wolfi @icedquinn @xianc78 It's still very fast and significantly easier to use
@wolfi @icedquinn @xianc78 It has native and high performance support for particles
https://love2d.org/wiki/ParticleSystem
Look at these: https://www.youtube.com/watch?v=0SDxvDiOexE
It also has a system for shaders that's basically improved GLSL which would let you create even more custom particles
https://love2d.org/wiki/Shader
@wolfi @icedquinn @applejack Having all the game logic written entirely in a scripting language doesn't sound good in my mind. It's why I stopped using Python/Pygame years ago.
@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 The particle system is programmed in C++, what do you think?
@wolfi @icedquinn @xianc78 We don't have the data to convince eachother because I've provided it and you didn't become convinced, and you have no data
@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
@wolfi @icedquinn @xianc78 >It turned out that Bret Mogilefsky was the lead programmer on Grim Fandango, the main adventure game LucasArts released in 1997. In another message he told us that "A TREMENDOUS amount of this game is written in Lua" (his emphasis)
Okay I actually remembered the quote wrong