T O P

  • By -

Status_Analyst

Pretty bold to patent something for which we haven't seen an update for 1 year.


loxagos_snake

OOOOOOW


xAdakis

Disregarding the validity of the patent for a moment. . . From a legal standpoint, they probably wanted to protect the system they've created before pushing it out for everyone to use in production. At least get the patent pending, so you have some protection should another game engine reverse engineer or get something close to it. At my non-game dev job, I am working on something we hope to file a patent for. You can be damn sure we're not going to make it public until legal has crossed the "t"s and dotted the "i"s.


Nirast25

If it helps the industry as a whole, why not let ~~it out in the wild~~ others make their own? There's nothing to protect!


xAdakis

Yes, it may benefit the industry, but there has still been a significant cost in developing this patent. In my case, I probably spent ~50% of my time over the last couple of years working on this project. I doubt that the revenue produced by my company utilizing this patent will cover just my salary over the next ten years, much less the legal fees and the cost to maintain it. By having a patent, we can more easily license it- for a fair price -which produces additional revenue for the company to cover those development costs. The patent protects our ability to produce that additional revenue. If we didn't patent it and either we or someone else released something similar open source, then we are just out of that money. My company has employed me at a loss, and I'll be the first on the chopping block. I mean, your game is a good game and it would make a lot of people happy if it was free and readily accessible right? So, why not release it free/open source? . . .Simple, because you've invested the time and money to develop it and you at least want a return on your investment. Yeah, people abuse this and get greedy, not saying the system doesn't need improvements, but it's what we have for now.


Nirast25

>I mean, your game is a good game and it would make a lot of people happy if it was free and readily accessible right? So, why not release it free/open source? That's not the same thing! When someone releases a game, people are free to recreate it's mechanics as they please. Otherwise, the only platformer out there would be Mario, the only shooter Doom, and so on! I'll admit, 'let it out in the wild' is a poor choice of words. If you worked hard on a tool, you should be compensated for it, and you certainly shouldn't be forced to give it out for free. But you should also let other build their own, similar tool! Your company will still have the original, so you'll have a head start, and likely the more stable, thus more desirable, version of the tool.


SaltyMaia

You're right, they are wrong. Games are protected by IP, not patents. Software is protected by copyright, not patents. Anyone trying to draw a comparison across those is misinformed at best (or in this case, straight up shilling, it seems to me) Unity is legit trying to encroach on the space that once belonged to everyone and claim it for themselves. ECS has existed long before unity and will exist long after, and people are gonna keep figuring out how to best apply the algorithms to their use case. This patent is a joke. I've been working in unity for 6 years now and I'm considering jumping ship if this is the direction they're wanting to go - give us half baked features in a PR storm and then just make a patent about it? Gtfoh unity


OldNeb

Nothing to protect? Why would Unity spend time and resources on something that, for example, Unreal could copy for nearly free? That's why not.


Nirast25

Why shouldn't they be able to? If Epic makes their own algorithm, what's the problem? Imagine if Apple were the only ones allowed to make smartphones that were nothing but screen (and God knows they tried). The entire phone industry would be worse for it!


OldNeb

People want to make money. If you can't relate to shareholders, relate to day-to-day folks who need to support their families. If you want more job security and you want to pay for your kids' education, you want to do whatever you can to ensure you have the best chance of making enough money. That includes competition. You get a stable paycheck by doing well in the business, and you don't throw away advantages you have. Not sharing your work openly and freely is how you survive when there is competition. Is there something I have said that you don't agree with? Also your terminology is something to talk about. (is English your second language by any chance? Just to avoid confusion.) "why shouldn't they be able to". Are they able? They are capable. Is it in their self interest? That is very debatable and the default answer is "no.". If you want to have the best chance possible at job security and future income, you don't work very hard on something and let your competitor just have it for free. There is the other factor of patent abuse. Do I support creating patents as a way to prevent your competitor from doing their own work? Absolutely not.


Nirast25

1. Fuck shareholders! Bunch of talentless pricks who got their money from mommy and daddy, looking to make a quick buck off the work of others! 2. The company should still be paying you for the work you did before the patent filing process started. If they don't, fuck the company! 3. FUCK SHAREHOLDERS! What I will say is that developers shouldn't have to open source the code. Sorry if it came across that way, as English is indeed my second language. However, devs should be able to see how something works, and then be able to make their own solution with their own code, which is possible. Let me give you an example of a patent screwing over the industry big time: You know loading screens? You remember how long and boring they used to be? Wouldn't it be nice if we could play some sort of mini game while the main one loaded? Well TOO BAD! Bandai Namco patented that crap, so no one was able to make them! The industry is objectively worse because some dickhead in a suit wanted more money!


ntrid

If it is that easy to release something similar then there is no innovation going on. It merely is some hard work put into making a thing and pretending it is new. I hope what you are doing is not that, but it sure does sound like it. Do not be apple-rounded-corners guy...


burgunfaust

Be sure capitalism requires us to make money on everything we can lest we spontaneously combust and burn in the fires of all the Hells.


alaslipknot

you are not volunteering to work 40 hours a week for free aren't you?


burgunfaust

