Live data from Hacker News

Unity patents ECS

pdfpiw.uspto.gov

51–60 of 175 posts

Re: Unity patents ECS

#51

Earlier quoted context omitted.

It's aggravating that parents are purposefully written in a language that makes it harder to read. What I could gather from it is that this is just an implementation of archetype-based ECS. Which just means that entities with the same set of components (that is, the same "archetype") are allocated together. But I don't know whether they are patenting archetypes in general or just a narrow usage. Now I have a question…

> Now I have a question: is it possible that things published before the date of the patent (24 march 2020) are infringing on the patent? Or, on the contrary, things published before this date can actually be prior art? You have to look at the date of filing, not date of publication. The date of filing is June 12, 2018 (patents take a few years to issue these days). So March 9, 2019 cannot be prior art.

Ok, 2019 is out

How about 2013:

https://www.gamedev.net/tutorials/programming/general-and-ga...

I use a heavily updated version of this for my own projects

Re: Unity patents ECS

#52
post #4

Does this need a (2020) or am interpreting this document wrong? Either way, how the hell do you get a patent for some abstract diagrams that represent a design pattern. Like can I patent the "novel" by submitting a diagram like: _______________________ | Character | Setting | _______________________ | Situation | Theme | _______________________

> Either way, how the hell do you get a patent for some abstract diagrams that represent a design pattern.

You don't.

Patents are unfortunately very obtuse to read and hard to parse, and it's especially easy for a lay person to give up very quickly and as a result misinterpret the patent. This is especially true when you're pointed to the patent by a rando on the internet telling you what (they think) is patented, even if it's not accurate.

Another contributing factor is that, even when you read the claims, a lot of the actual description may be functionally irrelevant to the actual thing being claimed. Suppose, for a moment, that you were patenting a new kind of bike pedal. Then your actual claim would look like an overly verbose and vague description of a bike that includes your new kind of pedal. And since most of the paragraph is describing a bike, it's easy to assume that what is being patented is the bike and not the pedal of that bike.

Re: Unity patents ECS

#53
post #41

Setting aside whether or not this patent is silly or abstract or obvious or anything else, I have one important question: what does Unity plan to do with this? Most big tech companies have a constant stream of patent applications, many of which are granted. But they rarely sue over 99% of them. Sure, Amazon had one-click for however many years and they cared about it. But the other tens of thousands of patents Amazon…

Defending against patent trolls is an aspect.

But the flip side is that this gives corporations a great tool to handicap competition.

If a competitor emerges, they can threaten legal action. And with a huge patent portfolio the big players can usually find a way to attack pretty much anyone.

Many companies will easily get scared and cave, and so either lose competitive advantage by dropping the technology, or feel forced into agreeing to an aqui-hire by the corporation . Which further cements the corporations dominating position.

This happens often enough, but rarely goes public.

Re: Unity patents ECS

#55
Ironically, Unity's ECS development effort has gone radio-silent in the last few months. Their latest versions of the Unity Editor (2021.1+) are no longer compatible with ECS, and Unity's forum reps have not responded to the many game devs left in limbo and begging for info or an update.

Something with ECS development is clearly going haywire, and the silence from the Unity people is troubling.

Re: Unity patents ECS

#56

Earlier quoted context omitted.

Wait just one second... they managed to actually get a completely generic description of ECS into the claims? EDIT: yes, yes they did. What you see above is in fact clam 1, in it's entirety. This is worse than usual. Usually "X patents (common thing)" headlines actually mean "X patents (common thing with weird twist)," which is a great deal less severe. This really looks like Unity got an actual patent on the actual…

Not really. To me the novelty in the first claim is that they have a system which automatically determines an optimal memory layout, even in the face of new combinations of components within a newly created entity. A typical hand-crafted ECS system wouldn't likely infringe -- it's more likely that the memory layout was defined in advance. I guess this will be a major roadblock to Unreal Engine offering such an automa…

Nothing about this write up says they invented a memory allocation system

