17 ms·
Lore – Open source version control system designed for scalability
- headwayoldest 4mo agoHow long before Epic starts giving away other software and suing git to support lore?
- glouwbug 4mo agoI can’t remember the last time anyone actually played the game they got for free on epic’s store
- tombert 4mo agoI play Brotato fairly often. I am not sure I have played any of the other free games I’ve gotten though.
- takipsizad 4mo agoi've paid for brotato (Its a pretty good game, it was worth my money) and played city skylines (which i haven't paid for due to its excessive amount of dlcs)
- tombert 4mo agoThey gave away Death Stranding awhile ago, and I hear that one is good, which I don't dispute given its Kojima origins. But Kojima games require me to be in a very specific mood and I have been trying to work my way up to it.
- Tomte 4mo agoKerbal Space Program, Civilization 6, Hogwarts Legacy. All games nobody ever played…
- WillPostForFood 4mo agoCitizen Sleeper, the game that is going free tomorrow on the Epic store is really good. Space Cyberpunk themed RPG/Survival Sim. It is interesting that people are so cynical about Epic giving out free games. I get that people love Steam, but competition in the storefront market is not bad.
- hparadiz 4mo agoDoes it support Linux?
- argee 4mo ago> It is interesting that people are so cynical about Epic giving out free games. It's a mischaracterization to call the games free, if they require you to install unrelated third-party software you'd rather not install (and which at least in the past has been known to snoop your data without consent). In that sense, you may see it as backlash around characterizing the games as free in the first place, when they obviously are not.
- feelamee 4mo ago> they require you to install unrelated third-party software you'd rather not install (and which at least in the past has been known to snoop your data without consent). can you elaborate pls? I'm a little not in context
- falcor84 4mo agoI've been getting them for years now and have enjoyed many of them (though not a large percentage), and would love to use the Epic store more, if only they would implement some version of reviews/scores. Without that, I feel that I can't trust them as a marketplace.
- efreak 4mo agoI've gotten numerous Android freebies. Unfortunately there's no discoverability for their mobile app store: no profile, no owned game list, etc; just the occasional game in the store that shows a different button (owned vs free vs paid). Keep track of what games you own so you can do a search to install them when you feel like playing one, because there's no other choice.
- RobotToaster 4mo agoI played hogwarts legacy for about an hour before realising it was boring, does that count?
- rbits 4mo agoI definitely have. But they're all the games that they gave out in the early days, the more recent games haven't really appealed to me. And it didn't convince me to spend any money, I still haven't spent a single cent on anything Epic Games.
- UltimateEdge 4mo agoAhah, the second and third links on the page are to GitHub
- echoangle 4mo agoWell it seems to be intended for repos with large blobs like video games so it kind of makes sense that their own pure source code is still managed with git.
- MBCook 4mo agoIt makes total sense. It’s just kind of ironic.
- AndriyKunitsyn 4mo agoEpic's Unreal Engine development is made in Perforce, and then it was mirrored to git/Github. Or that's how it was a couple years ago. That's kind of expected, VCS is one thing, a forge is another thing.
- bachittle 4mo agothis looks cool for game development, because using Git for projects in Unity and Unreal Engine definitely has it's issues. I'm personally not a fan of Git LFS, especially since GitHub charges you to use it (which makes sense, binaries and assets are big, code is small, relatively speaking).
- gbraad 4mo agoWhat makes lore better or worth considering... when svn and git never failed me...
- hootz 4mo agoApparently, how it handles binaries when developing games.
- gbraad 4mo agoAt least a concise argument that makes sense. Not sure why the downforce happened. Are there any benchmarks/comparisons
- bpicolo 4mo ago> It’s optimized for projects—including games and entertainment—that combine code with large binary assets, and caters for the needs of developers and artists alike.
- gbraad 4mo agoStating the page initial remarks does not help. Why? I got my answer when someone mentioned perforce.
- wongarsu 4mo agoGit does great with text files, but game development contains a lot of binary assets (textures, videos, 3d models) and correspondingly huge repos. git-lfs tries to patch around that, but that makes a complex tool that creatives struggle to understand even more complex. Perforce is a pretty popular solution, and was used by Epic in the past
- frollogaston 4mo agoHave to think they're doing this out of a real need, given they were already using Perforce and must've considered Git too. It's also not like 2010s when version control was a hyped thing.
- moralestapia 4mo agoWhat a waste of a phenomenal domain name.
- Razengan 4mo agoMy first thought exactly :(
- rirze 4mo agoI can't imagine it was cheap to acquire it, so any company with VC/big Corp money would've taken it any ways.
- deleted 4mo ago[deleted]
- throwawy4321 4mo agoWhat an epic domain name :)
- bel8 4mo agorepo: https://github.com/EpicGames/lore https://github.com/EpicGames/lore Looks very git-ish. But probably better equipped for large binary files. echo "Hello, Lore" > hello.txt lore stage hello.txt lore status --scan lore commit "Initial revision" lore push
- Snafuh 4mo agoGit-ish CLI is great. The GUI is more important though. Non-programmers don't want to dabble with CLI. One reason why Perforce is the defacto standard IMO. The GUI covers 99% of daily used operations and is easy to use.
- speps 4mo agoThey’ve been dabbling in this space within Unreal Engine for a few years. Perforce is the de facto standard in AAA studios from my experience, curious to see what’s going to happen to them.
- glouwbug 4mo agoI’ve always wanted a git with five commands, and maybe with AST based diffing
- simcop2387 4mo agoThe five command part isn't really possible but you can use custom diffs for merges, git diff, etc. pretty easily. There are projects like diffsitter ( https://github.com/afnanenayet/diffsitter https://github.com/afnanenayet/diffsitter ) for doing more intelligent diffs like this for supported languages. EDIT: and then an example for the merge stuff I couldn't find while typing before: https://mergiraf.org/ https://mergiraf.org/ and HN discussion a few years ago: https://news.ycombinator.com/item?id=42093756 https://news.ycombinator.com/item?id=42093756
- frollogaston 4mo agoclone, pull, push, branch, merge, add, commit are the ones I use, but that's 7
- deleted 4mo ago[deleted]
- xboxnolifes 4mo agocheckout, log, config?
- nailer 4mo agoAnd reflog when you make a mistake.
- feelamee 4mo agofetch, rebase, blame?
- frollogaston 4mo ago
- ryukoposting 4mo agoHosted onn GitHub. Heh.
- Tuna-Fish 4mo agoLore itself is not an example of a program that meaningfully benefits from any of the key features of Lore. Lore is meant for situations where your repository is going to contain gigabytes of binary files, such as art assets for games. Git is technically great at everything but that, and even the external solutions for that situation still kind of suck.
- Wowfunhappy 4mo agoIs Lore worse at managing text files, though? If not, it might make sense to adopt it fully in an organization so you can just use one tool.
- Karliss 4mo agoGit is currently industry standard tool for software development, which means that almost every IDE and code editor has good and mature GIT integration. It will take a while for Lore to achieve similar level of support. Considering the intended usecase seems likely that they focus the effort on integrating into game engines and game development specific needs instead of making plugin for every last code editor. Not only code editor but every other software related tool interacts with version control - code review tools, CI, package managers and code forges. That's a lot more work than just creating a version control system. Why waste effort on areas that already have good alternatives. Code forges lead to the next reason -> they are making it open source (see the faq for why). If they want community collaboration it makes sense to prefer industry standard tooling. Organization internal consistency doesn't matter to external collaborators. Various Google projects with all their custom tooling are good example of what happens if this gets ignored. Every time I have to deal with depot_tools or repo it's a pain. Third reason not to self host is that it's not quite production ready (see "Is lore production-ready?" in the FAQ). Can't be self hosting from day 0 and once you have a working setup you need better argument for switching just because you can. If lore was attempting to make a statement that it's a superior method of version control for regular source code it would be a different story.
- LoganDark 4mo agoInteresting to note that this does not seem like a DVCS in the traditional sense because it depends on coordinating with a central server where all repositories will be hosted. I can't tell if servers can pull/push from eachother.
- applfanboysbgon 4mo agoIt is not a DVCS. > 3.2 Explicit non-goals¶ > Peer-to-peer decentralization. Lore is centralized by design. Two clients communicate through the remote, not directly.
- LoganDark 4mo agoDidn't catch that, thanks. I just wanted to point out that 'version control system' does not mean it is like Git, Mercurial, Sapling, etc.
- dofm 4mo agoSo it's more like git in practice than git in principle, I guess. I am not sure it is much of an issue to implement a centralised system to solve domain-specific problems that are caused by or are in the context of inevitable centralisation. I can see a bunch of media companies liking this, maybe even small design shops. Quite a lot of CMS and change control work for media is not much more than asset management; version control is often a bit of an afterthought. Web interfaces to this might end up interesting for non-profits and charities with significant media outreach.
- LoganDark 4mo agoClearly this works for Epic Games internally, so it's not an issue. A top-level comment also makes the more appropriate comparison to Perforce.
- jacobgold 4mo agoI'd trust this project more if it was named Data.
- analog8374 4mo agoAll Data is Lore. I mean lore is a superset of data. I mean data is lore with a special attribute. I'm not just picking nits here. And this is not cynicism. so there you go.
- falcor84 4mo agoI'm not the parent, but I suppose it was a joke reference to Star Trek where Data (an android character) discovers he has a brother named Lore [0]. [0] https://en.wikipedia.org/wiki/List_of_minor_Star_Trek:_The_Next_Generation_characters#Lore https://en.wikipedia.org/wiki/List_of_minor_Star_Trek:_The_N...
- cwillu 4mo agoan evil brother
- kridsdale3 4mo agoNo, just different. It's not like he had a goatee.
- cwillu 4mo ago“Nobody who tries to kill Wesley can be all bad”
- zdimension 4mo agoOh, so that's why JetBrains data thing is called DataLore. TIL
- frollogaston 4mo agoWhat is this, the sequel to the evil Spock with a beard?
- niek_pas 4mo agoJust today as I pushed some changes to Github, I was thinking how user-unfriendly Git's UI is: Enumerating objects: 5, done. Counting objects: 100% (5/5), done. Delta compression using up to 10 threads Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 290 bytes | 290.00 KiB/s, done. Total 3 (delta 2), reused 0 (delta 0), pack-reused 0 remote: Resolving deltas: 100% (2/2), completed with 2 local objects. I know all of these things communicate something to the die-hard Git user, but for most people (even most people using Git, I bet) this is just complete gobbledegook. What the hell is "delta compression"? Why do I care how many threads it's using? What is an 'object' and what does it mean when it's 'local'? What does 'pack-reused' mean? From the documentation, it looks like Lore does a bit better in this regard: Pushing 1 fragment(s) Pushed 1 fragment(s), 124.00 bytes Pushing a3f8c2d1... to branch main Pushed revision 1 -> a3f8c2d1... to branch main
- archerx 4mo agoI use GitHub desktop app that pushes to my local Gitlab. It’s a nice and simple GUI, it might be what you’re looking for.
- cedws 4mo agoGit as a data structure is clever, but Git as a CLI is atrocious.
- raverbashing 4mo agoYes, the famous debate between plumbing and porcelain Still the porcelain is more like cold stainless steel
- cmrdporcupine 4mo agoObligatory: https://git-man-page-generator.lokaltog.net/ https://git-man-page-generator.lokaltog.net/
- xiaoyu2006 4mo agothis is such a good laugh. peak comedy
- throw2ih020 4mo agoFor context, since a lot of people on HN haven't worked on games - this is not intended to compete with Git for general software development. This is a competitor with Perforce for game development. Git is fine for text based files like code, but it's really bad at stuff like textures, 3D models, audio files, and other non-text files that game developers need to collaborate on. For example, one artist might need to obtain an exclusive lock on some art assets while editing them, because there is no sane way to merge two artists' async edits. The SOTA in this area is Perforce (https://www.perforce.com/products/helix-core https://www.perforce.com/products/helix-core), a proprietary system. From what my gamedev friends tell me, when Perforce works it's great, but it hits enough snags that you need a tools engineer to manage it and occasionally fix issues manually. Git LFS is an alternative, but my gamedev friends all prefer Perforce especially when working on team projects beyond like 3-4 people.
- yemi43 4mo ago[flagged]
- rootlocus 4mo agoGit LFS has file locking, and no VCS can provide you with the tools for diffing binary assets. I don't see any meaningful difference between Perforce, Diversion or Lore and git + LFS + file locking. Unless there's a meaningful performance impact for large projects (I only work on small / medium projects), the capabilities are the same. However, I get excellent git support for code in any editor, as opposed to Diversion or Lore which have none.
- regnerba 4mo agoGit LFS for example does not support file chunking. So a single byte change on a large (100s of gigs) file means downloading the whole file again. Lore does chunking of binary files which means faster downloads and better de-dupping on the backend.
- regnerba 4mo agoPermissions is another thing. Git permissions are done one a per repo basis. https://epicgames.github.io/lore/explanation/system-design/#251-lore-vs-git https://epicgames.github.io/lore/explanation/system-design/#...
- adamnemecek 4mo agoThis looks really good. I have been using git to store some PDF (tens of GBs) and git is really not well suited for this. No GFS is not a solution.
- 20k 4mo agoThe incredible laggyness of that website does not inspire confidence. Much of the text selection is also broken, and chrome consumes nearly a full core trying to render.. something? Its remarkable that anyone thought this website was fit for release, and it gives off strong slop vibes I also have absolutely zero trust in a product like version control being provided by a for-profit company. It seems like a terrible idea to tie your software stack to Epic Games of all people, given their track record
- jon-wood 4mo agoThis is primarily going to be targeted at Unreal Engine users, for whom the source control tooling they use is the smallest of concerns when it comes to being tied to Epic Games.
- dankobgd 4mo agonever trust epic
- CamperBob2 4mo agoWhy not?
- dankobgd 4mo agoThey will kill you like they did unreal tournament. Imagine if valve killed counter strike, literally they are named after that game (unreal gold, ut99, 2k4 etc) and they killed the ut4 version. Like it's so hard for them to hire 5 people to work on it, but guy can buy whole forest for himself to "save trees"
- interpol_p 4mo agoTheir docs seem entirely LLM written. It seems especially obvious in the FAQ. While I'm not against using LLMs for writing assistance, they've left a lot of the unnecessary language and typical stylistic choices in there, which erodes my trust in the project a bit. Perhaps it's a very good game-oriented version control system, but the lack of human attention on the docs makes me wonder how much they care
- fwip 4mo agoYeah, I hope I'm wrong, but it feels a little bit like "planned project no longer has internal support, let's see if we can make it open-source to garner goodwill and recoup some of our investment." Which isn't the worst thing that can happen.
- coldpie 4mo agoI reluctantly agree. I was interested to read the system design doc[1] but it's so many pages long and so full of redundant statements and needless details[2] that I gave up a couple sections in. The numerous "it's not X, it's Y" constructions give the game away. If they can't be bothered to read these docs themselves, why should I? Anyway it's probably fine software and I am genuinely going to give it a shot for a usecase I have involving large image files. But the LLM-generated docs don't inspire confidence. [1] https://epicgames.github.io/lore/explanation/system-design/ https://epicgames.github.io/lore/explanation/system-design/ [2] They literally have a section header "10.1 Revision state as a 320-byte fragment". The byte size isn't even relevant in the code as an implementation detail, much less belongs in a design doc. No one read this doc before publishing it.
- tom_ 4mo agoYeah, I agree about the docs. I started on the system design page and my head started to swim after about 5 minutes. So exhausting to read! On the flip side, I expect the project itself will be workable - well, assuming they're actually using it themselves! UE is a big pile of Stuff on its own, and Fortnite must have god knows how much additional crap in there, so if this is (or will be) their replacement for Perforce internally, then it'll be getting a good deal of testing. (If they're just chucking it over the wall, though... well, sheesh, you first...) (Perforce is the standard thing for games, and pretty well it works too, and hopefully this will deliver it a well-needed kick. It was sold to private equity about 10 years ago, and it feels like they've been coasting ever since. (Perhaps users in other sectors are happier though?))
- wullbyte 4mo ago[dead]
- BoggleOhYeah 4mo agoIt’s great to finally see a possible alternative to Perforce.
- Lucasoato 4mo ago> Git’s content-addressed revision graph is excellent, but it treats binary files as second-class citizens—large files require bolted-on LFS rather than first-class chunked storage, sparse checkouts have sharp edges in offline use, and there is no native multi-tenant isolation. I'm trying to figure out what Lore can accomplish that git+LFS can't. I've read about big binaries chunking, native interface and permission, is there anything else? Weren't those problems already solvable in the git+LFS ecosystem?
- zipy124 4mo agoIf you've used git+LFS for any extended period of times, you'd know how often it breaks, especially when used with forges like GitHub. Both GitHub and Git treat LFS as an after-thought and second class citizen.
- Lucasoato 4mo agoCan you tell me where did it break? Or what feature you wished it had? I’m just curious, still trying to form an opinion on this.
- zipy124 4mo agoI searched through my browser history to see what issues I googled the last time I used it, here is a non-exhaustive list: - Auth errors with github because of different supports for various methods which results in the unhelpful "does not support the locking API error" - Encountered files that should have been pointers but weren't errors - Github handling the spec wrong such that file pointers that are invalid can make it through to Github such as multiple file pointers to the same file, but that have different line endings (issue 5410 on the git-lfs github if you want to see the details) - Semi-frequent object does not exist on the server errors - LFS support cannot be used on forks in github (you must instead manually clone the project and upload as un-related) - Cloning with non-default ssh key is somewhat convoluted (issues 2842 2215 2727 4145 and 2433 on git-lfs) Some of these are actual git-lfs issues which make using the usual git API break such as the auth/ssh-key stuff, whilst others are simply that it is much easier to get yourself into a bad state with git-lfs than vanilla git. Of course you can always get yourself out of a bad state by fresh-clone, or forcing etc.... but with large files this becomes a non-instant operation.
- iceweaselfan44 4mo ago>fully open source >look inside >Lore Desktop Client is available as binaries only, download the installer for your platform here:
- Someone 4mo agoThere’s a “Repositories” link at the top of the page that links to https://lore.org/#repositories https://lore.org/#repositories, WhyHow links to various GitHub repos, including https://github.com/EpicGames/lore https://github.com/EpicGames/lore, which claims to have code for the CLI. I see no reason to suspect that claim is incorrect. The code likely lives in https://github.com/EpicGames/lore/tree/main/lore-client https://github.com/EpicGames/lore/tree/main/lore-client)
- lentil_soup 4mo agoto be fair, that's just the desktop client. You can use or build on top of the CLI they do say they will open source it, but who knows: "It isn’t open source yet—it currently depends on some proprietary components, including Epic’s internal design system—but we’re committed to open-sourcing it in the future"
- KomoD 4mo ago> to be fair, that's just the desktop client. I expect fully to mean fully, though.
- O5vYtytb 4mo agohttps://epicgames.github.io/lore/roadmap/#desktop-client https://epicgames.github.io/lore/roadmap/#desktop-client > Open-source the desktop client so the community can build on its full graphical experience, not just download it. An early desktop client already exists as a binary download, but it isn't open source yet — it depends on some proprietary components, including Epic's internal design system. We're working to make all of it available in the open so that the client can ship as source alongside the rest of Lore. Lore is an open project, so it is important that the desktop client — which will be one of the main ways many people will interact with Lore — is also fully open so that the community is free to review, extend, and shape it.
- dwroberts 4mo agoThis is just going to become another way to lock developers into UE. Then they will start charging for licenses, same as Unity did for its versioning feature. It might be open source but that doesn’t stop the commercial use of it being charged for.
- shepardrtc 4mo agoIt has an MIT License
- dwroberts 4mo agoIt doesn’t matter https://en.wikipedia.org/wiki/Open-core_model https://en.wikipedia.org/wiki/Open-core_model
- penciltwirler 4mo agoThe premise is that Git-LFS sucks, so we need to build a new data versioning system (in Rust, from scratch). While I mostly agree with this premise, but there are already lots of existing (mature) data versioning systems with the same tricks under the hood: - Pachyderm (Go): https://github.com/pachyderm/pachyderm https://github.com/pachyderm/pachyderm - XetHub (acquired by HuggingFace): https://huggingface.co/blog/xethub-joins-hf https://huggingface.co/blog/xethub-joins-hf - LakeFS (Go): https://github.com/treeverse/lakeFS https://github.com/treeverse/lakeFS - Oxen (Rust): https://github.com/Oxen-AI/Oxen https://github.com/Oxen-AI/Oxen I guess with AI, anyone can vibe code a content-addressed, chunk-level deduped, versioning system in Rust these days... But jokes aside, Lore seems really cool! What's interesting is the realization that different domains/industries have similar problems, but they don't seem to be cross-polinating. In this case AI and Gaming both need a storage system that can version control large binary files at scale. I think there's lots of opportunities to share ideas here, but perhaps the lack of idea sharing (currently) creates opportunity!
- deleted 4mo ago[deleted]
- LtdJorge 4mo agoI don't think the needs are exactly the same. I believe in AI the big binary files are normally written once, while in gamedev, they are constantly updated. That already warrants different storage architectures.
- dimatura 4mo agoThere's also git-annex and iterative DVC. I used xethub a fair bit (was the earliest user, in fact) and I thought it was better than git annex, git-lfs and DVC, but still did start to struggle past a certain size. I think part of the problem was just git itself, and the compromises required to have a hybrid repo. So I'm happy to see this vcs doesn't use it. xethub did start shipping a version of their product that did not use git but I didn't get the chance to try it. I've also tried oxen and it wasn't bad at first, but soon ran into some weird issues with the repo state which I didn't really try to debug. It is clear to me at this point, given my experience with all these systems -- none of which I've been 100% happy with -- that "git for data" is a nontrivial problem.
- kardianos 4mo agoI like everything I've read on this site so for, for it is also something I've been wanting. If the roadmap's "Web client and code review tools" could replace gerrit for me, this would be a easy switch. Moreover, it looks like they designed both the mutable store and immutable store to be able to easily store their state directly on an s3 like system. There are a number of features that would greatly speed up CI/CD system operations I belive.
- eblanshey 4mo agoThis looks very cool! I maintain a FreeCAD workbench for 3d model version control[0], and it currently uses git as the VCS, simply because that's what I was already using. Thinking long-term, I see it eventually morphing into a broader PDM (Product Data Management) system, perhaps even PLM (Product Lifecycle Management). Lore has a lot of the requirements already built-in, like centralized locking (better than SVN), and it's better suited for for binary files. I implemented the git backend as a protocol/port so it'd be pretty easy to swap it out. I'll be watching Lore closely. [0] https://github.com/eblanshey/HistoryWorkbench https://github.com/eblanshey/HistoryWorkbench
- ex-aws-dude 4mo agoInterested in this as perforce is pretty terrible a lot of the time It’s like anything you do has to talk to the server Even something as simple as diffing a file will just hang if there are server issues
- frollogaston 4mo ago"Full-surface API" is a feature nobody here has mentioned. Is that a dig at how git intentionally has no linkable library? I saw this earlier https://news.ycombinator.com/item?id=48470604 https://news.ycombinator.com/item?id=48470604
- ibejoeb 4mo agoI don't know if it's a jab at git. Git does have `porcelain` to accommodate programmatic interaction. It's not linkable, but it's still an API.
- throwaway613746 4mo ago[dead]
- wky 4mo agoThe link to Architectural Decision Records is empty, but they're present in the repo to look at[0]. Curiously the decision with the most deciders is the implementation of JavaScript bindings[1]. [0] https://github.com/EpicGames/lore/tree/main/docs/developing/decisions https://github.com/EpicGames/lore/tree/main/docs/developing/... [1] https://github.com/EpicGames/lore/blob/main/docs/developing/decisions/00009-lore-library-js-bindings.md https://github.com/EpicGames/lore/blob/main/docs/developing/...
- nyxtom 4mo agoI came here hoping Epic Games somehow had launched a reliable alternative to GitHub, but saw their code is hosted on GitHub
- manifoldgeo 4mo agoYeah, they should have posted it to LoreHub! I just checked for the availability of lorehub.com, and you can buy it for only ~$13,000 and start a competing business to GitHub.
- yablak 4mo agodoes anyone have a proper comparison of binary control systems like lore, xet, etc? i'd love to see how it handles mixed case workloads.
- gonomodagast 4mo agoWhy not just use Alienbrain?
- advisedwang 4mo agoNice, this seems sort of like Git-but-for-giant-monorepos. That has been a gap in the opensource VCS market
- noopprod 4mo agoKind of funny that it's on GitHub no hate. Missed opportunity for Lorehub.
- runevault 4mo agoNot really. Lore is for gamedev at companies and so not a distributed VCS. Using it for an open source project if you allow outside PRs makes no sense.
- tlahtinen 4mo agoThis is a very promising announcement for Unreal game development specifically. For any other purpose I wouldn't care as much. Perforce definitely needs a challenger. It is not the incumbent because it is particularily simple to use or administer. Git is actually way simpler when it comes to branching operations for example. The reasons why p4 is often preferred in gamedev have already been mentioned in other comments: large project support, permissions, file locking and so on. Another key reason p4 is the king for Unreal dev is just how well it's supported inside the engine. Not perfect, but it's the best supported VCS because it's what Epic uses. Even the Git plugin is painfully unfinished, because Epic does not internally use it. So with Lore I expect them to give it first class support. I'd recommend Git a lot more if the support in Unreal was better. (background; I've been in gamedev for almost two decades now, 2-200 person companies, every kind of engine and version control system. I prefer git where I can use it: for Unreal that means small projects and/or tech savvy team members. Pick the tool that is right for the job and the team.)
- jayd16 4mo agoFor what's it's worth I've been brushing up the plugin a bit. The odds of it getting merged in are even less likely after today, tho. https://github.com/EpicGames/UnrealEngine/pull/14630 https://github.com/EpicGames/UnrealEngine/pull/14630
- boppo1 4mo agoWhat about blender?
- deleted 4mo ago[deleted]
- applfanboysbgon 4mo agoI'm in the market for a better VCS designed for gamedev-specific concerns, but reading the system design doc, it's LLM-generated. Not exactly confidence inspiring.
- gavinhoward 4mo agoAs someone who has thought a lot about VCS design [1] [2], the chunking approach is the wrong one and will still waste space. [1]: https://gavinhoward.com/uploads/designs/yore.md https://gavinhoward.com/uploads/designs/yore.md [2]: My WIP VCS has been named Yore for at least two years; I did not copy Lore's name.
- MattRix 4mo agoThis is a very long document that says nothing about chunking at first skim. If chunking is actually wrong, then just explain why, here. Wasting space is not actually a problem if it’s optimized for other purposes instead.
- LtdJorge 4mo ago[flagged]
- gavinhoward 4mo agoWhen it comes to large assets, wasting large chunks of space is a problem. If your chunks are 64 kib average (from the Lore document), but changes only average 1 kib (which could be a high estimate), then you will still run out of space 64 times faster and need to read 64 times more data off of the disk for certain operations. It also makes diffing hard, as well as diff viewing.
- frollogaston 4mo agoWhat do you do instead of chunking your snapshots? Storing diffs is usually the other approach.
- gavinhoward 4mo agoThe best answer I have is for you to read the "History Model" section of that design doc through the "Implementing CRDTs" subsection.
- VikingCoder 4mo ago
- hparadiz 4mo agoAs long as Epic Games is anti Linux I will never use any Epic Games product. Count on it.
- TiredOfLife 4mo agoThey are so anti linux that they ship a linux version of Lore.
- LtdJorge 4mo agoWell, that's easy for a Rust binary. But they don't put any effort into having a great UX for Linux devs with Unreal Engine, for example. It barely works on Linux and is almost impossible to run under Wayland.
- hparadiz 4mo agoThey also buy studios and then kill Linux support when it was already working just fine. From the horses mouth itself: https://x.com/timsweeneyepic/status/964284402741149698?lang=en https://x.com/timsweeneyepic/status/964284402741149698?lang=... He straight up makes fun of Linux because he hates Valve and GabeN. https://x.com/TimSweeneyEpic/status/2054680825677910439?s=20 https://x.com/TimSweeneyEpic/status/2054680825677910439?s=20
- deleted 4mo ago[deleted]
- ibejoeb 4mo agoI'm not a gamer so I'm entirely ignorant of the situation. What's the root of your objection? The games are proprietary, right? So I figure it's not a Stallmanesque position. Is it a big problem to run games on Windows?
- hparadiz 4mo agoI don't have a Windows install anymore and won't set it up just for one game. Furthermore Epic Games has a history of acquiring studios and them crippling Linux support on games that were already purchased. I have a long list of games that I happily play on Linux with no issues.
- pkasting 4mo agoThe idea sounds good, even if Epic's recent track record of tools is not inspiring. But the commit messages etc. are very clearly products of vibe-coding. And version control is not the situation where "works 97% of the time" is a good-enough bar. Passing for now.
- frollogaston 4mo agoAbout the recent track record, is there some technical problem or just drama with Unreal Engine that I'm not aware of? (I already have the same opinion about using AI-coded VCS.)
- boredatoms 4mo agoWould lore be good for a tech company monorepo?
- Imustaskforhelp 4mo agoWhat sort of scale are we talking about when mentioning tech company's monorepo though?
- rustyhancock 4mo agoGuess this is announced as part of epics state of unreal and if so this is already off to an amazing start even if this is all there is!
- Surac 4mo agoIsnt that what SVN is good for?
- ksec 4mo agoTurns out it is not really new but only open sourced it now. From the FQA. >Lore, formerly called Unreal Revision Control, is the built-in version control system for UEFN (Unreal Editor for Fortnite), where creators have been using it to version their islands. It is also seeing progressive adoption by internal Epic teams, and is being implemented as the backing store for UEFN’s cook pipeline, where it replaces traditional intermediary storage layers—eliminating redundant file transfers and significantly reducing the time between publishing changes and those changes being playable. Surprised it is in Rust and not Epic C++ or Verse. I wonder why.
- wrwills 4mo agoI suspect the use of Rust rather than C++ might have something to do with the fact that Simon Peyton Jones and Lennart Augustsson (both of Haskell fame) both work at Epic and there would have been a strong internal push to do this in a language with some functional programming features. Rust rather than Verse because that would probably not be the right tool for the job (even if Simon works on it). Rust rather than Haskell probably because of performance -- DARCS never caught on partly for performance reasons.
- frollogaston 4mo agoI don't see how Rust is more functional programming oriented than C++
- wrwills 4mo agoI think the things that make Rust safer than C++ make it look more like a functional programming language than C++. The main point is that there are some influential people at Epic (SPJ has often spoken favourably about Rust) who would favour it over C++.
- MaulingMonkey 4mo agoC++'s stdlib collection algorithms were basically all mutate-in-place instead of return-a-new-value until C++20 introduced ranges, and I still don't know anyone who actually uses those. By contrast, people actually use the `container.iter().map(...)` etc. in Rust. C++ also lacks much of the fancy pattern matching features which are frequently associated with functional programming. Such features may not be fundamental to functional programming, but they would fall under "some functional programming features", in the sense that they're common in the languages of that ecosystem.
- jordand 4mo ago[dead]
- deleted 4mo ago[deleted]
- aayushprime 4mo agoI must say lore is an awesome name for a version control system. Much better than git in that regards.
- wxw 4mo agohttps://epicgames.github.io/lore/explanation/system-design/#11-what-lore-is https://epicgames.github.io/lore/explanation/system-design/#... Helpful page that gets closer to the details
- armchairhacker 4mo agoGame engine, programming language, VCS…will Epic launch a brand new OS?
- gregschoeninger 4mo agoWe're also working on an open source large asset versioning tool called "oxen" - https://github.com/Oxen-AI/Oxen https://github.com/Oxen-AI/Oxen Would love any feedback on it or contributions if people are interested :)
- rane 4mo agoThe excessive emojis in the README don't inspire confidence
- swiftcoder 4mo agoI don't see a workflow for locking assets while they are under modification. This is kind of important for assets? Since we don't really have great merge workflows for meshes/animations/sounds/etc. I also don't see any sort of GUI client? So the whole art team is going to have to get up close and personal with the CLI
- ibejoeb 4mo agoLocks: https://epicgames.github.io/lore/faq/#does-lore-support-file-locking https://epicgames.github.io/lore/faq/#does-lore-support-file... GUI: https://epicgames.github.io/lore/faq/#does-lore-have-a-desktop-client https://epicgames.github.io/lore/faq/#does-lore-have-a-deskt...
- swiftcoder 4mo agoOh, that's good news
- akurilin 4mo agoWe had to use Perforce (Helix Core Cloud) at my last game studio, and it is the de facto industry standard that most of your creative staff is already familiar with. The programmers don't love it, but they don't rule the roost in games. It's also the safe, verified default for working with Unreal Engine 5. It does show its years though. We were one of the first users of the Perforce cloud offering, as we were small and didn't want to self-host ourselves, but it was a bit of a rickety experience. You had to register an Azure account in order to be able to access the service, and you had to ask support to modify things like triggers. Coming from the world of GitHub and other SaaS products, you could tell it was an attempt to retrofit an older model into a new skin. The Git LFS path has some unofficial support as well, but you are on your own when things go poorly. Epic doesn't provide much help there. Competition in this space is welcome, especially if they're planning to make it fully officially supported by the Engine. I wrote about why merging files isn't as common in the world of game dev for folks coming from the world of text: https://www.kuril.in/blog/why-game-devs-dont-merge-files/ https://www.kuril.in/blog/why-game-devs-dont-merge-files/
- dijit 4mo agoditto; and UE5 on anything that isn't perforce is a lesson in pain. I just took over a team that was using Git, and yes, I know it's everyones favourite VCS but for Games it's just about the worst thing available. I could measure art reviews with git in hours, now with perforce its seconds. I wish I was joking. All the interesting tools that UE5 uses (Horde/UBA for a clean example) will require perforce. but, Perforce hasn't done anything with its industry position. It's expensive as hell and they don't have operational costs related to hosting (you have to host it yourself, and honestly, for performance reasons you really want to- despite it being a real pain to maintain passed first install). There's some echoes of stuff they try but they have absolutely no solid direction and nearly everything they've been doing cuts against common sense or their userbase, while their core product keeps getting renamed but no actual improvements. It's a lesson in how proprietary software is really a prison. I wish I could use a better code review tool than Swarm. I wish I could integrate SSO without weird LUA hooks which cause segfaults on my machine (enough of them causing a perforce deadlock). and I wish I could run a distributed storage backend instead of relying on a big fat SSD and journalled backups that can't be restored because licenses are tied to the IP address of the main server. It's forgotten technology, and the company that operates it is a zombie.
- bentt 4mo agoThere was and still is a very nice competitor in this space called PlasticSCM. They were bought by Unity a few years ago. Unity has not been a good steward. They should have done what Epic is doing and open sourced it. But instead they chose to give it P&L responsibility. Curious what it's contributing to their financials.
- gmueckl 4mo agoSeeing PlasticSCM wither like this is sad. I had rather high hopes for this system to successfully compete with Perforce, but history worked out differently.
- robaato 4mo agoPlastic is usable on surface, but doesn't scale well. If you've ever looked at what Plastic does when you use its git fast-export compatible feature, the results for merge commits are horrible to behold, e.g. delete of a directory followed by add of a file into same dir, then delete of it then rename.
- bentt 4mo agoI’m not picking up how its git export feature maps to its scalability.
- goolz 4mo agoFantastic. Every time I mix git and games I end up almost having an aneurysm.
- jbverschoor 4mo agoToo bad it does not support fully local/detached (without server). It would be nice to be able to run it similar to a local repo without remote
- dijit 4mo agoto be totally fair, perforce doesn’t either. There are some awkward workarounds (officially supported ones) which create a local server and you then merge with a remote server upstream, but as you might expect: its awkward and practically nothing supports the workflow.
- ibejoeb 4mo agoThe unique feature is universal locks (like cvs checkout) for opaque binaries like art, which requires universal state, so this seems to be orthogonal to the goal.
- jbverschoor 4mo agoMyeah I understand, buy i generally enjoy just creating a local repo. Of course, not what Epic does ;)
- adastra22 4mo agoWhy?
- MarvinYork 4mo agoI wonder how many websites ChatGPT did by now...
- sehw 4mo ago[dead]
- the_duke 4mo agoDoes this support using S3 as the backing store? That would be very powerful for various use cases.
- samgranieri 4mo agoHow about the last pre-enshittified version of Minio?
- ibejoeb 4mo ago> lore stage covers adds, edits, and deletes — you use the same command for all three. Stage a deleted file and Lore records the deletion for the next commit. Moves and renames are tracked too, through a dedicated subcommand: lore stage move <from> <to> records the rename so the file keeps its identity and history across the move instead of registering as a delete plus an add. Oof. So this isn't compatible with any tools that move or rename files. I can't see how this will be acceptable for real-world use.
- xboxnolifes 4mo agoIsn't this just the same thing as `git mv`?
- ibejoeb 4mo agoI don't think so, but I'm not sure. It seems to imply that renaming a file without using `lore stage` subcommands will record a delete and an add, meaning that changes made in a branch prior to the rename won't automatically propagate. Git will detect this without using it's own mv command.
- IshKebab 4mo agoNo they're saying that it will explicitly record the move, unlike Git which has to guess (it often fails).
- samgranieri 4mo agoI may not be the first to bring this up, but seeing the name of this program reminds me of Data’s evil brother
- nicebyte 4mo ago"Github Repo" "Find Us on GitHub" ????
- wilg 4mo agoI've tried very hard to use Git (with LFS) in both Unity and Unreal and its just been a total disaster of problems for me and the team. Hopefully this can help.
- MaikuMori 4mo agoI've been working on something like this for internal use for the last 2 month or so. Very high overlap, CAS, version chains, branching available in storage, but not implemented (not as high value for us), file locks, chunked storage on S3 api. Focused on assets only with more focus on build/export (think gh actions for blender files) and QA processes. Interesting to see where this goes.
- Qiu_Zhanxuan 4mo agoIs it me or I read in the docs "Design System" section that it was made in Scala then I went to double checked again an hour later and it said Rust
- bschmidt900 4mo ago[dead]
- Melatonic 4mo agoGuessing Tim Sweeney is a Star Trek fan?
- Melatonic 4mo agoHas anybody used Lore (or the older Epic internal version they were using on Fortnite) for also managing code? As someone who came from VFX I always found the way Git works to feel very limiting. I feel like it was one of those things that was just so much better than the previous option (SVN, etc) that it blewup without actually being ideal.
- nogbit 4mo agoAny multiregion deployment requires DynamoDB. Shame this solution is specific to AWS.
- dijit 4mo agoyeah, that's actually crazy. I don't know a single AAA (or even AA) studio that hosts Perforce in Cloud at all. Perforce usually starts out life in a gamedev studio as running on "a spare desktop" which then eventually gets promoted to a real server in a closet. The most important thing for Perforce is disk, memory and above all: bandwidth (of those things and the network too!); it's also quite latency sensitive since all operations touch the server. So running it far away is never a good idea. There was some complicated perforce architecture inside Ubisoft to account for this: AAA tends to involve a lot of co-dev studios, so the lead studio would get the commit server and others might get replicas (and you could feel to pain)- but all the perforce instances were actually on the same machines and would replicate to one-another anyway: each project was given a port for the perforce fleet. Really bizarre. but, that's besides the point. Even the tiny studios run their own locally hosted VCS machines.
- HellDunkel 4mo agoWhy is this ranking #1 on HN? Seems quite niche to me.
- bschmidt8 4mo ago[dead]
- justinhj 4mo agoOne of the reasons I left the game industry, or at least one the benefits of leaving was to not have to use Perforce any longer. Albeit a necessary evil, hopefully lore is better. I always wondered if a combination of a database to index assets and asset versions with the data being in S3 style storage would be better for game assets; code can be in Git. Then your workflows are easy to build on top of that.
- scosman 4mo agoTop right: link to the Lore Repo on Github
- armcat 4mo agoCan this be used for ML/AI projects as well? I'm thinking for version controlling LoRa finetunes, finetuning data (which can consist of text, images and audio), safetensors, etc?
- dimatura 4mo agoOf course it can. Is it good at it? I guess we'll find out, for sure people will try (I might if I get some spare time). At a glance some of the tech used resembles that of xethub (of which I was a user, until they got acquired by huggingface), which was marketed towards AI/ML/data science (to version control data/models/etc).
- forrestthewoods 4mo agoFrickin sweet. Perforce is a necessary evil in games. Git is simply not suitable. So this is already a huge win. I main that Git is - at absolute best - simply mediocre. It's not a "good" VCS tool. It is merely adequate. I would love to see Epic go for a full Git killer. It looks like Epic has a created a virtual file system interface that is cross-platform. FRICKIN SWEET. This is a critical component to making a VCS tool that doesn't suck. And there has not been an existing open source solution to it.
- rkagerer 4mo agoIs it ironic the first thing I noticed on their landing page was "Find us on GitHub"? They need a FAQ entry "Why isn't Lore hosted on Lore?"
- sasham 4mo agoThe issues they want to address are already solved in Diversion (https://diversion.dev https://diversion.dev). Granted it's not open source yet, but that isn't usually a priority for game/entertainment studios - having a complete platform is. After tearing it apart for 2 hours - it seems like a solid beginning, but definitely not a fully-functioning product (especially on Mac, I hope it works better on Linux/Windows). Disclaimer - I'm one of Diversion's founders.
- schaefer 4mo agoPricing for on-premise deployment is “talk to us”. No thank you.
- yemi43 4mo ago[flagged]
- Joshua63 4mo ago[dead]
- david_shi 4mo agoHas anyone built LoreHub?
- ctdinjeu7 4mo ago[flagged]
- bschmidt1000 4mo ago[dead]
- a1o 4mo agoI think the main reason of the flame wars is the fear the employer will decide to change things and erase all the years of knowledge on the existing tools, by something new. I believe this is the advantage of letting people use different tools for different things.
- fg137 4mo agoIs any company going to actually deploy this system, in, let's say, two years? You can trust Helix and Perforce because they have been doing this for decades, and this is part of their core business. You know they will keep maintaining the products for a while. But for Epic, they could give up on this project tomorrow, and nothing will happen to their business. If anything, they'll get some dev resources back which helps their business. It's like why anyone would trust Cloudflare to continue investing in EmDash over the long run. Cloudflare doesn't care about CMS. Their business is not providing the best experience for readers/authors/site owners. It's just a side hustle that is almost irrelevant to their business.
- mamine 4mo ago[dead]
- Wowfunhappy 4mo agoWhat did I just watch? I am very confused.
- DetroitThrow 4mo agoSpam from a bot! I think there are automatic filters to prevent this so I'm surprised it wasn't banned before we all had to see it, maybe @dang can comment on how quickly these are supposed to be resolved
- Wowfunhappy 4mo agoThanks, I actually thought this had to do with Epic Games somehow!
- fhdbeid 4mo ago[dead]
- deleted 4mo ago[deleted]
- paganartifact 4mo agoLore is copying us with "git for gamedev" messaging, and their entire brand. Epic interviewed me asking all sorts of questions about my customers and use cases. "Pagan" "Lore" lol Our site used to say "Folklore" at the top of projects. They still don't really understand the customer or use case, so have fun.
- exac 4mo agoI tried your website, but it just says "LOADING".
- paganartifact 4mo agoIt's a regular loading state. Keep slowly copying other people's ideas without a clue why you are doing it. Keep losing Fortnite to Roblox and random indie devs. You think copying another person is going to help you? Lol
- paganartifact 4mo agoWhat is it like to be a lying retard? You guys are pathetic, just lie at best lol. Fucking loser.
- applfanboysbgon 4mo agoRespectfully, "VCS for game development" is not a novel idea in any way, and you have literally zero claim to it. It's obvious that Git is poorly suited for multimedia binaries that are integral to games, so obvious that there's Git LFS which is still just a bolted-on hack when you'd ideally have a system designed for them from scratch. It's also explicitly not specifically "Git for gamedev" -- it's "Perforce for gamedev", as they opt into the authoritative server model rather than Git's decentralized model. Epic has also been working on this for longer than the three months your repo has been around. This is the launch of the open source project and independent GUI, but it was already integrated with their Fortnite game engine before now. Your VCS repo is called "Artifact". It seems like a stretch to say that somebody using "Lore" is copying from you. Even if it were called "Pagan" that's still a stretch, but "Artifact" especially so. I think a VCS written in Javascript is also inherently a nonstarter for any kind of production-grade use case. The idea that nobody else can make a gamedev-oriented VCS because somebody in the world made a little hobby project along those lines is frankly ludicrous. (Granted, I'm not exactly keen to use Lore myself given the heavy signs of vibe coding throughout the documentation and repo. A vibe coded VCS is also inherently a nonstarter. Here I'm hoping some third party will come along and do VCS for gamedev right!) I'd also add that there's some element of hypocrisy to criticising Epic here when your own marketing pitch is "I copied Git".
- mosfets 4mo agoI needed it!
- DR_MING 4mo agoCan't believe that new version contorl system is coming out, very promising.
- jessinra98 4mo ago[dead]
- deleted 4mo ago[deleted]
- paganartifact 4mo agoEpic is trash. The whole company is basically Tim Sweeney crying on Twitter.
- calebm 4mo agoI am a math artist (https://gods.art https://gods.art), and I’ve had trouble with hit because I want to be able to check in images and similar artifacts, but got is clearly not designed for it. Very excited to try this!
- kurhan 4mo agoWhy development of lore happens on git/github ?. Subversion is hosted on subversion server. Same applies to mercurial or fossil. I'd expect that VCS project is self-hosted.
- kreco 4mo agoMaybe because they want contributions. They have probably enough _bigger_ projects that dogfoods it.
- Juliate 4mo agoI understand the website doesn't address users first, but it really feels like a missed opportunity to show a typical, simple use case in the front page (as in, "as a user, what's in it for me?"). A quickstart link is buried in there, and that's good, but the value of the product is multi-faceted and doesn't address data architecture only.
- hosteur 4mo agoI do a bit of amateur photography and I have my photo collection in subversion today. Would Lore be a better fit for a photo collection with hundreds of thousands of binary files and almost a TB in size? I have considered git many times but i have effectively one user and what I have now works. And I did not see any benefits in git for this use case.
- fastcrw 4mo agois there any comparision table or so with git, jujutsu or so?
- minton 4mo agoI know this is targeted at game dev, but I wonder if this would work well for a huge MS Access app.
- calebm 4mo agoAny lore hosting services available?
- jkl5xx 4mo agoRandom naive thought, could I use this to backup and version all of my user data? E.g. just point Lore at my ~/Documents folder and call it a day? I'm sure there's some scalability constraint but I have music projects, game projects, markdown notes, photos, videos, etc. and have thought in the past it'd be convenient to treat all my files like a monorepo.
- pixelneon 4mo agoNice Website
- aussieguy1234 4mo agoSince this claims to work well with large binary files, would this be a good solution for versioned PC backups, or would it be overkill? Let's say I had multiple games installed, lots of videos downloaded, 3-4TB of data.
- deleted 4mo ago[deleted]