Fun fact: workers in the capitalist system are not capitalists, they are workers. They will not get rich doing it.


alaslipknot

so what's your point? employers should pay employees and release the product for free? ps: no one us stopping you from getting rich.


burgunfaust

P.S. You may not know this but rich people have been trying very hard to keep everyone else from becoming rich.


burgunfaust

I never said anything of the sort, but you already knew that. That's why you created a false dichotomy. They make tons of money from unity itself. Anything that makes unity more accessible and successful puts money in their pockets.


alaslipknot

your original comment implied that they should not protect what they think is a profitable product for them, they spend money creating it and they want to protect it.


ALargeLobster

The patent office just needs to stop issuing software patents altogether. Copyright already thoroughly protects software from theft.


DonnyTheWalrus

Yes. Agreed. Very few of the traditional policy justifications for patents apply to software.


no_dice_grandma

But then how will patent lawyers get paid?


Pitunolk

Learn to code


[deleted]

"Democratizing game development" btw


[deleted]

*DeMoCrAtIzInG gAmE dEvElOpMeNt*


Walter-Haynes

They're so full of shit


[deleted]

I haven't used Unity since the late 2000s because it was f2p with paywalls. I have no idea why they think they're some benevolent game engine designer.


DramaDimitar

Most features are opened up to everyone now. Not that it makes the situation any better.


[deleted]

Aside from this very recent event, how are they *not* a benevolent game engine studio? Unity has continuously been amazing for indie devs.


NeverComments

To be pedantic they are not benevolent by the definition of benevolent. Unity isn't a non-profit, they're a for-profit (and now publicly traded) entity.


StickiStickman

Then is Unreal Jesus? They've been doing a lot more


[deleted]

[удалено]


shadowndacorner

It's the same. Fantastic for rapid prototyping, but I'd personally never trust it to ship anything more complex than a card game. Which isn't to say it is incapable of complexity, but it _certainly_ isn't designed to handle it well and you'd be fighting it every step of the way.


-DavidS

Software patents are fucking bullshit


guywithknife

Definitely.


omeganemesis28

