• erytau@programming.dev
    link
    fedilink
    English
    arrow-up
    9
    ·
    edit-2
    2 hours ago

    World of Warcraft plugins and Awesome WM configs. There are some decent 2d game engines that use Lua too, like Love2d!

  • vala@lemmy.world
    link
    fedilink
    arrow-up
    12
    ·
    2 hours ago

    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.

    • sp3ctr4l@lemmy.dbzer0.com
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      11 minutes ago

      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.

  • _____@lemm.ee
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 hour ago

    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.

      • sp3ctr4l@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        1
        ·
        3 minutes ago

        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.