Libplanet é uma biblioteca .NET para a criação de jogos online multijogador de forma descentralizada, o que significa que toda a jogabilidade ocorre em uma rede ponto a ponto entre nós iguais, em vez de um servidor central autorizado. Nos bastidores, ele incorpora muitos recursos (por exemplo, assinatura digital, consenso BFT, replicação de dados) de um blockchain.
Possui vantagens competitivas sobre outras soluções para jogos descentralizados:
Incorporável : um aplicativo de jogo não precisa se comunicar com outro processo em execução, portanto, não requer empacotamento extra ou gerenciamento de processos. Para traçar um paralelo, o Libplanet está mais próximo do SQLite do que do MySQL ou PostgreSQL.
Isomórfico : Libplanet é uma biblioteca .NET, então toda lógica de jogo pode ser escrita na mesma linguagem, C#, e executada no blockchain. Nenhum código cola ou “contratos inteligentes” são necessários.
Independente de token : Ao contrário de quase todos os sistemas blockchain, ele não força os usuários a criar e lidar com mais uma criptomoeda. Seu jogo pode ser gratuito e apreciado por jogadores regulares.
Para saber mais sobre por que a Planetarium está criando tecnologia para jogos totalmente descentralizados, consulte nossa postagem no blog.
Para cada versão estável, empacotamos o Libplanet em um .nupkg e o carregamos na página de lançamentos do NuGet e do GitHub. (Você pode encontrar o changelog das versões na página de lançamentos.) Para usar Libplanet em seu jogo, seu projeto precisa adicionar uma dependência ao pacote Libplanet . No Visual Studio IDE, execute o seguinte comando no Console do Gerenciador de Pacotes:
Install-Package Libplanet
Se você preferir dotnet
CLI, execute o seguinte comando:
dotnet adicionar pacote Libplanet
Consulte também os documentos da Microsoft sobre diferentes maneiras de instalar o pacote NuGet.
Além de versões estáveis, também fornecemos pacotes de pré-lançamento. Para cada confirmação diária e de mesclagem, ela é compactada em um .nupkg e carregada no NuGet com um nome de versão com sufixo de hífen.
Para uma compilação de commit de mesclagem, um nome de versão se parece com 0.1.0-dev.20181231235959+a0b1c2d
onde 20181231235959
é um carimbo de data/hora UTC da compilação e a0b1c2d
são os primeiros 7 hexadecimais do hash de commit do Git. Para uma compilação diária, o nome da versão é como 0.1.0-nightly.20181231+a0b1c2d
.
Infelizmente, o Unity atualmente não oferece suporte ao NuGet. Existem alguns plug-ins do Unity para lidar com o sistema de pacotes NuGet e eles parecem imaturos no momento. Para usar o Libplanet no Unity, você precisa extrair manualmente o Libplanet.dll do arquivo Libplanet.*.nupkg e colocá-lo dentro do seu projeto Unity. Estamos reconhecendo o fato de que o Libplanet atualmente não é muito utilizável junto com o Unity e prometemos melhorá-lo nos próximos lançamentos menores. Até então, você pode tentar o MSBuildForUnity, que é experimental em janeiro de 2020.
Você pode construir assemblies Libplanet.dll e Libplanet.Stun.dll a partir do código-fonte.
O comando a seguir instala dependências (pacotes de biblioteca necessários) e constrói toda a solução Libplanet:
compilação dotnet
Observe que o comando dotnet
é distribuído junto com o SDK do .NET Core.
Se você deseja contribuir seriamente com código para o projeto Libplanet, leia nosso guia do contribuidor.