Solcery is a game builder for NFT communities on Solana, which lets you create, publish and play blockchain games without writing any code. You can also use any NFT that you own as an in-game asset and grant it unique abilities.
Blockchain gaming and its ongoing rapid growth present a unique opportunity for both players and game creators. Decentralized games not only preserve all the advantages of their traditional counterparts, but also carry a vast array of improvements in such areas as true asset ownership, properly incentivized community-driven development, absence of the inevitable middleman, and the synergy of building upon a common layer of interoperable open-source tools. Having worked side by side on several multiplayer games and infrastructure for them, we realize what pitfalls lie ahead for both experienced game developers from the traditional world and aspiring creators familiar with the blockchain world. To name a few:
- It isn't easy to cover all aspects of making blockchain games from scratch by yourself.
- PR, marketing, and the process of finding your audience take time, money, and effort.
- You might not want to set up your storefront, rating system, or matchmaking engine.
Furthermore, the full potential of decentralized games only opens up when your game becomes a part of something bigger and blends seamlessly with other products on the market.
Considering this, we've made it our mission to grow Solcery into a rich ecosystem, benefitting all the participants.
What it does
Solcery provides a web application to create your project, construct your game logic, fill it with content, configure what NFT collections it supports as in-game assets and what unique abilities they get when players bring them into your game.
- No programming skills or blockchain knowledge needed
- On-chain backend, provided by Solcery
- Access to the whole Solcery playerbase at the moment of your game’s release
- No unnecessary middlemen between the creators and their audience
- No need to build or redeploy thanks to the incorporated test environment
The Virtual Machine, fine-tuned for Solcery game state processing, under the hood
For players, Solcery provides a single entry point to all the games published in the store. Here you can select the game, decide which NFTs you want to bring with you, and play on-chain vs. other players using your SMBs, DegenApes, etc. as in-game assets. How exactly is up to the developer to decide: some might want to let you use your NFTs as playable characters, others - as cards, avatars, or customization items.
How we built it
We started working on Solcery when the Solana Season Hackathon was in full swing. What was meant to be a simple game at first turned into a full-fledged game engine with NFT onboarding and game store functionality. We: Wrote all the backend protocols and Solcery Virtual Machine in Rust Made the web application in React Used Unity to create the game client and the visual scripting node editor
Web application and node editor communicate with the Solcery Create and Solcery Database protocols to configure and save project data Unity client and React application communicate to transfer player actions via transactions and render actual on-chain game data
Challenges we ran into
- We found out that it is difficult to recruit new employees for blockchain development. The entry threshold into blockchain is pretty high
- Solana provides a rapid runtime but is also strictly limited in many aspects. We spent a lot of time circumventing its limitations in one way or another
- We overcame the challenge of maximum transaction size by implementing compilation and batching. Everything that's necessary for protocols is prepared in advance
- We invented a workaround for the limit on the number of computations: a virtual machine that is able to suspend its work and effectively serialize its state into Solana account
- One of our products is a database. We resolved its inability to go through all of its accounts at once by inventing a redundant but infinitely backward-compatible data format and representing the database in a VM-friendly way that allows to program and execute database scripts and migrations with a user-friendly node editor
- We were surprised by a lack of game developers in the ecosystem. Talking to other teams, we saw a lot of people coming to blockchain games from DeFi and trading, and very few coming from gamedev. This has made the discussions rather one-sided
Accomplishments that we're proud of
- Basically, all the good things we've done - we've done solving a problem.
- We managed to seamlessly connect all three layers of our stack
- We were one of the first to build a working game on Solana, even if it was very simple
- We invented a standard for the NFT that may become the future, and in our opinion, could revolutionize not just the way NFT data is stored, but the gaming industry as a whole
- We invented and designed a governance mechanism for Solcery, which, as we hope, will allow users to manage and interact with Solcery protocols using the same tools that are used for game development
What we learned
- Solana developer community is fantastic and very supportive
- NFT communities are wild and crave all sorts of interactive experiences
- RUST is cool and powerful
- Unity is not very well-suited for webGL
- It’s surprisingly easy to introduce new people to the Solana ecosystem - creating a Phantom wallet and making the first transaction takes only a couple of minutes
- The current Solana landscape is uncharted territory - every new project tries something new and different. We believe that success lies in mixing technology stacks and experiences from various industries
What's next for Solcery
- Get several creators involved in making games in Solcery
- Provide them with the necessary tools and guidance
- Expand game builder feature set, based on feedback from creators
- Finalize gaming NFTs data storage standard for Solana
- Release Solcery Forge, making all onboarded NFTs
- Make Solcery game builder publicly available
- Release brand-new Unity client, being developed now in parallel with the existing one
- Implement store, lobby, and games library
- Add player progress features: profiles, rating, achievements
- Launch SRY token
- Prototype Solcery Asset Store for faster game creation
- Plan out game fundraising mechanism in Solcery
- Make Unity SDK, allowing teams to create their own client applications and integrate Soclery backend solutions (game logic, matchmaking, rating system, database) into them
- Make Unreal SDK
- Launch mobile Solcery app
- Launch desktop Solcery app
- Start onboarding existing non-blockchain games
- Lay out foundation for Solcery DAO
Log in or sign up for Devpost to join the conversation.