Libplanet es una biblioteca .NET para crear juegos multijugador en línea de forma descentralizada, lo que significa que todo el juego ocurre en una red peer-to-peer entre nodos iguales en lugar de en un servidor central autorizado. Bajo el capó, incorpora muchas características (por ejemplo, firma digital, consenso BFT, replicación de datos) de una cadena de bloques.
Tiene ventajas competitivas sobre otras soluciones para juegos descentralizados:
Incrustable : una aplicación de juego no tiene que comunicarse con otro proceso en ejecución, por lo que no requiere clasificación ni administración de procesos adicionales. Para establecer un paralelo, Libplanet está más cerca de SQLite que MySQL o PostgreSQL.
Isomórfico : Libplanet es una biblioteca .NET, por lo que cada lógica de juego se puede escribir en el mismo lenguaje, C#, y ejecutarse en la cadena de bloques. No se necesitan códigos adhesivos ni "contratos inteligentes".
Independiente del token : a diferencia de casi todos los sistemas blockchain, no obliga a los usuarios a crear y manejar otra criptomoneda. Tu juego puede ser gratuito y disfrutado por jugadores habituales.
Para obtener más información sobre por qué Planetarium está creando tecnología para juegos totalmente descentralizados, consulte nuestra publicación de blog.
Para cada versión estable, empaquetamos Libplanet en un .nupkg y lo subimos a la página de versiones de NuGet y GitHub. (Puedes encontrar el registro de cambios para las versiones en la página de lanzamientos). Para usar Libplanet en tu juego, tu proyecto necesita agregar una dependencia al paquete Libplanet . En Visual Studio IDE, ejecute el siguiente comando en la Consola del Administrador de paquetes:
Install-Package Libplanet
Si prefiere dotnet
CLI, ejecute el siguiente comando:
dotnet agregar paquete Libplanet
Consulte también los documentos de Microsoft sobre diferentes formas de instalar el paquete NuGet.
Además de las versiones estables, también ofrecemos paquetes de prelanzamiento. Para cada día y cada confirmación de fusión, se empaqueta en un archivo .nupkg y se carga en NuGet con un nombre de versión con guión.
Para una compilación de confirmación de fusión, el nombre de una versión es similar a 0.1.0-dev.20181231235959+a0b1c2d
donde 20181231235959
es una marca de tiempo UTC de la compilación y a0b1c2d
son los primeros 7 hexadecimales del hash de confirmación de Git. Para una compilación diaria, el nombre de una versión es como 0.1.0-nightly.20181231+a0b1c2d
.
Desafortunadamente, Unity actualmente no es compatible con NuGet. Hay algunos complementos de Unity para manejar el sistema de paquetes NuGet, y parecen inmaduros en este momento. Para usar Libplanet en Unity, debe extraer manualmente Libplanet.dll del archivo Libplanet.*.nupkg y colocarlo dentro de su proyecto de Unity. Reconocemos el hecho de que Libplanet actualmente no es muy utilizable junto con Unity y prometemos mejorarlo en las próximas versiones menores. Hasta entonces, puede probar MSBuildForUnity, que es experimental a partir de enero de 2020.
Puede crear ensamblados Libplanet.dll y Libplanet.Stun.dll a partir del código fuente.
El siguiente comando instala dependencias (paquetes de biblioteca requeridos) y construye toda la solución Libplanet:
compilación de dotnet
Tenga en cuenta que el comando dotnet
se distribuye junto con .NET Core SDK.
Si realmente desea contribuir con código al proyecto Libplanet, lea nuestra guía para contribuyentes.