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.

Built With

Share this project:

Updates