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

    They’ve built a library of small building blocks for character movements. These blocks can be combined in various ways to create a wide range of animations. … Instead of designing separate animations for each of these situations, they use these building blocks to put together the character’s movements naturally.

    This sounds like shape keys, which is a technique already widely used in games and animation today. When you get shot in Battlefield, your character model plays a “getting shot” animation. When your character runs, it plays a “running” animation. When your character gets shot while running, these two animations are combined - it’s not a separate “shot while running” animation.

    Would love to know if there’s actually some novel aspect to this “invention” but it seems more likely that this is yet another bullshit patent approved by a clueless clerk who did zero searches for prior art.

    Edit: Read the patent. Not only does it describe nothing novel, it doesn’t even document what they did. All it says is basically “we created animation blocks and combine them”. The details are just a bunch of bullshit jargon spew:

    attributes can include conditions, properties, events, flags, graphs, values, references, and variants

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

        I think this would make it tough to enforce the patent if it’s actually commonly used. If I were somehow granted a patent on tap dancing, its common usage by others before me would probably cause my patent to be invalidated if I then tried to sue a tap dancer.

        Not a patent lawyer, but IIRC, US patent law had some protections for things (including non-patented) that are already common practice.

        EDIT: Clarity

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

        I work in patents. If it wasn’t novel it wouldn’t be granted, believe me.

        I work in computer graphics software. My former employer preferred that engineers liberally apply for “defensive” patents because of how often people would get a patent for something we already did and then try to sue us for it. Plus we got a small cash bonus when our patents were approved. Through this process, I was granted six patents for my work there. It would be unwise to put something to text that could be used as evidence to invalidate the patents, so I’ll just say that my opinion on how low the bar is to getting software patents approved is definitely well-informed.

        understanding the law and understanding how to assess novelty in a proper way

        I’ll admit I have little understanding of the legal definition of “novel”, but insofar as the intent of the patent system, the current bar is way too low for software patents. Although remedied recently, the plethora of software patents that still exist for “(Something people have done for decades) but do it on a computer” is ridiculous.

          • MooseBoys@lemmy.world
            link
            fedilink
            English
            arrow-up
            3
            ·
            edit-2
            1 year ago
              • MooseBoys@lemmy.world
                link
                fedilink
                English
                arrow-up
                1
                ·
                1 year ago
                1. A locomotion system for controlling animation of a character in a three-dimensional (3D) virtual environment comprising: a rendering engine; a core system logic communicatively coupled to the rendering engine for executing core game logic of the virtual environment …

                This is basically a description of a game engine that supports movement and animation. Descent (1994) would be the earliest production use of such an engine.

                1. The locomotion system of claim 1, wherein a key identifies one or more variables of the blackboard, the key comprising a human readable name associated with the variables to provide the selection criteria.

                Congratulations, you just described “variables”, a concept at least as old as ENIAC (1945).

                1. The locomotion system of claim 1, wherein the core game logic defines one or more desired physical movements to sequence the motion type objects blocks.

                Yes, that’s one way to describe “animation”

                1. The locomotion system of claim 1, wherein a selected archetype block defines a fallback archetype block, the fallback archetype block defining at least one new motion animation block or motion type block not present in the selected archetype block and inheriting any remaining motion type blocks and motion animation blocks from the selected archetype block.

                Variables having a default value is the default behavior of most programming languages and software systems.

                1. The locomotion system of claim 1, wherein a selected archetype block defines the character’s default animation.

                Yea, we’re talking about animation here. Default value of animation description = default animation.

                1. The locomotion system of claim 1, wherein a selected archetype block of the character is unique from a second archetype block of a second character and at least one motion type block is common across the character and the second character.

                Inheritance, a property of most software designs since the 1980s.

                1. The locomotion system of claim 1, wherein at least one of the motion animation blocks, the motion type blocks, and the archetype blocks is defined by a series of extensible markup language (XML)-based meta files.

                Storing configuration in a data file. You’d be hard pressed to find an alternative. Maybe some genius will come along and find some way to represent it in JSON…

                1. The locomotion system of claim 1, wherein a selected attribute of a selected motion animation block includes at least one of a clip set that is used by a selected motion of the character, an overloadable animation blend tree to be used for the selected motion, named additional clips within specific clip sets, parametric blends from sets that can be named, a Boolean that specifies whether play speed of the selected motion can be modified, a minimum speed, and a maximum speed.

                This seems to be the main claim of the patent, but seems to have a huge amount of prior art (see links). “Parametric blends” and other terms are just jargon.

                1. The locomotion system of claim 1, wherein the attributes of the motion animation block are custom float values.

                Oh my god. Really? Shall we also include “doubles”, “halfs”, or maybe “rationals”?

                1. The locomotion system of claim 1, further comprising one or more transition tables to control a relationship between motion animation blocks.

                “Translation table” seems to just be referring to the graph topology of the system. Yes, graphs are the most common way to represent arbitrary N:M relationships.

                1. The locomotion system of claim 1, further comprising an in-game graphical user interface for real-time modification of at least one of the motion animation blocks, the motion type blocks, and the archetype blocks.

                Node-based editing; standard practice in all 3D modeling.

                1. A computer-implemented method for controlling animation of a character in a three-dimensional (3D) virtual environment comprising: executing core game logic to render the virtual environment using a core system logic communicatively coupled to a rendering engine …

                Yes, you already described what a game engine is and an animation system is. Game engines certainly do have animation systems…

                1. The computer-implemented method of claim 12, wherein said animating the character further comprises identifying a second archetype block, the common set of motion type blocks and the motion animation blocks of the second archetype block altering the animation of the character as a game story defined by the core game logic develops.

                Picking animation keys based on game logic. What else would you base it on exactly?

                1. The computer-implemented method of claim 12, wherein said animating the character further comprises identifying a fallback archetype block of the archetype block, the fallback archetype block defining at least one new motion animation block or motion type block not present in the selected archetype block and inheriting any remaining motion type blocks and motion animation blocks from the selected archetype block.

                Yes, default values do be defaultin’.

                1. A computer program product for controlling animation of a character in a three-dimensional (3D) virtual environment, the computer program product including a non-transitory computer readable storage medium having program instructions embodied therewith, the program instructions executable by a device to cause the device to perform a method comprising: executing core game logic to render the virtual environment using a core system logic communicatively coupled to a rendering engine …

                Yep, software sure does run on computers. Computers are neat. And they have storage.

                1. The computer program product of claim 15, wherein said animating the character further comprises identifying a second archetype block, the common set of motion type objects blocks and the motion animation blocks of the second archetype block altering the animation of the character as a game story defined by the core game logic develops.

                Are we really going to enumerate all the permutations of engine + animation + defaults claims?

                1. The computer program product of claim 15, wherein said animating the character further comprises identifying a fallback archetype block of the archetype block, the fallback archetype block defining at least one new motion animation block or motion type block not present in the selected archetype block and inheriting any remaining motion type objects blocks and motion animation blocks from the selected archetype block.

                I guess we are…

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

                    All the claims except 8 are “obvious” IMO. Claim 8 fails novelty because of the huge amount of prior art on the matter.

                    Note that I’m using “novelty” and “obvious” according to their english definitions, and the intent of patent protection. If they’re different in practice, that’s a failing of current patent law.

                    For reference, here’s what I would consider to be a “good” software patent: https://patents.justia.com/patent/6721362

    • R0cket_M00se@lemmy.world
      link
      fedilink
      English
      arrow-up
      12
      ·
      1 year ago

      It sounds more like they’re using more fundamental movements than what you’re describing, not running animation+shot animation but more like:

      Both reloading a particular weapon and mantling over a walk require you to lift your arms, so the root movement of lifting your arm to reload an LMG is the same one used to grab a ledge overhead, etc.

      Basically they’re just categorizing movements based on use case and direction so they can string those individual movements into different and unique patterns for individual actions.

      Pressing an elevator button uses the same arm movement as opening a door, which uses the same wrist rotation movement as turning the key in a car, etc. So they just break down individual movements in the same way an LLM breaks down a voice into phonetics to string new words together.

      • MooseBoys@lemmy.world
        link
        fedilink
        English
        arrow-up
        10
        ·
        1 year ago

        It’s definitely possible they’re doing something novel internally, but the details that would support that interpretation are missing from the filing. One of the requirements for patents is that it “sufficient disclosure of the invention so that it can be reproduced by others”. I would say I qualify as an expert in the domain covered, and I have no idea what they’re actually doing based on the patent alone.

    • DumbAceDragon@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      4
      ·
      1 year ago

      Not shape keys, but something more akin to Unity’s animation layers. This kinda stuff has been in games for a decade or so.