• gradual
    link
    fedilink
    English
    arrow-up
    11
    arrow-down
    1
    ·
    7 hours ago

    But useful idiots told me people won’t work for free.

        • Tiger666@lemmy.ca
          link
          fedilink
          English
          arrow-up
          2
          ·
          2 hours ago

          If someone calls themselves an anarcho-capitalist, I immediately think that person is of very low IQ trying to sound smart and educated.

          At least the term libertarianism isn’t a contradiction, even if it is selfish and stupid.

          Sure, no kings, no masters but when you don’t go the extra step to understand where the kings and masters come from, then you are just a useful idiot to the next fascist that comes along.

          • pyre@lemmy.world
            link
            fedilink
            English
            arrow-up
            2
            ·
            1 hour ago

            yeah except libertarians love kings and masters, they just want it to be private and not collective. because they think they’re going to be kings and masters in such a society. and it’s always the most miserable looking dweeb because that’s usually the motivation behind the fantasy.

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

              To translate your message: “Libertarians wrongly believe they are kings and masters.” Evidenced by the famous Highlander line “There can be only one!”

              I mean. You already pay for your road and the ambulance that can drive down it to save your life. Why would you pay more to utilise the same overburdened service? Unless you’re going to pay to build a hospital, fire station, etc. what’s the point? And then the maintenance bills. Libertarians cannot wait to spend all of their money on things we currently help them pay for. (I’m Canadian by the way, just to explain the paid ambulance part)

  • MonkderVierte@lemmy.ml
    link
    fedilink
    English
    arrow-up
    5
    arrow-down
    2
    ·
    10 hours ago

    You should take a look into KSP and Rimworld modding. Adding emtirely new physics is only the cup of the cake there.

  • sp3ctr4l@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    64
    arrow-down
    2
    ·
    edit-2
    6 hours ago

    … Ok, that is legitimately impressive, from a technical standpoint.

    Lua is a high level, not exactly very ‘fast’, very performant language. It is designed to be very, very human readable, and coding noob friendly.

    Getting a 3D physics engine to work … in lua… is not something I would have thought possible.

    Usually you need to use a much lower level language to … actually do that.

    EDIT:

    A few other commenters have now pointed out that this is actually using LuaJIT… which passes Lua code to a C compiler, quickly translates and then compiles in C, and then runs in C.

    So, that makes much more sense, its functionally running in C, a lower level, compiled code language.

    Still impressive nonetheless!

    • gamer@lemm.ee
      link
      fedilink
      English
      arrow-up
      7
      ·
      4 hours ago

      Imma be the guy and drop an ackshually

      • Nothing about Lua would make it difficult to implement a physics engine in it compared to other languages
      • The hardest part would be integrating with Morrowind’s systems. If the engine doesn’t expose e.g. collision geometry to scripts in an efficient way, then you’ll run into some real challenges
      • Even without LuaJIT, there’s no reason to expect performance so bad you can’t implement realtime rigid body physics. Interpreted Lua is fast, but even if it wasn’t, a 60 fps performance target for physics is not tough to achieve at all
      • sp3ctr4l@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        46 minutes ago

        Nothing about Lua would make it difficult to implement a physics engine in it compared to other languages.

        Correct, but said implementation will be orders of magnitude slower than implementing at a lower level… meaning you cannot handle lots of objects, you can only handle a few, and only with a few players if this is all networked… otherwise you get massive physics calculation innacuracy, terrible performance spikes, crashes, and if networked, server hangs/stalls, huge desync, etc.

        The hardest part would be integrating with Morrowind’s systems. If the engine doesn’t expose e.g. collision geometry to scripts in an efficient way, then you’ll run into some real challenges.

        I mean… that is true, that having to emulate collision meshes/hulls would be less efficient than just actually having direct access to them… but that would be the case with any language, and Lua is still much slower at any real time collision mesh/hull emulation than doing the same in a lower level language.

        Even without LuaJIT, there’s no reason to expect performance so bad you can’t implement realtime rigid body physics. Interpreted Lua is fast, but even if it wasn’t, a 60 fps performance target for physics is not tough to achieve at all.

        You say that, but I’ve never seen it done well in a way that can scale for many tens or hundreds or thousands of 3D physics calls in a complex single player scenario, or a multiplayer scenario where you now also have to account for networked synchronization.

        Not saying its impossible, just saying it… I’ve never seen anyone pull off an efficient and accurate 3D physics engine in Lua, untill now with this LuaJIT implementation.

        If you can show me a high performance 3d physics engine written entirely in just straight up Lua, well please do show me, and share with the class.

        My guess would be that it would be constrained to either specific physics scenarios, as in, wouldn’t have as full a realistic physics feature set… wouldn’t handle well a lot of simultaneous intersctions… but I’m open to being surprised.

        Like uh, Godot’s Jolt physics are written in C++…

        …and while this used to basically be an addon, that was better than Godot’s default physics engine…

        …even Jolt isn’t nearly as efficient or accurate as say, Valve’s implementation of Havok in Source.

        Godot has been catching up with Unity on this physics engine performance front, but Unity still has the performance edge by a bit, and neither are close to Source.

        And these are all C++ physics implementations, to the best of my knowledge.

      • Zahille7@lemmy.world
        link
        fedilink
        English
        arrow-up
        2
        ·
        4 hours ago

        Project Zombie and GMod both use Lua scripts. GMod is also one of the best physics sandboxes imo, and has like the most mods on the workshop ever.

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

          Project…Zombie?

          Do you mean Zomboid?

          If so, Zomboid isn’t … the physics aren’t done in Lua.

          The base of the game is written in C++, and then certain parts of that are exposed to modders via an API that works with Lua.

          https://expertbeacon.com/is-project-zomboid-java/

          The physics engine is written in C++.

          Because Lua is waaay too slow, and even compiled Java is about 4x as slow as C++.

        • Leuthil@lemmy.world
          link
          fedilink
          English
          arrow-up
          5
          ·
          edit-2
          4 hours ago

          The physics in GMod isn’t implemented in Lua though. It was already part of the Source engine.

          Unless GMod isn’t referring to Garry’s Mod.

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

            Yeah, was gonna say this.

            If you actually do use Lua to significantly alter the actual physics, shit gets fuckywucky really, really fast… its quite inefficient and laggy.

            I know, because I’ve tried to implement custom physics manipulations in Gmod via Lua… the netgraph, and server side lag, becomes absolutely absymal, really fast, if you’re trying to use it for more than just a few objects/interactions at a time.

            Like the uh… Armored Combat Framework?

            That uses Lua to allow you to construct your own custom tanks and what not?

            That tries to do things like penetration/ricochet calls on physics and collision hulls… through Lua?

            Astoundingly inefficient and laggy in pretty much any situation with more than 3 or 4 vehicles operating and engaging each other at the same time… especially so if they are using high rate of fire autocannons or machine guns.

            You have to have an unusually powerful server to be able to handle more than that, and its still gonna chug as you scale up conflict sizes.

            As I remember, most ACF servers had/have a bunch of rules about giving warnings before you dupe spawn or dupe save a vehicle design, have maximum part complexity limits, have designated build and designated battle times, or just seperate servers for each… because using Lua to handle so much physics stuff is so often likely to cause server stalls and crashes.

    • everyonesconnected@lemmy.dbzer0.com
      link
      fedilink
      English
      arrow-up
      10
      ·
      8 hours ago

      So from what I can read, the Morrowind Script Extender uses LuaJIT instead of regular lua, which does tracing just-in-time compilation. Meaning, and I’m just paraphrasing wikipeda here, it compiles frequently executed sequeneces of operations into machine code.

      • sp3ctr4l@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        2
        ·
        edit-2
        6 hours ago

        Now, that is a very relevant detail!

        I did not know LuaJIT was even a thing.

        Still probably not as performant as … C++ or Rust or something, that is totally precompiled… but that would explain how this is even possible, a 3D Lua based physics engine.

        Yeah, looks like LuaJIT passes a bunch of the Lua code into C, just good ole C, and then dynamically compiles it, then runs the ‘translated’ C code.

        That makes a lot more sense lol.

      • sp3ctr4l@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        4
        ·
        edit-2
        9 hours ago

        I haven’t benchmarked anything in a while, so it is possible Lua is more performant now than it once was… but in my (out of date) experience, python is faster than Lua, and nearly every language that is actually compiled is… one or two or three orders of magnitude faster.

        Though it is also worth mentioning that Lua is fairly simple to plug in to some kind of database language, which can result in reasonably good performance in situations involving say… dynamically spawning or unspawning tons of inventory style minor items, or containers with them.

        Lua has been fast enough to handle a simple 2D physics engine… but this is the first time I am hearing of it handling 3D.

    • datavoid@lemmy.ml
      cake
      link
      fedilink
      English
      arrow-up
      28
      arrow-down
      1
      ·
      17 hours ago

      It is designed to be very, very human readable, and coding noob friendly

      As someone who can’t wrap my head around lua syntax, I will have to assume I simply have too much coding experience

      • gradual
        link
        fedilink
        English
        arrow-up
        2
        ·
        7 hours ago

        Yeah, I remember using LUA back in the day for gmod.

        Hands down one of the shittiest languages I ever touched, right down there with PHP.

        Really puts into perspective how stupid developers can be when deciding the tools that they use.

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

          Hot take.

          Lua is an industry standard for a reason. The syntax isn’t great. But the reference implementation of Lua is under 500kb, very easy to embed and very fast.

      • sp3ctr4l@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        2
        ·
        8 hours ago

        I know what you mean lol, but Lua is very noob friendly… it goes fairly far out of its way to make many common functions and data types as compatible with each other as possible… so thats another way it is generally more slow, but also more forgiving, won’t just totally error out and be frustrating to a beginner coder.

  • 🇰 🌀 🇱 🇦 🇳 🇦 🇰 🇮 @pawb.social
    link
    fedilink
    English
    arrow-up
    27
    ·
    edit-2
    1 day ago

    While awesome for just the technical aspect, I actually would find this to be a downgrade in the way I play, since it would mean no longer being able to make staircases out of books and pillows, as they would actually fall if they had physics. 🤣

    • LogicalDrivel@sopuli.xyz
      link
      fedilink
      English
      arrow-up
      6
      ·
      edit-2
      14 hours ago

      Cyrodillic Brandy has no physics and wont fall. Staircase away, my friend. Especially if you know how to dupe. (its ridiculously easy)

  • redhorsejacket@lemmy.world
    link
    fedilink
    English
    arrow-up
    28
    ·
    1 day ago

    Does anyone recall what wound up becoming of the RTX tech demo which applied Ray traced lighting to Morrowind? The old axiom holds true, any mention of Morrowind results in at least one person reinstalling it, and it appears im the guy this time.

      • redhorsejacket@lemmy.world
        link
        fedilink
        English
        arrow-up
        3
        ·
        2 hours ago

        Exploiting Morrowind’s systems is a hobby unto itself. For years, the only copy I had access to was the Xbox release (not even the GOTY edition). Without the dev console, I had to discover other ways to bend the game to my will.

        To this day, I have to resist the urge to steal the Limeware Platter from the customs office, not to mention sequence breaking by phasing through the barrel with Fargoth’s ring in that building’s courtyard. Since you hadn’t technically completed the tutorial and been released from custody yet, you could zip around the whole island, stealing with impunity and assembling quite the nest egg for your playthrough.

    • Quetzalcutlass@lemmy.world
      link
      fedilink
      English
      arrow-up
      26
      ·
      1 day ago

      *peers suspiciously at username* Hmmmm…

      Anyway, OpenMW is amazing and the best way to play the game these days. The only bad thing I can say about it is the expanded draw distance shows how tiny the world map actually is, but that’s both not their fault and extremely minor considering how content dense Morrowind is.

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

          Also… isn’t the base game’s level of fog… more or less canonically justifiable, due to most of Morrowind taking place in… a swamp/bog type of biome?

          That or a volanic death zone that could just be said to have lots of gas plumes and such?

          • redhorsejacket@lemmy.world
            link
            fedilink
            English
            arrow-up
            2
            ·
            2 hours ago

            I’d say the latter rationalization is more plausible than the former. From memory, the swampy bits are pretty well concentrated along the western edge of the island, before giving way to the relatively temperate zones around Caldera and Pelagiad. By contrast, the volcanic portions of the island cover at least half the landmass, and there’s implemented ash storms with some frequency in those zones.

            As far as headcanon goes though, I’m partial to thinking the fog represents aerosolized Cliff Racer droppings.

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

              I appreciate the correction!

              I phrased what I said as questions, because I genuinely am not too sure…

              I only played Morrowind a bit, a looong time ago now, did not get too far into it untill school and other stuff got me real busy for a while.

        • Quetzalcutlass@lemmy.world
          link
          fedilink
          English
          arrow-up
          7
          ·
          1 day ago

          It should be compatible with most mods, or it was when I last played several years ago. Major overhaul packs have engine tweaks included that aren’t compatible and the script parser in OpenMW is/was stricter than vanilla’s so one or two poorly written mods might need typo fixes in their scripts, but other than that it seemed to work just fine.

          • justastranger@sh.itjust.works
            link
            fedilink
            English
            arrow-up
            2
            ·
            3 hours ago

            There’s a growing catalogue of Lua mods for MWSE that aren’t cross-compatible and neither set of devs seem interested in a unified Lua API.

            • Quetzalcutlass@lemmy.world
              link
              fedilink
              English
              arrow-up
              1
              ·
              3 hours ago

              That’s good to know, thanks! I was mainly thinking about traditional esp/esm mods; the script extender never even crossed my mind.

          • bogosort@discuss.tchncs.de
            link
            fedilink
            English
            arrow-up
            4
            ·
            1 day ago

            I played Morrowind for the first time a few weeks ago and installed OpenMW, as I saw it being recommended.

            I don’t know anything about the game/engine, but after completing the setup and being told to walk to the next city I came across small enemies, and it tooks about 3 minutes to kill them as my hits didn’t seem to connect. Am I missing something or did I mess something up during installation?

            Sorry to ask you randomly here, but you seem to have experience :D

            • PumpkinSkink@lemmy.world
              link
              fedilink
              English
              arrow-up
              2
              ·
              7 hours ago

              I’m gonna guess your fatigue was low from running. Paying attention to your fatigue (and some kind of melee weapon as a major skill) makes the game much less of a drag in the first few levels.

            • Quetzalcutlass@lemmy.world
              link
              fedilink
              English
              arrow-up
              14
              ·
              edit-2
              1 day ago

              That’s just how low levels work in Morrowind, unfortunately. The first few Elder Scrolls took heavy inspiration from tabletop games like Dungeons & Dragons, including making you roll for everything. Internally the game rolls after each swing to see if your attack hits, so you need to both hit an enemy physically and win a dice roll based on your skills.

              You’ll want to make sure your character starts with at least one weapon skill at as high a level as your class and race allow. At 40+ skill you’ll hit most of the time rather than whiffing 90% of your attacks. There is also a massive penalty to hit chance when your fatigue is low, so spamming attacks will get you nowhere.

              (I believe there are mods to make it work more like Oblivion and Skyrim where you only need to hit them physically and skills only affect damage, but I don’t know the names of those mods off the top of my head.)

            • jjjalljs@ttrpg.network
              link
              fedilink
              English
              arrow-up
              4
              ·
              22 hours ago

              Morrowind’s combat system is… if you’re feeling generous: weird. if you’re not: bad.

              You click on an enemy and it rolls dice to see if you hit. Your chance to hit is determined by your skills and stats, and your fatigue. yes, fatigue. If you’ve been sprinting and your fatigue is empty, you’ll probably miss more. This combos badly with the glacial movement speed of the game.

              You also want to hold the attack button a little longer to do more damage.

              If you start with a good axe skill (like 50), you can often hold to attack and knock people over, then finish them off. You might want to set “always use best attack” to true in the options- weapons typically have like a few moves, but one is usually better.

              The “bound weapon” spells are also good- they’re kind of cheap, and give you a high damage weapon that also boosts your skill by 10. There’s a merchant that sells a couple weapons that turn into bound weapons in Balmora.

              Blocking is also just a dice roll. I think it’s better to just get a giant two-hander and kill them faster, but opinions differ.

              Also fun: If you damage someone’s strength to 0, they can’t move. If you have a spear, your reach is probably longer than theirs. You can kill almost anything this way.

              also, while i’m here, the native leveling system is bonkers. You gain levels when your major skills improve. You get three stat increases based on any skills that went up. You can get up to +5 for each stat increase. This is not retroactive. If you level up and pick a +2 in strength, that’s what you get. This creates some utterly bizarre incentives. People would pick skills they don’t want to use as their major skills so they can control leveling, and pay trainers to bump skills tied to stats they want to increase. It’s horrible. You can kind of ignore it, but you’ll be much weaker than you would be if you play into it.

              • altkey@lemmy.dbzer0.com
                link
                fedilink
                English
                arrow-up
                4
                ·
                17 hours ago

                also, while i’m here, the native leveling system is bonkers… It’s horrible. You can kind of ignore it, but you’ll be much weaker than you would be if you play into it.

                The only roadblock here are guild requirements to get to the top of the hierarchy. Gameplay-wise, I can’t remember any time I had regrets over a borked leveling in the past or something. In spite of Morrowind’s system sounding utterly weird, it didn’t implement autoleveling to such a degree that it matters. Comparatively, I got frustrated with Skyrim and completely dropped Oblivion the last time I tried to revisit them. The latter directly tied enemies and their equipment to your base level, so it punished you greatly in the middle of the game if you pick something weird, and you can’t just sink money to correct that.

                • jjjalljs@ttrpg.network
                  link
                  fedilink
                  English
                  arrow-up
                  5
                  ·
                  edit-2
                  16 hours ago

                  The level scaling in Oblivion and Skyrim are worse, true. It’s kind of impressive how bad an idea and execution the level scaling in Oblivion was. They place enemies based on your total level, so if you leveled up from non-combat skills then you’ll have a bad time. It makes exploring kind of pointless, because you’ll never find anything interesting. And then there were the bandits wearing thousands of GP worth of equipment mugging you for 100gp.

                  one of the original developers recently came out and said it was a huge mistake: https://www.rockpapershotgun.com/elder-scrolls-4-oblivions-level-scaling-was-a-mistake-says-designer-so-why-is-it-in-the-remaster

                  In morrowind, not much scales with you so it matters less. You can’t raise a skill above its stat, so you can kind of paint yourself into a corner with bad leveling. (Though I think you can use fortify-attribute to get around that at trainers)

    • gradual
      link
      fedilink
      English
      arrow-up
      3
      ·
      7 hours ago

      Controllers kind of work.

      They let you control the cursor. Actual support would be better, of course.

    • Quetzalcutlass@lemmy.world
      link
      fedilink
      English
      arrow-up
      14
      ·
      1 day ago

      I’m shocked someone hasn’t grabbed the files from the Xbox release and used their implementation as a base. It wasn’t great, but it worked well enough on a controller considering how complicated Morrowind’s UI was.

      • Montagge@lemmy.zip
        link
        fedilink
        English
        arrow-up
        5
        ·
        1 day ago

        I’m hoping the lua in OpenMW 0.49 willallow for it to be implemented. If I ever get free time I might try my hand at it.

  • Ephera@lemmy.ml
    link
    fedilink
    English
    arrow-up
    8
    ·
    23 hours ago

    But do they also randomly explode all over the place when you enter a room?

  • Quetzalcutlass@lemmy.world
    link
    fedilink
    English
    arrow-up
    9
    arrow-down
    1
    ·
    1 day ago

    So now my thief can simply stack crates to get to a store’s unguarded second level instead of grinding the acrobatics skill? Nice.

    I know they try to remain faithful to the original design, but I can’t help but wonder how hard it would be for the OpenMW devs to integrate a full modern physics engine such as Jolt or PhysX into the engine. Probably much easier than building one from scratch in Lua of all things!

    • grue@lemmy.world
      link
      fedilink
      English
      arrow-up
      7
      ·
      23 hours ago

      I know they try to remain faithful to the original design, but I can’t help but wonder how hard it would be for the OpenMW devs

      I would love it if, after OpenMW hits 1.0, they set a new goal of feature parity with Skyrim (or Skywind).

      • CrackedLinuxISO@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        3
        ·
        3 hours ago

        A post 1.0 goal is to be a general engine replacement for many Bethesda titles. OpenMW would be a platform for other projects to build OpenOblivion, OpenNewVegas, etc on.