TronDance | The First Dance to Earn Platform 💃 (LIVE)

Project Goal: Onboard the millions of dancers into web3
Project Track: Gamefi
Team Name: TronDance
Team Member(s): @zkman @ritumbhara
DevPost URL: TronDance | Devpost
Project Website: https://trondance.netlify.app/
Project Test Instructions: GitHub - devshaaran/TronDance: Dance to Earn 🕺🏻💃🏾

TRON Dance: Your STAGE to WIN IT

Got some moves to show off? You’ve come to the right place! With TRON Dance you can make money while you MOVE on the BEAT.

There are around 264 Million dancers in the world, but most of them probably aren’t using WEB3. But we are here to change that!

The Web2 Gaming industry has an early turnover of over $400 Billion dollars worldwide. Although Web3 GameFi revenue recently reached $55 Billion in revenue in February, there’s still a long way to go.

We seek to increase WEB3 acceptance through TRON Dance by getting Dancers on board with us. On TRON Dance, dancers connect their wallets and stake TRX the easiest way to fight Dance Battles, with a variety of over 30+ tracks and awesome choreographies.

TRON Dance is the first ever Blockchain and AI driven Play to Earn game ever built, where dancers can compete, win and have fun without any prior WEB3 or even Gaming experience! How exciting! Isn’t it?

Checkout our short pitch below :point_down:

So how does TRON Dance work?

It’s really simple! Dancers have 2 options:

1) Free Battle : Users don’t have to bet any tokens, this mode lets users practice their strokes before getting into a real battle

2) Bet Battle : Users can bet TRX tokens in this mode and show-off their skills on a one-on-one battle with another user.

3) Marathon Battle : This is a 1-month contest, and users can only register at a time. There will be a registration fee for joining a battle which is fully refundable post the event completion; whoever wins the most number of matches over a period of 1 month will win TRX tokens for free (COMING SOON)

The winner takes all in a TRON Dance battle.

How does TRON Dance decide who wins?

With the perfect blend and coordination of Blockchain and AI, we have created tech that forms the backbone for evaluating the accuracy of dance moves when compared to the given moves in the set challenge.

Evaluation of scores happens on-chain making the process completely trustless.

High Level Architecture

  1. The user is requested to log-in the app by singing a message with his/her private key, once signed - the signature is transferred to the Authentication server which ensures the validity of the key and provides the access token to the frontend which is used to authenticate the user.

  2. The user clicks “Bet Battle” on the frontend website interface when they are ready to engage.

  3. The user’s TronDance contract instance is checked by the backend app to see if there are sufficient funds staked.
    If there are insufficient funds, the user is asked to add 5 TRX to the contract. If there are sufficient funds, the backend looks to see if any combat rooms are already open and invites the user to one of them.

  1. If there isn’t a Battle Room available, the Backend generates one with a (T+90) expiration time; if no one joins the BR within 90 seconds, the room expires.
  1. When a new user joins the battle, the backend automatically selects a random song for the battle and initiates it after a 30-second delay, when both players are prepared.

  2. To allow each player to be aware of their opponent’s movements, the movements of both players are processed using pose estimation AI algorithms, and the interpolated data as well as the similarity fn between the user and the original dancer are transmitted via a web-socket.

  3. Once the song is over, the websocket server sends the backend server all the interpolated movement data.

  4. The data is processed by the backend server and stored in the backend database.

  5. Another node server has a scheduled cron to pick up the data and post the data to the smart contract deployed on Tron.

  6. The smart contract on Tron, deploys basic logics to find out the winners from the data procured and transfers the funds to the winner.

Our Business Model.

  • Battle Commission
    Everytime a TRON Dance Battle ends, we charge a 5% fee which is deducted from the Winner’s Prize Pool out of which 3% goes to TronDance Foundation and 2% goes to the creator.

  • Power Ups
    Dancers can purchase power-ups to help them fighting their opponent, for example:
    a) Pick Song: The song of dance can be picked.
    b) Blind other Player: The other player can be blinded with a stun screen for 6 seconds (only once per battle), where the other player won’t be able to see the steps of the original artist.

  • Viewer Commission
    Viewers can bet on the player they feel will win at the beginning of the Dance Battle, a 5% fee will be deducted from the Winner’s Prize Pool.

Scorenomics

Tokens are indeed helpful in growing the community however opening companies in BVI or Panama and procuring the necessary security license can be a hectic and expensive task (150K$-250K$) right at the time of launch. Although we have plans for launching a token in the future we will presently not release any token, nevertheless we will be releasing a game-wide score system which will be backed by Tron(TRX) as the primary in-game currency.

What’s forward for TronDance

Features

  1. Enhancements
  • Onboarding redesign
  • Leaderboard for users
  • Dancers online
  • Power ups for dancers
  • Increase number of users in a dance floor to 4
  1. App-level Optimization
  • More Redis integration to reduce load on DB
  • Use private websocket connections to track user behaviour throughout the game
  • Reduce server latency ( migration from wsgi to asgi )
  1. Security Optimization
  • Use AI to screen video for external devices at random instances during a dance-off
  • Procure signature from both parties before starting a match which can be used for validation

Go to Market

  • Popularise in reddit dancing channels
  • Popularise in university dance oriented clubs / chapters
  • Popularise in conferences as a side activity

How to Play?

  1. Go to https://trondance.netlify.app

  2. Download Tronlink if you don’t have already.

  3. Click on Login ( Currently works only on NILE Testnet)

  1. If you want to practice click on “Free Battle” and if you want to bet click “Bet Battle”

  1. Wait until the game starts

  1. Dance your best :stuck_out_tongue:

  1. Reach the climax (if you win or loose)

Hoping to see you in one of the TRON Dance Battles anon

21 Likes

Interesting concept @zkman good luck in the hackathon :+1:

Would really want to know this works in practice. Is there any demo video available. Cos i still cant wrap my mind on how the dancing will be done.

Thank you

3 Likes

Agree, I’m curious as well (maybe I can learn some moves :joy:)

1 Like

The best ideaaa lets danceeee :dancer:

2 Likes

Who decides how many trx will be staked for the battle? Can people bet on the winner by staking some as well?

Time to learn dance moves on this network o
Please show how it works

1 Like

Hola, podía presentarnos gráficamente como funciona, puede ser un buen proyecto para quien le guste el baile, pero explicado de esta manera quedan muchos puntos en el aire de la aplicación. Gracias.

1 Like

Dance now at TronDance | Dance to Earn :tada: :tada: :tada:

We have added some “Easter eggs” for you all, find the eggs to win surprise prizes!

Nice concept dance and win

1 Like

Would love to hear your feedback after trying out the platform

Thanks Simon! your appreciation means much

:man_dancing: :man_dancing: :man_dancing: :man_dancing: :dancer: :dancer: :dancer: Lets learn some together

1 Like

This is a great idea to onboard new comers into the Web3 ecosystem!
Imagine all the Tik Tok users joining :star_struck:

Good luck with the hackathon!

this look fun lol, excited to test.

1 Like

Very interesting project! Wishing you the best in hackathon :dizzy: :boom:

2 Likes

yeess I can learn some dance

1 Like

Love the idea :melting_face: It s perfect

We will probably add a genre for all the tiktok dances :stuck_out_tongue: