Tourist Season

First of all, I've renamed the project to Tourist Season!

Inspiration

I'm really excited to mix Bitcoin architecture components with game systems to inspire users and developers to push forward the state of the art.

What it does

It's a simple game that allows users to set up a tourist trap—but under the hood, it's a blend of Bevy's Entity Component System and Bitcoin architectural components, including Bitcoin Core, BDK, electrs, and rust-bitcoin.

How we built it

I coded it in Rust using the Bevy ECS game engine. I used game assets from https://kenney.nl/ to provide the graphical components.

Challenges we ran into

Making design decisions and trade-offs—such as using regtest rather than signet—was one of the biggest challenges. I chose regtest because I'm waiting on a signet PR that would allow developers to adjust block time without hassle.

Another interesting design decision involved integrating the BDK wallet and syncing it with electrs while still allowing the game to run smoothly. I used crossbeam channels to make that work seamlessly.

Accomplishments we're proud of

Creating a full-stack Bitcoin game has been so much fun. Every element needs to be automated, so getting all the details right feels great. Laying this groundwork makes me really excited about what to make next.

What we learned

I’ve always known that creating games and working with wallets both involve lots of detail-oriented considerations—but combining the two leads to an explosion in complexity. Thankfully, Bevy’s modular plugin system helps manage that complexity effectively.

What's next for Tourist Season Next, I’d like to find the best way to package Tourist Season into something users can download and run without needing to manually install electrs and Bitcoin Core. Also, I'd look forward to expanding the concept with more kinds of interaction with the tourists.

Built With

Share this project:

Updates