Inspiration

What is the best way to onboard more people to web3?

Ans: Something that they are already familiar with. Right? And that "something" is Games.

I've been playing games ever since I was a kid. I always imagined that one day I would be making money just by playing games. Unfortunately, that never happened, but I found something better: I found a passion and a skill to create games. Games that people would love to play.

"Games are a waste of time." you may have heard this before and Yeah, that was true, until we began to see the rise of "Play to Earn" in web3 space. It's basically where you can earn just by playing games that you would normally play for free. Doesn't that sound amazing!!!! However, a lot of games that we see in the web3 space are quite complex and difficult to get started. They require their own NFTs or the Game token to even start playing. And that's where most users drop off, or well, don’t even start. We think the simplicity and ease of use is missing in Web3 gaming and that’s what we bring to the table. To lower the entry barrier for people entering Web3 gaming or Web3 in general.

What it does

To the Mooon is a "Play-to-earn" endless game where you have to take your bitcoin, to the moon (As high as possible)🌝

We have designed the interface in such a way that even the “non-crypto” user can play the game for free. They don't need to bother about wallets or which blockchain it's on and all that sort of complicated stuff. Which makes it perfect to get more users playing the game and then introduce them to the wallets and other web3 stuff so that they can earn money just by playing the game they like.

The game has daily tournaments in which users can participate by staking some amount of participation fees in ETH. Every player gets 3 attempts to put up a personal high score. We rank players based on their highscore and if they rank in the top 69% of total players who participated in the tournament, then they will receive a share from the prize pool depending on their ranks. The reward distribution function uses a Geometric Progression series to calculate the attractive and fair distribution of prizes depending on the ranks. This makes it fun for users to showcase their game skills and earn accordingly. There are 2 types of tournaments in this game.

  1. Daily Tournaments - In this tournament, the participation fee collected from all the participants for that day will be redistributed to the top 69% rankers. But there will be a redistribution factor that will decide how much of the total fee collected can be distributed which can vary from 50-100%.
  2. Sponsored Tournaments - Any brand or individual can sponsor the prize pool for that day and in return, they will receive a customized banner with a clickable link on the front page of the app which says "Prize sponsored by {sponser_name}" and any participation fee for that day will be directly going to the contract fund (profits).

We are introducing custom tournaments in the future that would allow anyone to create personal tournaments to play with their friends.

Target Audience

A lot of people play games just for the sake of relaxation or just to kill a couple of minutes and that's why they tend to prefer simple games where a single game cycle is short. A lot of games that we see in the web3 space are quite complex and difficult to get started cause they require their own NFTs or the Game token to even start playing. And that's where most users drop off. Keeping this in mind we have designed the game in such a way that you can get started even without having any wallet installed. And even in play to earn mode, you can play by staking ETH itself, you don’t need to buy any in-game tokens or NFTs. Isn't that awesome!!!

How we built it

We built it using Unity, Solidity, and React for the front end, Nodejs for backend service and using Netlify for hosting our website.

Challenges we ran into

We spent most of our time thinking about how we can make this game more attractive, engaging, and fun. Making the features like the "supercharged jump" and figuring out the scoring factor so that will keep our users engaging.

We also spent a lot of time figuring out a reward distribution mechanism so that all users get a well-deserved share of the prize pool and also will make them want to play more.

Accomplishments that we're proud of

We are really proud of the Game that we have built and how engaging it has become with all its different features

The reward distribution mechanism for the prize pool is one of its kind. It fairly distributes the money depending on the performance of the users using a Geometric Progression Series function. The best part about it is that it performs really well for any number of users whether it be (2 to 10) or (10 to 100) or (100 to 1000) and theoretically should scale to several thousands of users as well.

It is also fascinating how self-sustainable this project can be. At the initial stage of launch we would be needing capital to promote the game and attract users with more sponsored tournaments. However, with time as it will get an established user base, the daily tournaments will be self sufficient for reward distribution and won’t require external capital to run. And any externally sponsored tournaments would make the contract treasury even stronger. We can even charge commissions on joining fees for daily tournaments, if need be. The task of creating daily tournaments will also be automated via cron jobs using the contract treasury for the gas fees. This means the game can run forever without any human interaction required.

What we learned

  • How to build games with unity
  • Building engaging games
  • The Game theory
  • How to keep users hooked to the platform
  • Solidity latest features
  • How developer friendly Aurora and NEAR ecosystem is

What's next for ToTheMooon - A Play To Earn Endless Game

  • Deploy on the Aurora mainnet.
  • Promote the game with the use of Ads
  • Custom Tournaments
  • PWA with support on all Mobile Browsers
  • Work on adding more features to games that will make retention higher.

Built With

Share this project:

Updates