Epic Games abre o código do Lore, o sistema de controle de versão do Fortnite

Epic Games abre o código do Lore, o sistema de controle de versão do Fortnite

Quando se fala em controle de versão, o Git é praticamente sinônimo da categoria. Mas quem trabalha com desenvolvimento de jogos sabe que nem tudo se resume a arquivos de texto e linhas de código.

Texturas em alta resolução, modelos 3D, efeitos sonoros, vídeos, animações e outros recursos multimídia costumam transformar repositórios em estruturas gigantescas, criando desafios que ferramentas tradicionais nem sempre conseguem resolver com eficiência.

Pensando justamente nesse cenário, a Epic Games anunciou a abertura do código-fonte do Lore, um sistema de controle de versão desenvolvido para lidar com projetos massivos que combinam código e grandes volumes de arquivos binários.

Um sistema criado para os desafios da indústria de jogos

Enquanto o Git foi projetado principalmente para trabalhar com código-fonte, estúdios de jogos e produções audiovisuais precisam lidar com ativos digitais que podem ocupar centenas de gigabytes ou até vários terabytes.

Nesses cenários, operações simples como sincronizar repositórios, trocar de branch ou armazenar múltiplas versões de arquivos podem se tornar lentas e consumir grandes quantidades de espaço. Segundo a Epic, o Lore foi criado especificamente para resolver esse problema.

O sistema utiliza armazenamento baseado em conteúdo, identificando arquivos por meio de hashes criptográficos e organizando o histórico do projeto por meio de árvores de Merkle e cadeias imutáveis de revisões. Isso permite reutilizar dados já existentes em diferentes versões e ramificações do projeto, reduzindo duplicações desnecessárias.

Menos downloads e melhor aproveitamento de armazenamento

Uma das características mais interessantes do Lore é seu sistema de armazenamento fragmentado para arquivos grandes.

Em vez de armazenar novamente um arquivo inteiro sempre que uma modificação é realizada, o sistema divide os dados em blocos reutilizáveis. Assim, apenas as partes alteradas precisam ser transferidas ou armazenadas novamente.

Outra funcionalidade importante é o suporte a workspaces esparsos e hidratação sob demanda. Em projetos tradicionais, muitas vezes o desenvolvedor precisa baixar uma quantidade enorme de arquivos que sequer serão utilizados. No Lore, os dados só são transferidos quando realmente necessários, reduzindo significativamente o tempo de sincronização e o consumo de banda.

Alternativa para além do Git?

A Epic não posiciona o Lore como um substituto universal para o Git. Pelo contrário: a própria empresa afirma que a ferramenta foi criada para um público bastante específico, formado por equipes que trabalham com grandes repositórios e ativos binários complexos.

Para projetos convencionais de software, o Git continua sendo a solução mais indicada. Ainda assim, o Lore apresenta algumas características que chamam atenção, como branches leves, troca rápida de contexto e APIs para integração com linguagens como C++, C#, Rust, Go, Python e JavaScript.

Já utilizado no ecossistema Fortnite

Embora o projeto esteja sendo disponibilizado agora para a comunidade, o Lore já é utilizado pela Epic internamente. Ele serve como sistema de controle de versão nativo do UEFN (Unreal Editor for Fortnite), a plataforma que permite a criação de experiências e conteúdos para o universo de Fortnite.

Existe, porém, uma limitação importante: a versão aberta ainda não é totalmente compatível com a utilizada pelo UEFN.

Isso acontece porque a implementação usada pela Epic emprega um formato proprietário de compressão que não pode ser distribuído como software livre. A empresa afirma estar trabalhando para migrar o editor para o mesmo sistema de compressão aberto utilizado na versão pública do Lore.

Rust continua ganhando espaço

Outro aspecto interessante do anúncio é a escolha tecnológica do projeto. O Lore foi desenvolvido majoritariamente em Rust, linguagem que continua conquistando espaço em projetos de infraestrutura graças ao foco em desempenho e segurança de memória.

Nos últimos anos, Rust vem sendo adotada por empresas como Microsoft, Google, Cloudflare, Amazon e diversas distribuições Linux, tornando-se uma das linguagens mais relevantes para o desenvolvimento de ferramentas de baixo nível.

Um projeto promissor, mas ainda em estágio inicial

Apesar da abertura do código-fonte sob licença MIT, a própria Epic alerta que o Lore ainda está em estágio inicial de desenvolvimento. Atualmente o projeto encontra-se na versão 0.8.3, indicando que ainda não é considerado pronto para substituir sistemas consolidados em ambientes de produção.

Mesmo assim, a iniciativa chama atenção por atacar um problema real enfrentado por estúdios de jogos, equipes de efeitos visuais e produções multimídia em larga escala.

Fique por dentro das principais novidades da semana sobre tecnologia e Linux: receba nossa newsletter!