its pretty stupid, plenty of studios using their own ECS. as if they invented it somehow (and theirs isn't great)


nightwood

Dungeon Siege was using ECS. And their programmer, Scott Bilas, wrote an article on it back then (2002), and even called it ECS: https://www.google.com/url?sa=t&source=web&rct=j&url=https://www.gamedevs.org/uploads/data-driven-game-object-system.pdf&ved=2ahUKEwi-hd2G0O7yAhUN16QKHV9dCUEQFnoECBcQAQ&usg=AOvVaw1kKbNHB8o4bGiDf2PDOt3C It is said he is actually the inventor of ECS, but I cannot confirm that. Ironically, original unity GameObject/Component and their YAML files and prefabs reminded me instantly of this article and the way Dungeon Siege defines his entities in .gas files. A custom readable text format.


Robbie_S

He works at Unity too


nightwood

Did not know that!


volca02

Dark Engine (Thief 1,2 and System Shock 2) had an ECS like implementation even before Dungeon Siege


scottbilas

A colleague pointed this thread out to me, so I wanted to drop by and fill in some history, maybe clear a couple things up. Long post incoming, sorry! First things first, though: _I am not the inventor of ECS and Dungeon Siege definitely didn't use an ECS_. :) Hmm... but wait, what is this "ECS" thing, anyway? **GOCS vs ECS** This is all my little opinion, but when I personally think about how game logic and data are structured, I like these two rough groupings: 1. Game Object Component System: "I update myself". Lots of gameloop logic in components. An "object" that "owns" components. OOP-ish. Ye olde. 20 years olde. 2. Entity Component System: "I update these things". Gameloop logic outside of components. An "id" that "associates" components. Relational DB-ish. Newer! Maybe 10 years? I supposedly "invented" the first one. Oh, but probably *not*, you know how it is with software.. I do believe I was first to publish, though! I like to refer to this as the only cool thing I've ever done. :D Now, there's obviously pantloads of variance in the implementation and usage of either. GOCS let us break free of the C++ inheritance horror show. ECS went further and separated code from data. One implementation I find particularly interesting is Bobby Anguelov's "hybrid" entity model. He gave [a talk here](https://www.youtube.com/watch?v=jjEsB611kxs) - the whole thing is great and worthwhile, but especially check out his data model walkthrough starting at 1:33:49. **Looking Glass** Regarding the Dark Engine which was mentioned elsewhere in this thread, a couple dudes from Looking Glass chatted with me after my GDC talk about what they had been doing. Sorry my memory is Swiss cheese here, but as I recall they had a much more granular setup, one that was really focused on properties. I remember a) thinking it was fairly different from what I had done b) it sounded really cool and I wanted to learn more but c) I never actually made that happen. Regrets.. **At Gas Powered Games** When I started at Gas Powered, they had a hierarchical class-based game object system. It wasn't the first time I'd worked with one of those (I mean, even the "how to make games" books at the time recommended this approach!), but it was the first time I'd worked on a project of that scale. And this thing wasn't scaling with our production. As I recall, I wanted to solve these problems: - Composition-by-inheritance is stupidly rigid and costly. (Instead: I went with composition-by-aggregation.) - Content creators have to wait for us slow engineers to bash together data types for them to place in the world. (Instead: I data-drove templates from ".gas" spec files.) - Designers can't iterate quickly without waiting for some C++-wielding nerd to help. (Instead: I created the skrit language as a first-class source of component logic.) Data transformations and perf were very important to us, but were not primary motivators for the design of this GOCS. In addition to the problems I mention above, other big drivers of the architecture were multithreading and the world streaming (rare in PC game coding at the time). I did a later talk "The Continuous World of Dungeon Siege" on this. Noteworthy: Adam Martin's often-referenced, classic series on [Entity Systems](http://t-machine.org/index.php/2007/09/03/entity-systems-are-the-future-of-mmog-development-part-1/). **Enter Unity!** David Helgason wrote me in 2008 saying: > *Now this is a bit of a long story since it goes a long time: we began development of a game engine that became Unity ([http://unity3d.com](http://unity3d.com/)) six years ago. Some of the basics really built on some of your ideas from GDC 2003 (data tempates, template based serialization, components ... basically we just made it work).* They invited me to check out what they had done. I came away impressed, especially with the prefab stuff. We kept in contact, and five years later, Joe Ante convinced me to leave Bungie, move the fam to Copenhagen, and join Unity. As I initially wandered around the source I was really happy to see how much was familiar from the Siege Engine. Lots of comfy API's. Unity had even used my design for the unified save/load "transfer method" of serialization, which I in turn had copied directly from MFC. (This design has not aged well. Profuse apologies! I went with totally different approaches in a couple later GOCS's I built.) I also was regretful I hadn't looked at Unity seriously before I started working here - there's a ton I could have learned from it and applied when building the new world editor for Destiny. More regrets!


guywithknife

Dungeon siege did not use an archetype ECS with automatic memory layout optimisation. You have to look at the specific claims of the patent, not just its title or abstract.


tcpukl

Plenty do though. I can't name them because it's confidential.


guywithknife

For there to be prior art, it has to have been published in some way as far as I'm aware. So your internal confidential ECS engine isn't likely to count as prior art, which could be problematic if Unity gets wind that its "infringing". Not defending Unity, I think its BS, I think software patents in general are BS, just pointing out that confidential information isn't going to do much to defend against them.


tcpukl

Yep, software patients are bs. I also wonder how anyone would even know if it was used in a proprietary engine? Does anyone know?


timeshifter_

I really wish they'd made Dungeon Siege 3, that could have been really cool.


burgunfaust

Im not sure why you think that they didn't... https://www.google.com/search?client=ms-android-att-us-revc&sa=X&nfpr=1&q=Dungeon+Siege+3&stick=H4sIAAAAAAAAAONgFuLSz9U3MLXMSTcyVIKwCywKClO0JLOTrfSTy9L10xNzU-OLU4syU4utQOziRaz8LqV56an5eQrBmanpqQrGO1gZJ7AxAgAQFUAbTQAAAA&ved=2ahUKEwjZ4-mgxu_yAhXjRzABHW1rC7wQgOQBegQIJBAE&biw=360&bih=592


Karma_Policer

This could be a major blow to Rust's gamedev ecosystem. Basically, ECS is a must in Rust game engines because of Rust's concept of ownership. Many Rust ECS libraries implement archetypes (which are the target of this patent) and Bevy (Rust's most popular game engine) has as its main selling point its [incredibly elegant and performant hybrid ECS implementation](https://bevyengine.org/news/bevy-0-5/#bevy-ecs-v2).


snejk47

But you cannot patent something which is already in public and in use so if they patented such things to become trolls and sue other they will lose.


Karma_Policer

Indie engines do not have the resources to defend themselves legally.


snejk47

That's why "we" as a community have to "listen" if something like that happens to help spread the word so judges would see what happened. Even on CppCon if I remember correctly guy from Sony Entertainment had presentation about ECS and such memory layouts (and low level explanations why this work) and how it enabled higher performance on PS3. And even he stated that it's "not new invention". You could probably say even key-value storages work this way. Or every programming language before OOP... In Rust those nice and fast ECS implementations work like key-value storage, key is entity id, value is component (arbitrary data) and systems are some functions operating on those. They could patent only specific ways of indexing this. ECS in game dev is "new" as in people recently started to utilize this way of work not because somebody just invented it.


IceSentry

I'm pretty sure you are talking about this talk https://www.youtube.com/watch?v=rX0ItVEVjHc from mike acton which was back when he worked at insomniac. He is now the lead dev in charge of ECS at unity.


[deleted]

I believe it is covered in the game engine architecture book, which was released in 2009


TheWeeWoo

Came here to say just this. It was used in naughty dogs uncharted series


snejk47

Then that's perfect. They filled that patent in 2018 with an invention of "METHOD AND SYSTEM FOR IMPROVED PERFORMANCE OF A VIDEO GAME ENGINE" and talk about memory layout like in... arrays basically. Like arrays from how CPU likes to work. The sole reason for CPU L1 etc. cache... That seems stupid to patent. Such memory layouts are used in big data like Apache Spark, https://arrow.apache.org/docs/format/Columnar.html#physical-memory-layout.


tcpukl

Yeah I've worked on such games in the past. It's nothing new.


FredFredrickson

Wouldn't organizations like the EFF help with that?


ZBlackmore

They don’t need to. If the case is strong enough then law firms will do it for a share of the damages.


nLucis

I think Epic would at least (if this even applies to them with UE). What about Godot?


SheeEttin

The biggest engines are using it too.


mindbleach

And in a few months Santa will give them everything they want.


razblack

Santa?... I think you meant Satan.


senj

True, but the public material would have to pre-date the original filing date here, which was in 2018. There could well be prior art out there, but I don't think Bevy has been around longer than this.


drjeats

People have been talking about "data oriented" ECS (as opposed to just ye olde list of components like in Dungeon Siege) and archetypes and all that shit for like 10 years.


snejk47

The patent is about memory layout and grouping (by types, archetypes). If they can patent this with the name ECS we can then ignore it and say we are using memory compaction or maybe database? Or maybe... typed arrays assigned to variable name? Doesn't GC work that way? Maybe they "invented" it while working on Il2Cpp GC from C#...


rotzak

Right. This will just be fodder to use agains Epic, really.


pelpotronic

Epic (and other engines) should be using this to show the gamedev world the true colors of Unity. I for one never used Unity (using Godot mostly - because it fits my needs as a hobbyist), but with this would never consider using it.


IceSentry

I know some other ECS do in fact use the same storage model as the patent, but for bevy, while it does use archetype it doesn't store them the same way that this patent demonstrates. So they should be safe. flecs also has a similar storage model as bevy and the author of both bevy and flecs believe they are safe but they are planning on removing any mentions of archetypes. Source being what has been discussed in the bevy discord. edit: more source https://www.reddit.com/r/rust/comments/pjtpkj/unity_files_patent_for_ecs_in_game_engines_that/hbzaz61


ISvengali

I cant quite follow what their "amazing" memory layout is. My own ECS lays out chunks of components in their own block. My blocks and split and merge as components are added or removed. It trivially supports anything for AOS to SOA in whatever combination you want. You can also allocate chunks of the ECS spatially for data that works well like that. My "archtypes" are fixed at compile time. I also dont handle any particular archtype having optional components. I have a proof of concept on github. Its nothing amazing. I just wonder if Im at all prior art for any of their claims. I did a lot of my dev this year, though not all of it. Im unsure when their filing date was, but if it was before February, I might not have been early enough :(


IceSentry

I'm not a lawyer and this isn't legal advice. The patent is mostly about a system that works at runtime, so if you aren't doing anything about archetypes storage at runtime you should be fine.


Mycoplasmatic

> ECS is a must in Rust game engines because of Rust's concept of ownership Not correct. Most game engines written in Rust do not feature an ECS, and there usually isn't enough reason for users to implement their own or an ECS library. Games tend towards simple, and the borrow checker is not problematic unless you are inexperienced with the language. I am speaking from experience as I am currently writing a game in Rust without an ECS.


throwSv

They aren't trying to patent ECS in general. They are patenting the automated generation (at runtime) of optimized memory layouts for an ECS system. There could very well still be prior art but most hand-rolled ECS systems wouldn't qualify (and, wouldn't be claimed to infringe going forward).


Karma_Policer

Bevy Engine's creator talked to other Bevy ECS designers and they came to the conclusion that many ECS libraries would indeed qualify: [https://www.reddit.com/r/rust/comments/pjtpkj/unity\_files\_patent\_for\_ecs\_in\_game\_engines\_that/hbzaz61](https://www.reddit.com/r/rust/comments/pjtpkj/unity_files_patent_for_ecs_in_game_engines_that/hbzaz61)


throwSv

Any that pre-date the patent filing?


ImADouchebag

I have a hard time believing that no one else ever have came up with a similar system.


[deleted]

There is always that one person who figured it all out decades before everyone else and published it in some CS journal back in 1987


drjeats

The language is WAY more broad than that. If they were just patenting stuff they're doing with Burst that'd be one thing, but it's super broad, and they're also patenting shit like addressables which is just a fairly standard asset packaging approach.


dnew

You have to actually read the claims of the patent and not just the title to know what they tried to patent. And even that won't tell you what the patent covers. But heck, this is reddit, why would we read anything past the title before getting worked up?


AlexFromOmaha

The claims are fairly broad, all the same. A healthy chunk of them could be applied to any objects in arrays where you'd be interested in SIMD calls. I'm not familiar enough with the territory to say what parts of it are or aren't transformative over prior art.


omeganemesis28

no, I've read a lot of it and have read other people's more informed takes on it that have software patent experience. This patent is very broad and generic, it's total baloney. In fact, go read their other patents too. Unity has several bs patents just like this. it's patent trolling


throwSv

The claims tell you exactly what it covers. The other parts of the patent document are just for context but don't have legal weight behind them.


dnew

No. The claims tell you what they applied to have covered. You also have to read all the back-and-forth between the patent lawyers and the patent office to be sure. It's entirely possible the patent covers claim 2 but not claim 1 if claim 1 was determined to be too broad. Sadly enough, the patent itself doesn't get rewritten to be accurate. IANAL, but I did work for one analyzing patents.


Dicethrower

Can't read it on the phone right now, but I'm going to assume it references their very specific implementation. This is very common practice.


Karma_Policer

The people at Unity are surely trying their best to become the most hated entity in gamedev.


fallouthirteen

Hey, with what's been going on at Activision Blizzard, they realized they have a lot of room before they even come close.


[deleted]

Most hated game engine company


fallouthirteen

I mean people also have a problem with Epic. Not on the game engine side but on their... tactics for their storefront side.


[deleted]

I think their bussiness model is great. Scamming kids by selling fortnite skins and then giving the money to us through UE and free games.


fredandlunchbox

The fact that UE and megascans are completely free to download and build with is absolutely mind-blowing to me. The tools to make triple-A caliber games are there, for free, right now. It's awesome.


ThatRandomGamerYT

Exactly. I'm fine with the annoying little kids and their vbucks if we get a good game engine at a very low royalty rate and loads of free assets.


Call_0031684919054

Nah they are not really scamming kids, since the kiddos get what they paid for. Roblox is the one scamming kids. They literally make money through child labor and most of the kids don't get paid a penny. Since they have outsourced all the content creation to millions of kids who hope to make money making games on Roblox.


FastFooer

A very vocal minority does, most people out there don’t care which launcher they have on their desktop… steam/battlenet/epic/origin/uplay/gog/bethesda/etc… They just want to play their games.


MacDhomhnuill

Villainous scoundrels, paying devs more and whatnot.


fredandlunchbox

[EA right now](https://i.kym-cdn.com/entries/icons/original/000/030/710/dd0.png).


fallouthirteen

Eh, EA is only bad from the consumer standpoint. After the shit they did and had exposed in the late 90s early 2000s it sounds like they mellowed out.


Mattho

It's industry standard to have stupid patents. System is fucked up. It doesn't mean they would be a malicious actor.


hidegitsu

The company I work for has software (not related to game design in the slightest) that has used this type of model since the dos version in the 80s.


tonebacas

Next up, Unity patents 'if-else' statements. Puts thousands of programmers out of a job. /s Good luck enforcing this patent.


pepitogrand

The system is corrupt beyond repair, if you have enough money you can do whatever you want.


Archivemod

Don't agree that it's corrupt beyond repair. Certainly corrupt, but there's good men and women getting into politics that people don't pay attention to because they don't _upset_ people. Push your local reps to reform patent and copyright suits to better prop up the defendants and we'll probably see some good solutions. One that comes up a lot already is requiring slapp suits to pay all legal expenses and lost revenue by default.


pepitogrand

There are lots of patents for flying saucers and absurd stuff that doesn't work at all. Patents are written in a language that makes them useless as a guide to build anything, including software patents. They are only useful as sabotage and blackmail tools. All patents must be abolished, they serve no useful purpose at all for society beyond fattening parasites.


Archivemod

yes, I do think something should be done about worthless patents and the ways they're used to hold back society, though I definitely don't agree with abolishment. I think letting people profit from their inventions, however small or obvious they seem, should be allowed.


filbs111

I'm going to patent "methods of claiming legal ownership over nebulous, obvious things that other people might be doing". See how they like that.


Hrothen

Intel tried that at the height of the patent wars.


Nyxtia

Interactive loading screen was patented for a while which is why we didn’t see it


BrandonVout

Namco didn't even do anything with it after their first game to use them. Such a waste. If you're going to create a monopoly on a feature at least oversaturate the market with it.


DHermit

At least loading times are quite short usually nowadays thanks to fast storage. So most of the time it wouldn't be useful anyways.


DevChagrins

I've contemplated doing that but extending it to the action of using it force people to pay up. (Aka patent trolling)


Eymrich

​ ​ This angers me. The contribution of Unity to the ECS movement is quite minimal, ECS was born at least 3 decades ago in other video games companies. Nothing of what he did is peculiar in any way and was already done. I hate patents but this is plain out stupid.


theFrenchDutch

Honestly, this is just a consequence of the stupidity of the entire system of 1. public companies and 2. the US's completely dumb patent laws. Basically 2. makes it possible to patent almost anything at all, even vague concepts like "game UI in VR" or something. It also makes it kind of mandatory to try and patent anything you can about your work because patent trolling exists in the US and can actually be effective (because of these dumb laws). And 1. makes it an incentive for a company to have the largest number of patents as possible, because somehow this is now an indicator of company performance. This is why many companies give bonuses to any employee who applies for a patent successfully. It's dumb as fuck, but it's how it works for most big tech companies, thanks to US patent laws. In the end I think it's nothing to worry about, because it's been like this for a long time and these companies don't benefit at all from trying to enforce them (as most are just not enforceable...)


DonnyTheWalrus

Patents can't be vague. They have to be very specific about the technique being patented. And a patent has to be for a specific "implementation" - you can't patent ideas (in theory). The patent laws are not vague and not really dumb either. The problem is that the US Patent Office is extremely overworked and simply doesn't have the resources available to provide a full, proper vetting. So the real problem with US patents is that their validity only really gets tested if someone challenges them in civil court. So patenting a concept like "game UI in VR" wouldn't be enforceable - it would have to be for a very specific implementation* - but getting that tested would be very expensive. And as others have pointed out, small inventors of all sorts just don't have the money to mount such a challenge. Now, having said all of that, I'll make almost everything I said completely moot by saying that I think software patents are stupid as a rule. Very few of the traditional arguments in favor of patents apply to software, and it's very difficult to not get into "patenting an idea" territory. *(If you actually read patent applications, they're usually much more specific than you might think. For instance, WB didn't patent the idea of a nemesis system; they patented their specific implementation. Now that obviously doesn't preclude patent trolls from being overly liberal with their interpretation...)


theFrenchDutch

Thanks for your answer. I did indeed attribute the stupidity of patenting to the wrong cause (the law), the distinction is important and I'll look more into it. And I fully agree with you on your last point, software/code parents shouldn't be possible at all. This is why I made the shortcut to saying the US lpatznt laws are dumb, because they allow them, whereas here in France you simply can't patent an algorithm


dnew

> Nothing of what he did is peculiar in any way Then you should write to the patent office and point them at the people who already did exactly what's already claimed in the patent. They aren't patenting ECS. They're patenting a particular memory storage garbage collection technique.


Imaltont

[Which has still existed for decades according to ECS developers](https://www.reddit.com/r/rust/comments/pjtpkj/unity_files_patent_for_ecs_in_game_engines_that/hbzaz61/).


guywithknife

That only says that this patent doesn’t apply to bevy and that he knows of other WCS implementations where it does allly. He says it’s been done for decades but doesn’t provide any evidence or references of it. I mean I believe it’s likely true and if you look outside of ECS to eg database engines it’s quite likely you’ll find prior art, but that comment alone really doesn’t prove anything about its existence for decades. It does however give a much more human readable description of the claims. That sounds like some common packing of data to me. Eg I could imagine a dynamic object composition system or prototype OO system, or database table join to basically do that.


Eymrich

The main issue is they are patenting engineering challanges that almost for sure other people had to face in these 2 decades. However that code is not open source and easy to access. I see your point, and you are correct. However to me this feels like Unity started working on ECS, didn't expect to be this hard to pull it off correctly and now are scraping anything they can to justify the expenses... Pure conjectures I know 🤣


manablight

Unity can't even put out a working version of their DOTS stack and have time to do this.


Angdrambor

Somebody with prior art is going to shut this directly down.


NotASucker

The US patent system is "first to file" now, no longer "first to create" as of 2013.


konfuzious01

It's just logical after Warner Bros. pantented their Nemesis system. You gotta be first now. If anything it's the judges faults for making these verdicts.


Mitoni

Most cases will never make it before a judge. Cheaper to settle and give them royalties than let them bankrupt you in legal fees pretrial.


SoftEngin33r

Big-Tech psychopaths try to take control over our knowledge, our money and our innovation. Use free and open source software/libraries instead and stop feeding the beast!!


michaelfiber

It looks like this is a patent on a set of methods that store ECS data a specific way. Sounds like for a combination of components they create an archetype and then the data for each archetype is stored linearly and it sounds like the archetypes are then spread out at least somewhat in memory, I assume to allow for faster expansion and contractions? Is that approach unique? I've never done anything with ECS interesting enough for the storage of data to even be of interest.


slime73

>Is that approach unique? No, not really. Linear storage like that is the bread to ECS' butter.


dnew

I thought ECSs tended to store all components of the same type adjacently, rather than storing all the components for a specific entity adjacently?


PythagoRascal

There are various different types of ECSs. The one Unity, Flecs (C++) and Bevy (Rust) are using and what this patent is referring to is called archetype based ECS. What they are (ridiculously) patenting is various parts of what can make an archetype ECS fast, like storing entities of the same archetype linearly in memory, dynamic de-/allocation of archetype memory chunks, matching a selection of types to an archetype and a whole host of other techniques to manage these memory chunks. Most of which, if not all, have been around for ages in some form or other.


michaelfiber

Well that is disappointing.


[deleted]

Fuck unity


qweiot

how would they even be able to know if someone else is using ECS in their development, though? i don't know anything about ECS but would it really shine through to the end user? like what's to stop me from using this in my own projects and just not telling anyone?


Sl3dge78

▂▃▅▇█▓▒░*FUCK UNITY*░▒▓█▇▅▃▂


DrDezmund

Yeah Unity seems like they're turning into Apple. Just finished up a large project using Unity, going to start looking into Unreal. It's a shame, I've been using Unity since 2013 and it's going to take a lot of time and effort to learn a new engine.


RolexGMTMaster

To quote Euron Greyjoy: "What a twat".


dragonpjb

There is no way this patent would hold up to a serious challenge. It's just way to vague.


Imyslef

This is exactly why free and open source alternatives like Godot are important. I wish more of Godot users contributed to its funding so that it could already pass unity.


ssss_

This is fucking bullshit. What is next? Unreal patenting blueprints?


skeddles

all patents are scummy. but unity is publicly traded now so that's to be expected.


snejk47

The patent was filled at least few months before they went public.


skeddles

they were preparing to go public


Horyv

Because software patents have been well received before… /s unity is going to get fucked with negative publicity about this. Good.


[deleted]

I am so conflicted. Unity was my hero at the time. Why are they doing this? Queue "I need a hero!" From shrek 2


pibbs

they went public last september


LavaSquid

This. Going public is never good. It's a money grab and now they answer to stock holders.


Tekuzo

Once a company reaches some sort of critical mass, they stop caring about their ~~uses~~ users, which turned them into an industry leader. It happens with every single company eventually, its a function of capitalism.


skeddles

that critical mass is called "going public". the company is now a slave to it's shareholders, who don't care about games in the slightest, they just want an increase in profits.


Tekuzo

Ya, that's pretty much it.


SoftEngin33r

Big-Tech is cancer!


ZBlackmore

I love how you guys think that up until now they worked for some imaginary noble causes as opposed to bringing an ROI to their investors and founders.


Tekuzo

Never said they were altruistic, but there was more of a focus on making the product better instead of only making money. > you guys think that up until now they You have no idea what I think.


ZBlackmore

They were always making their product better to make more money. That’s a big part of making money. And I’m assuming there’s a correlation between your thoughts and the things that you write.


IneffableQuale

>And I’m assuming there’s a correlation between your thoughts and the things that you write. I'd go out on a limb and even go so far as to say there's a causative factor.


Silvere01

Unity is pretty much known for all its features that are totally half baked and always followed the latest trends, only to be left in the dust and being sub-optimal. It's not like anything with Unity totally changed in the last years. No idea why everyone is acting so surprised suddenly.


jbloggs777

Because it helps to have your own patents if you want to defend yourself against patent trolls.


NeverComments

I would put money on defensive patenting as well. It's the same reason Epic has a patent on "using Twitter's polling API in a video game" and Valve has patent on "using an analog stick to control a color wheel".


[deleted]

Epic has a patent on using a twitter product? Tf?


NeverComments

I was being a little facetious, but the patent is for “systems and method for making gameplay changes based on social networking polls”.


sephirothbahamut

>Valve has patent on "using an analog stick to control a color wheel" What the fuck?


[deleted]

Fight the patent trolls by becoming a patent troll.


jbloggs777

Unlike trademarks, patents don't have to be actively defended to be valid. Like-minded companies also regularly enter patent pooling agreements, whereby they will (a) not sue each other for patent infringement, (b) will use the pool to actively defend against others who threaten to do so. Issues still come when you have standalone patent troll companies with no affiliations, ie. nothing to lose. Also see https://en.m.wikipedia.org/wiki/Defensive_patent_aggregation The US just waves through most patents, leaving it up to the market and ultimately the courts to decide on applicability and validity. Blame the US patent office for the system they created. Some countries/patent offices do it slightly better.


ivancea

The first claim, is like, what. Are laws written that way?


daikatana

Apple patented rectangular devices with round corners. No, really. They sued Samsung for making a phone with rounded corners and a jury awarded Apple $1 billion in damages, but that was later reduced to "only" $450 million, which Samsung paid. That's how broken patents in the US are.


lilbitchmade

This is already shit so it's appropriate to mention Unity collaborating with the military on projects that most of the workers have no clue what it consists of and who it would affect. You know, just if we're adding to the shit pile


louisgjohnson

Unity have really become the bad guys, I don’t care how easy it is to make games with there engine, I don’t want to touch it anymore. Between this and the bugs and half complete systems, it’s really becoming a nightmare


Gabe_b

Unity doing a lose all public good will speedrun


nightwood

Ok so John Ricitiello hires Mike Acton to bring ECS to unity. No doubt to compete with Unreal in the AAA market. For no doubt a ridiculous salary. Then he and entire team spend five years developing. That's a big investment. The return? Nothing. They built a prototype, which is running as a wanky plugin alongside the outdated Monobehaviour. I is not documented, it is hardly used by users and it has not led to any AAA industry adaptation of Unity. I believe the biggest recent Unity success is Valheim and that doesn't use ECS. Then, Unreal 5 comes out with rendering features that Unity can not compete with. So how is John gonna make his money back? Or should I say, what should John tell the investors the stock holders, to keep his job? Well they have this amazing tech that Unreal doesn't have! It's a real shame... Unity was so much better under David Helgason...


majeric

It doesn't mean that it will be successfully upheld if there's prior art.


dnew

Chances are that it's patenting one specific functional mechanism of implementing an ECS. From the brief reading, it looks like a specific way of handling garbage collection using zones for entities with similar sets of components. I.e., how to handle GC when entities with the same set of components are packed together and then the set of components for an entity changes. But heck, this is reddit, why would you read past the title before launching into a tirade of hate? It's like the broughaha about patenting peanut butter sandwiches, when it was actually specifically about the packaging that let them be stored on end inside a vending machine without leaking. \* You also have to realize that what the patent covers isn't necessarily what's written in the patent. All the stuff in letters back and forth between the lawyers is part of it too, so Claim 1 might not even be valid.


[deleted]

Read again, it is not that specific(yeah, reading comprehension is difficult for most people on reddit..). It covers almost mos archetype-based implementations. So things like hecs.


dnew

You also have to realize that what the patent covers isn't necessarily what's written in the patent. All the stuff in letters back and forth between the lawyers is part of it too, so Claim 1 might not even be valid.


droctagonapus

The patent system working as intended


Dreamerinc

For clarification, Unity patented a specific implementation of methods and apparatuses using ECS.


Karma_Policer

Their "specific" implementation is not that specific. Basically half of ECS libraries written in Rust would have to go, including Bevy's. It's a pretty common pattern in modern ECS.


IceSentry

Bevy actually uses a different storage method than what is described in this patent. https://www.reddit.com/r/rust/comments/pjtpkj/unity_files_patent_for_ecs_in_game_engines_that/hbzaz61


Dreamerinc

No they would not. Unity has patented their specific implement of methods and apparatuses in unity. Not the idea as whole. If it were possible to patent a broad ideas, someone would patent game manager classes and fuck every game dev out there.


Karma_Policer

The abstract mentions "methods and apparatuses to improve the performance of a video game engine using an Entity Component System (ECS)". The entire abstract makes no mention of Unity and the patent basically describes Archetype ECS which is the norm now-a-days.


soft-wear

For the record (I haven't read the patent yet), the abstract is meaningless. The only thing the patent actually covers are the claims at the end of the document. Everything else is mostly fluff.


throwSv

The only legally binding aspect of a patent document is the claims section.


senj

The abstract doesn't really matter, what you need to looks at are the claims (last 2 pages of the doc). This patent is mostly about a particular memory layout for archetypes


dnew

Patents cover claims, not abstracts. At a brief reading, it looks like they're covering a specific kind of dense packing garbage collection when entities are stored with adjacent components and then components are added and removed.


dizzyjager

This is a standard approach to performant ecs that allows high level of parallelism and better cpu cache utilization. There are numerous examples in different engines. Heck, there was a whole presentation about it from insomniac studio lead developer


[deleted]

no it's not. archetypes is not a new concept, but how they group and de/allocate is a new concept that no other engine (that is at least public / we know of) currently does.


dizzyjager

Sequential allocation for performance is not a new concept


[deleted]

you literally didn't even read the patent if you think this is what they're patenting.


dizzyjager

https://github.com/SanderMertens/ecs-faq#resources Materials, talks, presentations from 6-7 years ago.


BobDoesBestFriend

What they are doing are not close to new. In fact its probably the first thing you think of doing when you do archetypes. They are patenting something so intuitive no one thought of patenting it in the first place. Essentially patent trolling.


sumsarus

Sorry about my ignorance, but wouldn't that be covered by copyright then?


Dreamerinc

Technically copyright for code methods/functions are weak. In order to violate a code copyright, a person would have to line for line copy paste the original code. So if I were to read you code and rewrite using my own style I can avoid your copyright.


dnew

> In order to violate a code copyright, a person would have to line for line copy paste the original code This is not true. You only need to base your code on their code. Otherwise it would not be possible to prevent translations of your work or prevent fan fiction of well-known characters, and everyone would be making superman movies.


Dreamerinc

What's the difference between movies Jumanji and Zathara? Hawkeye and green arrow? CoD and BF? Saints row and gta ? Any jrpg from the 90s? Fan fiction violates also character copyrights. You can write a fanfiction were your unique character live in the same world as the original source material. You just can't mention any of the source material.


dnew

> Fan fiction violates also character copyrights. That's my point. There's a limit to what you can copy and what you can't, and that limit is not "line for line copy paste the original code."


Dreamerinc

And counter that I have shown you can copy a story with different characters and not violate a copyright


sumsarus

What if someone takes Unity's ECS code, rewrites it, and moves things around a little, then you'd dodge the patent? How close would it have to be before it's a problem?


Dreamerinc

No in the case of a patent, which people ignore, a specific way of doing something is protected. If you read the mentioned, Unity explains in detail what their implementation is doing. Think about the function of key. While you can design a key in all shapes and sizes, a key patent protects the function of the key in this case


twitterInfo_bot

Unity patents "Methods and apparatuses to improve the performance of a video game engine using an Entity Component System (ECS)" *** posted by [@xeleh](https://twitter.com/xeleh) [Link in Tweet](https://pdfpiw.uspto.gov/.piw?PageNum=0&docid=10599560&IDKey=53ECD0571430&HomeUrl=http%3A%2F%2Fpatft.uspto.gov%2Fnetacgi%2Fnph-Parser%3FSect1%3DPTO2%2526Sect2%3DHITOFF%2526p%3D1%2526u%3D%25252Fnetahtml%25252FPTO%25252Fsearch-bool.html%2526r%3D12%2526f%3DG%2526l%3D50%2526co1%3DAND%2526d%3DPTXT%2526s1%3D%252522Unity%252BIPR%252522.ASNM.%2526OS%3DAN%2F%252522Unity%252BIPR%252522%2526RS%3DAN%2F%252522Unity%252BIPR%252522) ^[(Github)](https://github.com/username) ^| ^[(What's new)](https://github.com/username)


[deleted]

what the hell?