Chain Crisis is a game that explores the impact of decentralization, AI and bio-engineering set in a few decades from now. It's a future wherein world superpowers have collapsed due to irrelevance, and mega corporations fight for dominance in the world. This world has fully adopted decentralized technologies into its citizens lives where people had no choice but to adapt to survive.
It also explores the negative side of decentralization. Such as what happens if government becomes powerless and a pure free market reigned the world. It explores the lengths of people's willingness to change their bodies (and themselves) in order to "fit" into modern society.
I first took interest in the cyberpunk genre in the 80s and 90s with movies like Blade Runner, Akira, and Ghost in the Shell. You will find some elements in the game that share/borrow concepts from them.
I was already looking into developing a blockchain game as early as 2013 but have only found the right tech stack just recently, with Solana's account model being the motivating factor for me to pursue it.
What it does
Chain Crisis is a cyberpunk MMORPG where players band together to complete missions and defeat enemies, including unique bosses, to earn in-game currencies and improved equipment.
Items, currencies, guilds, and other stateful entities are on-chain. Chain Crisis makes use of an in-game currency (CREDS) which players can use to buy items from other players.
CREDS, the in-game currency for Chain Crisis, is an acronym for Crisis Euro Dollar System. The CREDS system was established in the 2050s after the collapse of the global superpowers due to the hyper-accelerated progression of AI and the decentralized web.
In the universe of Chain Crisis, “Cyberwarfare” describes technological attacks that are so advanced they might be considered magic. Since most of the citizens are connected to the Net, everyone is susceptible to Cyberwarfare. Following the collapse of superpowers in the 2050s, the world has seen an intense level of growth in hackers who conduct unrestricted Cyberwarfare on other citizens—who are often completely unaware that their security has been compromised.
To start your journey in Warpgate City, each player will need to mint their character. Each character can have different attributes, life paths, roles, and equipment in-game.
Each character minted will require n CREDS. CREDS spent to mint characters are burnt.
Minting a character requires two (2) things:
- Your character Attributes
- Your Life origins
Depending on the life origin story you choose, you will receive a starting item for your character. Creating a character is necessary to enter the world of Chain Crisis.
The Black Market is the open marketplace of Chain Crisis. Here, each player can buy, sell, and trade in-game items for more CREDS. The Black Market takes in a n% fee for each transaction conducted.
The Black Market sells:
- Skills: special combat moves
- Gear: head and body clothing/armor
- Weapons: blades, bludgeons, pistols, and rifles
- Cyberware: bio-implants for augmenting stats
- DEETS: information about the location of certain loot
Unlike most turn-based games where you have to select your every move when playing, our game introduces a new system called “Cyberdance.” During this phase, the player will choose the behavior of their characters in battle, avoiding the need to click mindlessly during a fight. This allows players to quickly set up a strategy, find allies, and accomplish their missions.
Missions and Gigs
Similar to dungeons in traditional RPGs, missions allow players to venture together as a party to defeat waves of enemies and take on a boss. At the end of the boss fight, the players receive loot and CREDS. Missions have different difficulty levels, and each map will have different enemies. Make sure to move quickly, as missions have time limits.
In cases where the player is rewarded with CREDS or items by the game, the player must claim them from the DAT in order for them to be transferred to their wallet.
Another benefit to this design as well that we realize is that it would also prevent players from immediately selling right after they get the rewards. This should also help with mitigating the selling pressure.
Similar to a Guild, a Syndicate is a group of players banding together to do Missions and Gigs. A Syndicate is like a long-term party such as those found in traditional MMORPGs. Syndicates are particularly useful in Gigs, which involve difficult struggles against high HP bosses.
Players are allowed to craft many special kinds of equipment so long as they have enough CREDs, materials, and parts and their stats are high enough.
How we built it
- Rust/Solana: data is stored into PDAs of players. The chain code acts as a processor that changes the player's account data as they progress towards the game.
- Game Client - The 2D web game client itself is compiled into Web Assembly.
- Dashboard - The web dashboard where players can manage their Chain Crisis "accounts" are built using Next.js, Tailwind, and a bunch of popular React libraries.
Challenges we ran into
The challenge initially was understanding how things work in Solana and Rust in general. Because I started this project with zero knowledge of Rust so the mental load was quite heavy when I was doing a deep dive. However, after consistent reading and interacting with the Solana dev community, I was able to figure things out.
Accomplishments that we're proud of
I had a good reason to pursue a project because of Solana's new technology. I was able to create a new idea like Chain Crisis which I think will be something people will enjoy playing once it's out.
In the span of 3 months I was able to:
- Study Solana's account feature and use them in context to the game
- Design the MMORPG mechanics both for combat, economy, and crafting
- Create an initial lore for the game
- Develop a game client prototype in Web Assembly
- Learn how to use Solana's Web3.js and JSON RPC
- Learn how to use the CLI commands of Solana
- Learn how to code Rust from scratch
What we learned
Building something in Solana is definitely not for beginners. You can't expect a random React.js or Node.js developer for example to suddenly get into Solana development (even on the dapp/web3.js surface level).
There's a lot of pre-requisite knowledge in blockchain that is required in order for the person to get started which is understandable because this is nascent technology.
I became more excited for Solana's future as a blockchain network knowing how things were designed despite the barrier to entry. There is a list of ideas I have that I want to implement in Chain Crisis using Solana's account model now that I understand them better.
What's next for Chain Crisis
I'm planning to release a feature where players can mint characters to keep the community engaged while the game is being developed.
This will also be a way for the game to have a "population". Since each of the characters minted will look unique (and stylish) and will be accessible in the game.