Regardless I’ve built ECS engines prior to their filing. I’ll submit examples of my code calling malloc() when it realizes it doesn’t have enough memory for the new entity

Re: Unity patents ECS

#57

Patent lawyer here. There is a lot of dubious stuff already in this thread, so be careful with legal opinions from people on the internet. Some relevant claim language is below. Of course a lot of this stuff has been known for a while, but you have to have everything together--or an evidenced argument that combining things in this way would have been obvious--before you can conclude anything about the validity of the…

Isn’t there a ton of prior art? I’ve seen tech talks about ecs implementations for years.

From the top of my head, here’s a great tech talk about overwatch. https://youtu.be/W3aieHjyNvw

Here’s a tech talk by Bob Nystrom (the game programming patterns guy) that mentions ecs from years ago https://youtu.be/JxI3Eu5DPwE

Edit: letsInvalid in another thread above linked to an article from 2013: https://www.gamedev.net/tutorials/programming/general-and-ga...

Re: Unity patents ECS

#58
post #28

Earlier quoted context omitted.

> What the patent actually covers is governed by the claims at the very end of the patent, and most of the rest of the document is generally irrelevant, per my very limited understanding of how patents work. Correct. Only the contents of the Claims system matters to what is actually patented. Also, claims are subtractive/intersection, like all bullets have an AND function applied. So if you have a widget and it match…

> So if you have a widget and it matches claim 1-8 but does not match claim 9, it does not match. This is not correct. If you infringe claim 1 then you infringe claim 1. Whether or not you also infringe claim 9 doesn't matter. Assuming Claim 9 is dependent on claim 1, claim 9 includes all the limitations of claim 1. So claim 1 is A+B+C.... Claim 9 is 1 + D = A+B+C+D. So if you infringe 9 because you have A+B+C+D then…

I may have explained it incorrectly, I'm a bit rusty.

I did a lot of work in pharmaceutical route development, where some patent does "ABCD123" and we'd do "ABCD456". My point is more that, patents are usually laid out like:

1. A method for crystallization of a pharmaceutical in an organic solvent with some counterion.

2. (1), where the solvent is ethanol, or methanol

3. (1), where the counterion is Cl, SO4, or NO3

4. (1), where the pharmaceutical is a COX2 inhibitor

So that patent doesn't allow you to claim any crystallization route with ethanol. If I crystalize from ethanol but use mesylate as the counterion, I'm not infringing.

Re: Unity patents ECS

#59

Earlier quoted context omitted.

What the patent actually covers is governed by the claims at the very end of the patent, and most of the rest of the document is generally irrelevant, per my very limited understanding of how patents work. That said, I've reread claim 1 a couple of times and I have no clue what it is actually claiming.

My read (and from what I know of ECS) is that it's basically claiming a system which automatically organizes the memory layouts of instances of different types of "entities" (i.e. "type" meaning which "components" it includes) in an efficient manner. Here, an "entity" is just an object identifier (integer, or whatever). A "component" is a specific set of data relevant to some function (e.g. position component would h…

It's basically describing using a slab allocator to arrange the entities. How is this new art?

Re: Unity patents ECS

#60

Earlier quoted context omitted.

> Now I have a question: is it possible that things published before the date of the patent (24 march 2020) are infringing on the patent? Or, on the contrary, things published before this date can actually be prior art? You have to look at the date of filing, not date of publication. The date of filing is June 12, 2018 (patents take a few years to issue these days). So March 9, 2019 cannot be prior art.

This is very very concerning. Not only Amethyst's legion is archetype based, but also Bevy's ECS. So the Rust gamedev ecosystem is somewhat tainted (depending on the specifics on the patent and the source code of those frameworks, but I think that even reading the patent is risky - or at least I was told that, because if you know about the contents of the patent, infringing it is worse)

Isn't that the same principle that e.g. https://www.boost.org/doc/libs/master/doc/html/poly_collecti... which has existed since 2016 and described since 2014 (at least: https://bannalia.blogspot.com/2014/05/fast-polymorphic-colle... ) ?
Post reply on HN