Currently, Nine Chronicles is comprised of three major projects:
🎮 Unity game client (user interface)
🌐 Blockchain node (processes transactions, performs mining)
🚀 Launcher (manages node and client software, private key, handles installation and update)
🎮 Unity Client
Nine Chronicles in Unity Editor
The whole repository is licensed under GPL-3.0, meaning anyone can fork this repository to make their own versions of Nine Chronicles, as long as they also remain open source. It doesn't even have to be a blockchain game, so imagination is the limit, really.
🌐 Blockchain Node
Much of the game logic actually lives not in the game client, but in the blockchain component of Nine Chronicles. This is because every in-game action needs to be simulate-able and verifiable by other nodes in the network. You can think of the Unity Client as an interface that replays game actions created on the blockchain network.
Nine Chronicles Headless
The blockchain node for Nine Chronicles is nicely nested in a wrapper project called NineChronicles.Headless.
Lib9c is a library that contains key implementations of Nine Chronicles. Lib9c includes Nine Chronicle's key features like in-game decisions and data models, which can be used to implement core features of the game.
If you want to implement a new in-game logic (for example, a global level boss), this is the repository you would modify.
Finally, Libplanet is a .NET library for creating multiplayer online game in decentralized fashion. This means the whole gameplay occurs on a peer-to-peer network among equal nodes rather than an authorized central server. Under the hood, it incorporates many features (e.g., digital signature, BFT consensus, data replication) of a blockchain.
Launcher is the critical piece of software that manages the node and client software, players' login info, installation and update.
Curious for More?
We're always happy to discuss your creative ideas for developing the Nine Chronicles ecosystem. Do check out 👐 , and hop onto our to share your thoughts. Thanks!