Inspiration
I was inspired to make Starkguessr out of my love for Geoguessr and other geography games (ex. Sporcle - Countries of the World Quiz). These games have been a staple in my life for years, but they lack good competitive features. With Geoguessr, you can play against anyone in the world, but the game data is not verifiable. Sporcle's only competitive feature is a global leaderboard, and again, the game data is not verifiable. Starkguessr is a competitive, on-chain, and open source alternative to Geoguessr.
How Starkguessr Works
On Starkguessr, players can compete head-to-head. Players can either play free games, paying only gas fees (for now), or wager USDC, with prizes distributed by the contract upon game completion. The generated locations, game timer, and player guesses are all immutable and verifiable. Starkguessr lays the foundation for a strong competitive ecosystem.
How It Was Made
Starkguessr uses React (TypeScript), Dojo SDK, Cairo, Torii, and Katana. It integrates with all Starknet wallet providers, including Cartridge. Cartridge is the most valuable account for Starkguessr because it supports account abstraction and proactive transaction signing.
Challenges
- Outdated RPC endpoints. Most of the available endpoints for Sepolia were unavailable, so I had to use a private Alchemy endpoint.
- Reducing contract calls so that players don't have to sign every action - I'm still figuring this one out.
- Working with the Google Maps API. The API has to render the randomly generated location without revealing the coordinates to the player.
Accomplishments
I am so happy that this project runs in any capacity. There are a lot of moving parts and room for race conditions. The most satisfying moment was seeing the first street view after the contracts were deployed.
What I Learned
Testing is the most difficult part of developing concurrent experiences. I want to build a community around Starkguessr and my other on-chain games so that I can get more live feedback and iterate. I am tired of switching tabs to test the game with my different wallets...
What's Next
Starkguessr has the potential to bring the next million gamers on-chain. I think that the concept of wagering is something that can be explored with other web2 games as well- Clash Royale has high potential. I also want to make it extremely easy to modify the rules of Starkguessr games (number of rounds, time per round, regions, etc.), building on top of the https://worldrep.xyz/ framework.
Built With
- cairo
- dojo
- katana
- react
- torii
Log in or sign up for Devpost to join the conversation.