• imaqtpie@sh.itjust.works
    link
    fedilink
    arrow-up
    4
    ·
    edit-2
    1 year ago

    Is there anyway you could clarify this for someone who is not knowledgeable about coding? My understanding is that procedurally generated worlds have a seed, which is a specific string of characters that will generate the same world each time when fed into the procedural algorithm.

    continuous seed functions deterministically placing world geometry convert to discrete voxels when interacted with in order to track state changes.

    This is the part I don’t understand.

    • kromem@lemmy.world
      link
      fedilink
      arrow-up
      5
      ·
      1 year ago

      So yes, you are correct about the seed aspect, but what I’m talking about is the function the seed is fed into.

      Those functions are generally continuous. For example, a mountain in Minecraft as a non-blocky mathematical curve.

      These continuous curves are then converted into voxels (volumetric pixels) like Minecraft’s blocks. Then if you interact with them, it records the difference between what the function would generate normally and the changes. This saves on memory as it only records the interactions.

      Given the seed function is deterministic, the same coordinates of space and time in the world will result in the same world geometry. Then you just layer on the discrete changes from free agents and you have the appearance of a fully interactive world.

      Put another way, on the debate about free will, the details in how our universe behaves is exactly how you would design a world where you had free agents. If you were designing a world without free will, you wouldn’t need to convert to discrete units at the point of interactions, as the interactions would also be deterministic and could be calculated by the seed function, even to the point of continuous fidelity (i.e. no blocks/particles, just waves).

      • TauZero@mander.xyz
        link
        fedilink
        arrow-up
        4
        ·
        1 year ago

        Then if you interact with them, it records the difference between what the function would generate normally and the changes. This saves on memory as it only records the interactions.

        I WISH that’s how minecraft did it! But minecraft specifically does not do this. Once the chunks are generated, they are stored on disk as full voxels, from bedrock to sky. When minecraft version/generator function changes, you can see the transition line between old and new chunks (used to be abrupt, now smoothed a bit). Large worlds take up gigabytes, or even terabytes of space, even if most of it is wild terrain.

        • kromem@lemmy.world
          link
          fedilink
          arrow-up
          2
          ·
          edit-2
          1 year ago

          Yeah, I was simplifying the description a bit from the actual technical underpinnings of Minecraft specifically.

          Also, yes, it’s how Minecraft arguably should have been doing it, while versioning the seed function to ensure backwards compatibility with old worlds.

          • TauZero@mander.xyz
            link
            fedilink
            arrow-up
            5
            ·
            1 year ago

            I disagree with the rest of your thesis too. You are saying that in principle, the state and dynamics of the world could be described by a generator function, such that you input (x,y,z,t) to it and it returns what is happening in that place at that time without needing to reference or calculate the rest of the world. Or it would, IF NOT for the free will. Like how if I asked you “what is the millionth Fibonacci number” you could use the Fibonacci formula to simply calculate the millionth number without needing to do a million intermediate additions.

            But what if I asked you “what is the millionth SHA256 hash of ‘’”? The hash function is perfectly deterministic, there is no quantum woo involved, and definitely no free will. And yet you would not be able to answer me without calculating every single hash in between. Or for a physical system example - a double pendulum is extremely simple, yet you could not predict its state at time t, even knowing its starting parameters exactly, without calculating its dynamics for all the time in between.

            This is my position. Humans are purely physical systems, there is no need to invoke magical outside supernatural influence. Physics does not behave differently, switching between “particle” and “wave”, depending on whether a human is involved. This is a common misconception in popularized science. To determine what choice a human will make, knowing the starting positions of all the particles in the lightcone is sufficient. However you would not in general be able to predict the final configuration of a system without calculating every single intermediate state in between. Free will does exist, but to you making a decision it is impossible to tell whether your momentary mental state is part of the greater physical universe, or embedded in some calculation about that universe.

            • kromem@lemmy.world
              link
              fedilink
              arrow-up
              2
              ·
              1 year ago

              Except for both Bell’s paradox and the recent Weigner’s friend variation, superdeterminism is one of the three possible ways to resolve the paradoxes, so the notion that free will exists is very much not physically clear at all given the most recent experimental results.

              Also, you seem to have misunderstood my point.

              I’m saying that tracking non-deterministic state changes is easier in discrete data than continuous data, so if the universe we are in is one that was designed, the design detail of interacted with quanta resolving from continuous to discrete behavior at the point of interaction strongly lends itself to the rejection of superdeterminism.

              There’s no advantage to switching from continuous to discrete tracking at the point of interaction if interactions are entirely deterministic, and inconsistency between the two introduces unnecessary and unexpected side effects.

              The quantum eraser behavior is pretty clearly in line with a lazy optimization at work, so this conversion is apparently expensive or undesirable enough to need to be optimized away from when possible.

              Modeling a continuous universe (in line with general relativity) at macro scales but switching to discrete at micro could be advantageous for both deterministic and non-deterministic simulated systems running on discrete hardware; however, switching from one to the other exclusively around measurements and interactions rather than uniform discretization across the board would be a very bizarre design decision, no?

              The general difficulty in calculating certain deterministic functions which you bring up is a non sequitur to my point, unless you can make the case that converting from continuous to discrete at the point of measurement/interaction would be advantageous to an entirely deterministic system where multi-body interactions still seem to occur continuously without issue prior to measurement?

      • imaqtpie@sh.itjust.works
        link
        fedilink
        arrow-up
        3
        ·
        1 year ago

        Fantastic explanation. I can totally see the connection you were drawing now.

        Convincing me that free will exists might be a bridge too far, but you’ve definitely opened a new avenue of inquiry in my mind.

        When utilizing this procedural generation technique in our games, it allows us to use much less memory and processing power because the world can be continuously recreated with relatively little computational complexity. Is that roughly correct?

        If so, aside from being a possible argument regarding the existence of free will, this comparison could also be used to support the idea that we live in a simulated reality, a la the Matrix. Gnarly

        • kromem@lemmy.world
          link
          fedilink
          arrow-up
          3
          ·
          1 year ago

          Is that roughly correct?

          Kind of. It has more to do with tracking state interactions by free agents than memory though.

          Imagine a continuous curve like a SVG. Now imagine a user nudges it to add a dent to the curve. Keeping track of exactly where the user changes it, particularly as the number of changes adds up, becomes very difficult if you are tracking those changes as an alteration to 0.65434567… to 2.25677743… on it. But if instead you convert it to discrete units, now you are only tracking a change from 1 to 2 rounding to the nearest discrete unit.

          A bit like how artists can go vector to pixels easily and make changes to the pixels but getting it back into a vector is a nightmare.

          And yes, it can’t directly address whether free will exists, as part of why we design worlds the way we do may be because of the foundational ways our world works.

          It’s more to the point of if we are in a simulation it appears to be designed in such a way that free will exists within the simulation.

          (Free will as a consequence of the design details necessitates it having been designed as such.)

          • imaqtpie@sh.itjust.works
            link
            fedilink
            arrow-up
            3
            arrow-down
            1
            ·
            1 year ago

            A bit like how artists can go vector to pixels easily and make changes to the pixels but getting it back into a vector is a nightmare.

            This is another great analogy.

            Fascinating, compelling ideas that are new to me. I could have trawled reddit for 10,000 years and never found content like this. Thanks for taking the time to explain, you’re a very good communicator.