Inspiration
As one of the three tracks for HackIllinois, Solana stood out as exceptionally unique. With the promise of blockchain transactions, a conventionally slow and clunky framework especially for games, being processed in a brisk 400 ms, we were certainly inspired to learn how to use Solana to make games.
What it does
Cannoneer uses the Solana blockchain to calculate trajectories of a cannonball projectile that a player fires and returns if the projectile hit or not, incrementing the score if it did so. It also keeps a high score tab based on the NFT accounts saving the game state.
How we built it
We used one of the preset examples provided to us in this track, specifically the 2048 example showcasing high score storage, as a jumping off point. We pored over the code and repurposed the components of this example to create a completely different experience.
Challenges we ran into
The most significant challenge was certainly setting up our dependencies and finding a preset that actually compiled or ran on our devices. Half of our development time was sunk into understanding the starter code and simply getting it to run.
Accomplishments that we're proud of
Since we're running out of time - it's 6:56 - we'd like to share our achievement of pulling our first all-nighters of the year. We are also proud of having pulled through a rough start with dependencies and starter code constantly exploding in our face. We are unendingly grateful to our Solana mentors for helping us along the way.
What we learned
We learned that blockchain can be used for game dev and how Solana's speed is helping revolutionize this space. We also learned about the benefits of using decentralized models for game dev.
What's next for Cannoneer
Cannoneer is very much still a work in progress with many features that can still be implemented using Solana's potential for decentralized yet secure multiplayer experiences. Additionally, UI elements can be vastly improved if development were to continue.
Log in or sign up for Devpost to join the conversation.