17 ms·
Unity patents ECS
- dubcanada 5y agoHow does such an abstract idea get approval? Like Figure 4B. It's a diagram that basically says, if something happens and we need a new entity we create one... Figure 4A is literally talking about adding to an array. Figure 1 is just a diagram of a computer? The abstract is just garbage collection...
- trzeci 5y agoThe patent went through as it was described in the context of device - where a device is a core element of the application. Terrifying that went through.
- Sanguinaire 5y agoThe patent system is just not fit for purpose. Even for pharmaceuticals and other long-development-cycle products in the real world it has been corrupted beyond reason; I worked on battery materials for a while and even though there was plenty of prior art, a couple of players had basically patented every metal oxide possible under the guise of a cathode material, even though most of them would be utterly useless. Until there is some penalty for such time-wasting chancers, nothing will change. The software world makes it even worse by removing the already low bar for a proof of existence or actual benefit.
- jcranmer 5y agoWhat 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.
- ska 5y ago> and most of the rest of the document is generally irrelevant INAL but this is incorrect. The rest of the document is mostly the disclosure and - critically - claims cannot rely on anything not disclosed. Importantly during the review process you can edit or amend your claims, but you can't update the disclosure without changing precedent date.
- jcranmer 5y agoI should have been somewhat more precise with my wording. The document is generally irrelevant for the purposes of deciding whether or not your product potentially infringes the patent. It's not until after processing the claims, or perhaps during if you're unclear about terminology or meaning, that you start considering the rest of the document.
- ska 5y agoSeems I misinterpreted your comment.
- kortex 5y ago> 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 matches claim 1-8 but does not match claim 9, it does not match. That is, unless you specifically call out your "unions" - this usually looks like "the method of claim 8, but abc", "the method of claim 8, but def". That's how you do "unions." Kinda. This is a gross simplification.
- greensoap 5y ago> 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 you also, by definition, infringe claim 1 because you have A+B+C. Also, you can write a claim that has ORs applied. But the drafter has to be really careful with how it is done and it is not the norm.
- kortex 5y agoI 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.
- IdoRA 5y agoConsidering the doctrine of claim differentiation, your hypothetical could still be infringing Claim 1. You’d have to consider the spec, among other things, to persuasively argue one way or the other.
- deorder 5y agoIt appears to describe a data-oriented component entity system in which all data types within a component are assigned to chunks (batches) in such a way that they can be optimally grouped with data from components of other entities for optimal memory access.
- shock-value 5y agoMy 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 have x, y, z floats, while damage level component might be a single float to represent amount of damage). ECS generally means laying out all memory for all instances of a given component contiguously, so in the example I gave you'd have one array for all position components in your game world, and one array for all damage level components. The "entities" are just collections of these components from these different arrays. So the "player" entity for example is logically composed of one particular element of the position array and one particular element of the damage array. This is more cache friendly when you have a "system" (say, the physics subsystem) which generally only operates on one or a limited set of types of components across many entities. There is no way ECS in general is patentable but their system which intelligently and automatically performs the memory layouting for their form of ECS (which also includes the notion of chunking these arrays into finite sized blocks) very well might be.
- coldcode 5y agoIt's basically describing using a slab allocator to arrange the entities. How is this new art?
- shock-value 5y agoI don't know the details of slab allocators. Though if you are describing an allocator that does not have knowledge of what the memory is being used for (e.g. the difference between asking the allocator for memory for a position component defined as three floats and also a color component also coincidentally defined as three floats, versus asking the allocator for two sets of three floats without regard to their intended usage), then it is not the same.
- jlokier 5y ago
- pclmulqdq 5y agoThe other disclosure establishes prior art for other people and sets you up for more patents in the future with the same prior art date (continuations). The claims are the legally enforceable part.
- letsInvalid 5y agoUnity is claiming they came up with this: https://www.gamedev.net/tutorials/programming/general-and-gameplay-programming/implementing-component-entity-systems-r3382/ https://www.gamedev.net/tutorials/programming/general-and-ga...
- adamnemecek 5y agoI should patent arrays.
- drunner 5y agoDoes 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 | _______________________
- jcranmer 5y ago> 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.
- gfodor 5y agoRidiculous, and corrosive. I understand this isn't "patenting ECS" but patenting optimizations to ECS that are heavily inspired from existing work like, for example, JIT javascript runtimes, is shameful behavior. I hope Epic or someone else produces prior art and the requisite shaming. The reason ECS is even a thing is because of the endless amount of sharing and openness from game engine studios at conferences like GDC. This runs counter to that openness, and is particularly corrosive given the trend towards game engines becoming more and more aligned with trying to lift all boats (such as the efforts by Epic and more recently Amazon's Open 3D engine.)
- deleted 5y ago[deleted]
- deleted 5y ago[deleted]
- michaelbrave 5y agoThis is bullshit, not only is it too abstract of an idea, they aren't even the ones that invented nor perfected it. They have no right.
- badloginagain 5y agoPatenting Entity-Component-System sounds like a hot take. I didn't look close enough to see if what they're patenting is something specifically unique to Unity3d's implementation. It would have to be? From the abstract it sounds like the equivalent of trying to patent Observer/Observable. Maybe there is a history of patenting software architecture that I'm not aware of, I'm not an expert in patenting in software development.
- gfodor 5y agoI haven't read the patent but Unity's long march to ECS included figuring out mapping their previous GameObject + Behavior paradigm to the ECS paradigm. At a glance, part of this appears to be trying to patent that. This isn't a Unity specific problem though, many gaming studios have existing code on the old paradigm and are looking for good ways to migrate or bridge to ECS. Patenting such technology runs counter to the reality that this track of game engine innovation in particular has been one particularly notable for the open sharing of techniques and technology, in the interest of everyone benefitting from a better approach in core architecture that improves performance and reduces incidental complexity. At some point, it became a cultural norm that people were not going to hold their cards close to their chest on this core part of the game loop. There are a lot of areas where I'd be inclined to accept the idea of IP protections for game engine companies on an ethical basis: this isn't one of them.
- Jare 5y agoI suspect the meat of the patent will be very specific about the types of optimizations they do in Unity DOTS, rather than the concept of an ECS. There's plenty of public prior art about ECS, but the concrete set of choices they made to implement and optimize theirs is a concrete thing. (ftr I don't think it should be patentable either way)
- malwrar 5y agoECS has been around since like 2007 and there's plenty of public prior art on this, but suuuuuuuuuure Epic Games yep you guys totally invented the concept and deserve a monopoly on use of the technology. This might directly affect several projects I have if they choose to use this patent offensively. This further cements my disgust with IP law, honestly I'd rather we just have information anarchy when it comes to abstract computer stuff at this point.
- adamrezich 5y agothis is Unity not Epic
- stonewareslord 5y agoI think OP might have confused Unity (a game engine) with Unreal Engine (game engine owned by Epic Games)
- malwrar 5y agoThis is correct, mixed up the companies. Thanks for clarifying before I could.
- marcodiego 5y agoAnother reason to support godot.
- wilg 5y agoThey should finish the ECS system first.
- meheleventyone 5y agoThere’s a whole lot more as well: https://patents.justia.com/assignee/unity-ipr-aps https://patents.justia.com/assignee/unity-ipr-aps
- deleted 5y ago[deleted]
- hackthefender 5y agoPatent 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 patent. And on unpatentable subject matter (i.e., being an abstract idea), there is a pretty good argument that this improves the functionality of the computer, not just uses a computer to do something known, which recent cases have started using as the de facto dividing line. 1. A system comprising: one or more computer processors; one or more computer memories; a set of instructions incorporated into the one or more computer memories, the set of instructions configuring the one or more computer processors to perform operations for automatically managing a set of memory chunks within the one or more computer memories at runtime for a computer application, the operations comprising: receiving a set of entities from the computer application, each of the set of entities including a set of components, wherein each component of the set of components has one type of a set of types; classifying the set of entities into a set of archetypes, each archetype representing a different count of the set of components or a different combination of types of the set of components relative to other archetypes of the set of archetypes; based on a determination that one of the set of archetypes corresponds to a new archetype, building a new memory chunk, adding the new memory chunk to the set of memory chunks, and populating the new memory chunk, wherein the populating of the new memory chunk includes adding data from the set of components included in one or more entities of the set of entities that are classified under the new archetype, the adding of the data including contiguously adding the data to ends of a set of component data arrays included in the new memory chunk, each of the set of data arrays included in the new memory chunk corresponding to a respective component of the set of components included in the one or more entities that are classified under the new archetype.
- kortex 5y ago> And on unpatentable subject matter (i.e., being an abstract idea), there is a pretty good argument that this improves the functionality of the computer, not just uses a computer to do something known That's not really what is getting folks riled up with respect to patentability. The techniques mentioned (as interpreted by some) are considered not at all novel, being widely known in the prior art. That's my take. I haven't dug too deep. Update after briefly reading the patent. I like to read claims backwards, because they almost always build upon each other, with Claim 1 basically claiming the broad domain, and each subsequent claim narrowing the scope. Claims are "subtractive" - each has to match, unless you specifically call out sub-claims (e.g. "8. claim 7, but also ABC; 9. claim 7, but also DEF"). Here's a plaintext link for those following along: https://patents.justia.com/patent/10599560 https://patents.justia.com/patent/10599560 Claims 17 and 20 are the real kickers. > The method of claim 10, the operations further comprising: > determining that an entity of the set of entities within a first archetype has been modified; > based on a determination that the modified entity corresponds to an additional new archetype, adding the additional new archetype to the set of archetypes, building an additional new memory chunk for the additional new archetype, populating the additional new memory chunk with data from the set of components included in the modified entity, and deleting data corresponding to the modified entity from the first archetype; > based on a determination that the modified entity corresponds to an existing second archetype in an existing memory chunk, populating the existing memory chunk with data from the set of components included in the modified entity, and deleting data corresponding to the modified entity from the first archetype. Woof. That's really dense, but it sounds like it's basically describing inheritance based on composition. To update an archetype and all entities of that archetype, create a new archetype in memory, move some pointers, and you're done. No reallocation beyond that updated archetype node. > 20.20. The non-transitory machine-readable medium of claim 19, wherein each component data array of the set of component data arrays is contiguous with a next component data array of the set of component data arrays. So this isn't just about ECS, this isn't about archetype ECS, or even OOP-based archetype ECS. This is specifically about an OOP-based archetype ECS using some fancy memory layout method, which lays out contiguous chunks in such a way that modifying archetypes doesn't result in large reallocations. I think. It's super dense. Even with all that added specificity, I still think it falls short of clearing the bar of novelty beyond prior art. This is such a performance-relevant part of game engines that leverage ECS, that somebody out there has to have already thought of ways to improve the memory management of entities.
- deorder 5y agoI don't see anything new even when considering the entire context. I have worked on similar data-oriented entity component systems for over 10 years. Unity was actually very late to the game and Sony had to push them to give it more priority. Edit: Some examples, including the use of chunks, or what I call batches: https://stackoverflow.com/a/15414523 https://stackoverflow.com/a/15414523 https://old.reddit.com/r/C_Programming/comments/6nxfzp/going_from_intermediate_to_advanced_c/dkdb630/ https://old.reddit.com/r/C_Programming/comments/6nxfzp/going...
- runevault 5y agoNot sure about Archetype specifically, but discussions on twitter about this have pointed out talks from GDC going back to at least 2002 when it comes to ECS.
- deorder 5y agoYes, but their claim is specifically about (quoting my other comment): > It appears to describe a data-oriented component entity system in which all data types within a component are assigned to chunks (batches) in such a way that they can be optimally grouped with data from components of other entities for optimal memory access. This is not new either. I and others have done this for years. The term "archetype" is something they made up to describe something that has been done many time before. Edit: It appears that the term "archetype" was introduced somewhere in the last few years. Not sure then if it is specifically coming from Unity.
- shock-value 5y agoWithout commenting on whether this patent should be granted or not, I really don't think it is about ECS in general. The patent has to do with an automated system for organizing component data into arrays and chunks. The key word being "automated". You give it definitions for component data, start creating entities with combinations of those components, and it does all the rest (at runtime). There might very well be prior art for that as well but any ECS system where the layout scheme has been defined in advance would not be relevant one way or the other. At least that is my read of all of this.
- jeffreyrogers 5y agoWhen reading a patent basically the only part that matters legally is the claims section. This is always at the end of the patent filing, at least in modern practice. This is on page 28 and 29 of the filing. It starts with "The invention claimed is". Google Patents has a better format than the USPTO website and makes the claims easy to see: https://patents.google.com/patent/US10599560B2/en?oq=10%2c599%2c560 https://patents.google.com/patent/US10599560B2/en?oq=10%2c59... If it is not claimed in the claims it is not subject to the patent. Any analysis of this patent (or any other patent) that doesn't focus on the claims is not a real analysis. Part of why companies spend so much money on patent lawyers is because good ones know how to write the claims in as broad a way as possible that won't get thrown out by a court. This way the patent applies to a maximal set of implementations. The claims are typically hard to read, the ones in this patent are no exception. There are essentially 3 main claims this patent is making (numbers 1, 10, and 19). These are all separate claims. So if any one holds up in court then the defendant is violating the patent. I briefly read them, but it takes a lot of effort to understand them and my knowledge of ECS is shaky. However, none of them seem to be claiming anything all that novel, so I would be surprised if they held up in court. But to use an expression I've heard somewhere, patents aren't read, they're counted. Lone inventors almost never successfully defend a patent. They were intended to spur innovation but in modern practice patents are used as legal weapons by large corporations. That's why most major companies incentivize having employees produce patents. The companies don't really care what's in the patents, they just want a lot of them so they can successfully threaten other corporations with lawsuits. This allows everyone to infringe on each others patents, since it would be too expensive to actually have a trial. So big corporations are largely protected from patent lawsuits since their competitors are probably infringing on at least some of their patents and vice-versa. The real losers under this system are small companies and individual inventors.
- newobj 5y agoHere's some prior art from 2002: https://neil3d.github.io/reading/assets/slides/data-driven-game-object-system.pdf https://neil3d.github.io/reading/assets/slides/data-driven-g... Seminal talk btw IMHO
- kensai 5y agoI wonder if this patent will be recognized or enforceable in Europe.
- Kiro 5y agoThe European Patent Convention states that software is not patentable, so no.
- j-pb 5y agoThat doesn't stop them, Benoît Battistelli has been actively pushing for software patents and ignored the EPC. With staff being quoted previously: “We are far too often put in front of the dilemma of either working according to the European Patent Convention and respecting the examiner’s guidelines, or issuing ‘products’ as our hierarchy demands" The wikipedia article on him is harrowing. https://en.wikipedia.org/wiki/Benoît_Battistelli#Discontent_within_the_EPO_staff https://en.wikipedia.org/wiki/Benoît_Battistelli#Discontent_...
- robertlagrant 5y agoI can imagine law firms would be lobbying hard for software patents. Some more big tech money to cream off into adminstrative tasks.
- tluyben2 5y agoYou file per region.
- zoobab 5y agoEPO has destroyed the law with "as such" or "technical effect", and they are lobbying hard to get the UPC in place, so that software patents are fully "valid" accross Europe.
- mabbo 5y agoSetting 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 owns (a couple of which have my name on them as 'inventor') are never going to see a court room. Why do they patent everything? So that patent trolls can't patent it first and then sue them for patent violations. It's a defensive patent. Is ECS going to be Unity's "This is ours, no one else can use it without paying us" lawsuit-generating patent? I doubt it. They know they'd lose in court eventually, and along the way the entire industry would stop doing business with them. It would be a complete lose-lose move. On the other hand, now that Unity owns this patent, no patent troll can go and patent ECS then start suing small-studio Unity customers, like parasites leaching off the success of Unity.
- the_duke 5y agoDefending 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.
- deleted 5y ago[deleted]
- gentleman11 5y agoLast year unity retroactively changed the license on assets from its asset store. Since then, you can no longer let freelancers or contractors use your assets while they do work for you, you end up having to buy them each a copy of everything in practice unless their work is really decoupled from the project. It’s a real killer for indies who are trying to collaborate who have not formed a company yet. This seems to apply to items you purchased before they changed the terms. They even promised they freelancers could use your assets in support forums days before the change I stopped using unity after that. They don’t act in good faith towards their users
- timmytokyo 5y agoIronically, 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.
- jay_kyburz 5y agoBecause its such a different way of working I had assumed they would fork the engine and start pitching a different kind of engine with big changes to the work flow and editor. Call it Super Unity and charge twice as much.
- timmytokyo 5y agoI wouldn't be surprised if this is what they end up doing. Trying to shoehorn ECS into an already existing object-oriented engine has probably been an engineering nightmare for them.
- zubspace 5y agoI know what ECS is and why it's needed for some games. But for a large group of game developers that transition was simply too overwhelming I think. Not just the nomenclature: ECS, DOTS, Burst Compiler, SRP/HDRP/LWRP/URP.... It's an endless list of confusing terms... But moreover those concepts are not so easy to grasp and to use in code by just looking at a few examples. After doing lots of small 'experiments' in Unity (the old way without ECS) I started to realize, that more and more I was fighting the engine, trying to use or build upon features which were half-baked, buggy or simply not developer friendly. And instead of first fixing those things Unity decided to go all in on ECS. There came Godot, a breath of fresh air without all the cruft and without all those confusing terms. I think Unity will have a hard time in the future: On one hand there's Unreal which caters the AAA market and there are smaller engines like Godot for the indie crowd. Unity is the odd one in between.
- 5y ago
- junon 5y agoThis is game over for indie devs :|
- bob1029 5y agoIMO, this is too broad a patent to be enforceable. I have built many systems that look exactly like this over the years. The terminology I use is simply "data-driven". Nothing so fancy as "Entity Component System", which is just an opinionated take on the more fundamental idea of arrays of structs (aka "data"). My take is that this patent is part of a defense-in-aggregate strategy which leverages a larger portfolio. I don't think a legal team would stand on this one alone in a AAA vs AAA studio fight. I usually visualize large corporations pointing patent piles at each other as if they are locked in some sort of cold war. I have zero fears that this patent would be used against me or any of my work.
- AlbertCory 5y agoPatent agent here. At Google we investigated patents and their possible invalidity almost every day. Claim language is obtuse because it's for lawyers, not laymen. An engineer can write the description, but only the lawyer can write the claims. It's immensely complicated, but if Unity does someday assert this patent against someone else, then you all are helping the defendant when they have to defend themselves. At least, I hope the defendants find this discussion. The defendant's standard tactic is usually to file for IPR, or PTAB reexamination of the patent, which is like a trial without a courtroom. The cost figure I recall is $500,000; maybe it's different now. If the IPR succeeds, then Unity is SOL. There was a Supreme Court case recently where some plaintiffs tried to get the whole IPR system thrown out. They failed, as far as I know. Lastly, the whole back-and-forth with the PTO is in the public record, if you know how to find it (and if you think reading claims is difficult, wait 'til you try reading a prosecution history!)
- akersten 5y ago> An engineer can write the description, but only the lawyer can write the claims. If anyone needs a one-sentence rationale why the entire concept of a software patent should be invalid, here it is.
- jlokier 5y agoNot just writing them. Apparently only a lawyer should read the claims too: > Lawyers are not very expensive compared to the consequences of trying to read it yourself (https://news.ycombinator.com/item?id=28451317 https://news.ycombinator.com/item?id=28451317)
- AlbertCory 5y agoThe same is true of any patent, even the hardware patent in Flash of Genius [1] [1] https://www.imdb.com/title/tt1054588/?ref_=nv_sr_srsg_0 https://www.imdb.com/title/tt1054588/?ref_=nv_sr_srsg_0
- jlokier 5y ago> The cost figure I recall is $500,000; maybe it's different now. That's the standard tactical defence fee? I would guess that kind of money is very far above the means of most open-source developer defendants. And wouldn't a larger, closed-source business rationally choose to pay Unity (say) $400,000 extortion fee instead of taking it to court with the associated uncertainty?
- AlbertCory 5y agoOn software patents, something I've devoted a hell of a lot of time to: The commenters who mentioned "regulatory capture" and patent trolls are 100% right. But it's much worse than you think: the professional societies (ACM, IEEE) and tech industry management are solidly not in your corner, either. They've invested too much money in the current system. Let's imagine that GitHub or StackOverflow or some other large developer forum ran a poll: "Are you in favor of abolishing software patents?" What do you think the results would be? Why don't they ask the question? Unfortunately, they don't want to hear the answer. It might move Congress to actually do something, which they always prefer not to do.
- kristianp 5y agoStackexchange has a patents sub-site aimed at finding prior art for software patents, so I wouldn't paint them with that brush. https://patents.stackexchange.com/ https://patents.stackexchange.com/
- AlbertCory 5y agoAnd indeed, I have a quote from Joel in my paper [1]. However, the law is full of the phrase "practitioners in the art." A poll showing that a vast majority of practitioners of the art feel one way would have some effect. Whether it would be enough, or how long that would take, is an open question. [1] https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2399580 https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2399580
- Weryj 5y agoSo what, the ECS I wrote is now illegal? This is dumb
- PostThisTooFast 5y agoWhatever "ECS" is...
- oraknabo 5y agoFor people looking for how far back prior art goes, Looking Glass developed an ECS for the Dark Engine on the Thief games (& Irrational used for System Shock 2) in the late 90s. The version Unity's been building with DOTS was, I believe, being headed by Mike Acton, who's been advocating for years for everyone in the industry to abandon OOP and switch to data-oriented systems. I wonder what he thinks about this.
- oh_sigh 5y agoWho are the examiners who are reading and granting patents like this? Are they experts in their field? IE, could they program a game in C? Do they keep up with state of the art techniques?
- literallyaduck 5y agoKeep playing with patents, china won't.
- JoeCianflone 5y agoSo I started playing with Godot in early 2020 and remembered reading an article on ECS and why they don’t do it. I just found it again and they say this pattern has been around in the game industry since the 2010s feels like 1) it’s good Godot doesn’t implement this, just to not deal with any potential Unity BS 2)this patent would fail if you’ve got deep enough pockets and time. Here’s the article: https://godotengine.org/article/why-isnt-godot-ecs-based-game-engine https://godotengine.org/article/why-isnt-godot-ecs-based-gam...
- AnIdiotOnTheNet 5y agoPretty sure it goes back a lot farther than 2010. As I recall Sean Barrett mentioned using it when working on Theif, which was released in 1998.
- m9731526 5y agoIt's indeed really surprising to see them _patenting ECS_. Unity's ECS is a lot about cache-friendliness, not just simple entity-compoenent-system, though.
- concretemarble 5y agoThe whole point of ECS is cache-friendliness, so it's kind of the same. Besides there is nothing novel in their implementation. Putting frequently accessed component together is quite an old technique.
- m9731526 5y agoOh, I thought the general definition of ECS is just about how to organize stuff. Or is that EC?
- OberstKrueger 5y agoApple's GameplayKit also includes an ECS system. Not a patent lawyer, so not sure how broad or not this particular claim is. But that was introduced back in 2015 or 2016, so there's prior art there.
- miga 5y agoExample of ECS that was published on GitHub before this patent was even filed: https://github.com/jonascarpay/apecs.git https://github.com/jonascarpay/apecs.git
- tibbon 5y agoI wonder how this is going to impact the Amethyst project’s Legion ECS that also uses archetypes.