Libplanet ist eine .NET-Bibliothek zum dezentralen Erstellen von Multiplayer-Onlinespielen, was bedeutet, dass das gesamte Gameplay in einem Peer-to-Peer-Netzwerk zwischen gleichen Knoten statt auf einem autorisierten zentralen Server stattfindet. Unter der Haube sind viele Funktionen (z. B. digitale Signatur, BFT-Konsens, Datenreplikation) einer Blockchain integriert.
Es hat Wettbewerbsvorteile gegenüber anderen Lösungen für dezentrales Gaming:
Einbettbar : Eine Spiele-App muss nicht mit einem anderen laufenden Prozess kommunizieren und erfordert daher kein zusätzliches Marshalling oder Prozessmanagement. Um eine Parallele zu ziehen: Libplanet ist SQLite näher als MySQL oder PostgreSQL.
Isomorph : Libplanet ist eine .NET-Bibliothek, sodass jede Spiellogik in derselben Sprache, C#, geschrieben und auf der Blockchain ausgeführt werden kann. Es sind kein Glue-Code oder „Smart Contracts“ erforderlich.
Token-unabhängig : Im Gegensatz zu fast jedem Blockchain-System zwingt es Benutzer nicht dazu, eine weitere Kryptowährung zu erstellen und damit umzugehen. Ihr Spiel kann kostenlos gespielt werden und auch von normalen Spielern genossen werden.
Um mehr darüber zu erfahren, warum Planetarium Technologien für vollständig dezentrale Spiele entwickelt, lesen Sie bitte unseren Blogbeitrag.
Für jede stabile Version packen wir Libplanet in eine .nupkg-Datei und laden sie auf die NuGet- und GitHub-Release-Seite hoch. (Das Änderungsprotokoll für Versionen finden Sie auf der Seite „Releases“.) Um Libplanet in Ihrem Spiel verwenden zu können, muss Ihr Projekt eine Abhängigkeit zum Libplanet -Paket hinzufügen. Führen Sie in der Visual Studio-IDE den folgenden Befehl in der Paket-Manager-Konsole aus:
Install-Package Libplanet
Wenn Sie dotnet
-CLI bevorzugen, führen Sie stattdessen den folgenden Befehl aus:
dotnet fügt das Paket Libplanet hinzu
Weitere Informationen zu verschiedenen Möglichkeiten zur Installation des NuGet-Pakets finden Sie auch in den Microsoft-Dokumenten.
Neben stabilen Releases bieten wir auch Pre-Release-Pakete an. Für jeden Tag und jedes Merge-Commit wird es in eine .nupkg- Datei gepackt und mit einem Versionsnamen mit Bindestrich als Suffix auf NuGet hochgeladen.
Für einen Merge-Commit-Build sieht ein Versionsname wie folgt aus 0.1.0-dev.20181231235959+a0b1c2d
, wobei 20181231235959
ein UTC-Zeitstempel des Builds und a0b1c2d
die ersten sieben Hexadezimalzahlen des Git-Commit-Hashs sind. Für einen täglichen Build lautet der Versionsname etwa 0.1.0-nightly.20181231+a0b1c2d
.
Leider unterstützt Unity NuGet derzeit nicht. Es gibt einige Unity-Plug-Ins für den Umgang mit dem NuGet-Paketsystem, diese scheinen jedoch derzeit noch unausgereift zu sein. Um Libplanet auf Unity zu verwenden, müssen Sie Libplanet.dll manuell aus der Datei Libplanet.*.nupkg extrahieren und in Ihrem Unity-Projekt platzieren. Wir sind uns der Tatsache bewusst, dass Libplanet derzeit nicht sehr gut zusammen mit Unity verwendbar ist, und versprechen, es in den nächsten kleineren Versionen zu verbessern. Bis dahin können Sie MSBuildForUnity ausprobieren, das seit Januar 2020 experimentell ist.
Sie könnten Libplanet.dll- und Libplanet.Stun.dll -Assemblys aus dem Quellcode erstellen.
Der folgende Befehl installiert Abhängigkeiten (erforderliche Bibliothekspakete) und erstellt die gesamte Libplanet-Lösung:
Dotnet-Build
Beachten Sie, dass dotnet
-Befehl zusammen mit dem .NET Core SDK verteilt wird.
Wenn Sie ernsthaft Code zum Libplanet-Projekt beitragen möchten, lesen Sie bitte unseren Leitfaden für Mitwirkende.