🎮Jeux
Last updated
Last updated
Les contrats de jeu vous permettent de mettre en place un mécanisme de jeu et de gagner de l'argent autour d'un jeu que vous ou quelqu'un d'autre avez déployé.
Voici un guide étape par étape pour créer votre propre jeu :
Allez sur la page des jeux et cliquez sur le bouton Créer un jeu
Remplissez le formulaire qui apparaît et validez la transaction. Cela créera votre jeu. Si vous prévoyez d'utiliser une API pour traiter les scores de vos utilisateurs, vous devriez définir la variable d'adresse du contrat de jeu sur celle de l'adresse principale de PaySwap (l'adresse qui détient le CanCan channel 1).
Cochez le bouton Mine Only pour lister uniquement vos jeux afin de trouver plus rapidement le jeu que vous venez de créer. Si vous ne trouvez pas votre jeu, rechargez la page et réessayez.
La prochaine étape consiste à mettre à jour votre contrat de jeu. Cliquez sur le bouton Panneau de contrôle dans le panneau de votre contrat de jeu, puis sur le bouton Mettre à jour le jeu. Remplissez le formulaire avec la valeur appropriée pour chaque paramètre et validez la transaction.
Dans l'étape suivante, vous devez mettre à jour le lien pour jouer au jeu afin que les utilisateurs puissent jouer. Dans le menu de votre panneau de contrôle, cliquez sur le bouton Mettre à jour les informations et remplissez le formulaire avec la valeur appropriée pour chaque champ. En survolant votre curseur sur l'icône d'aide à côté de chaque paramètre, vous pouvez lire une description du paramètre. Validez le formulaire et confirmez la transaction.
PaySwap utilise le lien API du jeu pour récupérer les scores par identifiant de jeton afin que les utilisateurs puissent mettre à jour leurs scores sur la blockchain.
Voici un guide étape par étape pour jouer aux jeux :
Vous devez d'abord acheter suffisamment de minutes pour jouer. Si vous achetez par exemple 30 minutes, vous disposez de 30 minutes pour obtenir et soumettre un score à partir du site du jeu. Tout score soumis après cela ne sera pas éligible aux récompenses du jeu.
Pour acheter des minutes, rendez-vous sur le panneau de votre jeu et cliquez sur le bouton Jouer pour gagner pour accéder à la page du jeu. Cliquez sur le bouton Créer un nouveau billet et validez la transaction pour créer un NFT de jeu nécessaire pour jouer à votre jeu et réclamer des récompenses
Après avoir créé votre NFT de jeu, la dernière ligne dans l'image ci-dessous sur la page de votre jeu devrait changer de "Vous avez 0 tickets" à "Vous avez 1 ticket(s)" suivi d'une liste de vos identifiants de ticket. Souvenez-vous de votre identifiant de ticket car vous en aurez besoin pour la plupart des interactions avec votre jeu. Notre identifiant de ticket dans l'image ci-dessous est 2
Nous pouvons maintenant acheter des minutes dans notre jeu, achetons 30 minutes. Pour ce faire, cliquez sur le bouton Jouer pour gagner pour accéder au formulaire dans l'image ci-dessous. Remplissez le formulaire avec suffisamment de jetons pour acheter le nombre de minutes que vous souhaitez acheter et validez la transaction.
Nous avons entré l'ID de notre NFT de jeu qui est 2 et suffisamment de jetons pour acheter 30 minutes dans le jeu. Le texte Acheter XX Minutes change lorsque vous modifiez le nombre de jetons à envoyer
Nous devons maintenant jouer au jeu, obtenir un score et soumettre ce score avant l'expiration des 30 minutes ou nous aurons perdu notre investissement. En haut de la page du jeu, vous pouvez voir un bouton Jouer au jeu. Cliquez dessus pour lancer le jeu dans une fenêtre
Vous pouvez jouer au jeu à partir de la fenêtre contextuelle ou cliquer sur le lien en haut de la fenêtre contextuelle pour ouvrir le jeu dans une nouvelle fenêtre
Une fois que vous obtenez un score avec lequel vous êtes satisfait comme sur l'image ci-dessous, saisissez votre ID NFT de jeu et cliquez sur le bouton de soumission depuis la page du jeu.
Comme on peut le voir dans l'image ci-dessus, une fois que nous avons obtenu le meilleur score possible avant la fin des 30 minutes que nous avons achetées, nous avons saisi notre ID NFT de jeu (2) dans le champ approprié sur la page du jeu et l'avons soumis. Nous pouvons continuer à jouer jusqu'à ce que les 30 minutes expirent et si nous parvenons à obtenir un meilleur score, nous le soumettons également pour remplacer le précédent.
Vous pouvez déterminer quand vos minutes expirent en entrant votre ID NFT de jeu dans le formulaire ci-dessous sur la page de votre jeu. Dans notre exemple ci-dessous, nous avons acheté nos minutes à 19h12, donc nos minutes se termineront à 19h42 ; cela signifie que nous pouvons essayer jusqu'à ce moment-là d'obtenir un meilleur score en soumettant chaque score à chaque fois pour être sûr.
Après l'expiration de nos minutes, nous pouvons attendre le bon moment pour traiter notre score ou nous pouvons le traiter immédiatement. Les contrats de jeu accumulent leur pot de prix avec des jetons collectés à partir des achats de minutes et calculent les gains des utilisateurs en fonction de leur score.
Pour notre scénario actuel, le pot de prix de notre jeu est de 3 USD, que vous pouvez consulter depuis la page du jeu.
Supposons que nous avions un pot de prix de 1000 USD et que l'addition totale des scores obtenus dans le jeu par les utilisateurs soit de 8000. Nous avons obtenu un score de 800 en jouant à notre jeu, donc nos gains seront calculés comme suit : 1000 * 800 / 8000 = 100 USD
Si nous avions réclamé nos gains lorsque le total des scores obtenus dans le jeu était de 5000 et que le pot de prix était de 800 par exemple, nous aurions réclamé : 800 * 800 / 5000 = 128
Donc, décider quand réclamer vos gains est une décision stratégique à prendre, vous voulez repérer le moment où le score total obtenu dans le jeu n'est pas trop élevé mais où le pot de prix est élevé. Le score total est disponible en haut de la page du jeu comme sur l'image ci-dessus (à la cinquième ligne).
Allez sur la page Jeux et trouvez votre jeu.
Allez dans le menu du panneau de contrôle de votre jeu et cliquez sur le bouton Traiter le score. Vous ne pouvez pas remplir le formulaire ; vous devez simplement valider la transaction afin d'écrire le score obtenu dans le jeu précédemment dans le contrat de jeu. PaySwap interrogera votre score auprès de l'API du jeu et remplira le formulaire pour que vous puissiez le valider.
Vous devriez pouvoir voir le score total du jeu mis à jour avec votre score. La prochaine étape est de cliquer sur le bouton Réclamer les récompenses dans le menu du panneau de contrôle. Validez la transaction pour réclamer vos récompenses et transférer vos gains dans votre portefeuille.
Vous pouvez soit réclamer vos récompenses immédiatement, soit attendre un peu pour que le pot de prix augmente avec plus de joueurs rejoignant le jeu et achetant des minutes. Plus le pot de prix est gros, plus vous pouvez gagner, mais c'est un peu délicat car si les nouveaux joueurs parviennent à augmenter le score moyen du jeu, cela pourrait réduire votre part des gains totaux.
Vous devez essentiellement choisir le bon moment pour réclamer vos récompenses : réclamerez-vous une plus grande part d'un pot plus petit ou une plus petite part d'un pot plus gros ?
Ajoutez un formulaire sur le site du jeu pour permettre aux utilisateurs de mettre à jour leurs scores. Dans l'image d'exemple ci-dessous, les utilisateurs peuvent saisir leur ID de jeton de jeu et cliquer sur le bouton Enregistrer le score chaque fois qu'ils ont un score avec lequel ils sont satisfaits, et le jeu enregistrera leur score (sous le nom de score), ainsi que l'heure d'enregistrement du score (sous le nom de deadline) et l'heure à laquelle l'utilisateur a commencé à jouer au jeu (sous le nom de startime) dans la base de données Firebase (vous pouvez utiliser n'importe quelle base de données que vous voulez). Assurez-vous que votre jeu garde une trace du moment où vos utilisateurs commencent à jouer à leurs jeux (startime), car ce paramètre est extrêmement important pour s'assurer que les utilisateurs ne peuvent enregistrer des scores que pour les minutes de jeu qu'ils ont achetées. Sans cela, un utilisateur pourrait passer des heures à maximiser son score pour un certain jeu, puis acheter simplement 1 minute depuis la page du jeu sur PaySwap et l'utiliser pour enregistrer le score. Avec un paramètre de startime, nous serions en mesure de détecter la divergence entre les minutes achetées et les minutes réellement jouées.
Déployez le contrat de jeu en suivant les étapes ci-dessus et assurez-vous de mettre à jour les informations du jeu avec un lien API qui renverra les scores et les délais de vos utilisateurs.
Pour notre jeu Mario, notre lien API est : https://firestore.googleapis.com/v1/projects/tiktok-a2bdb/databases/(default)/documents/c4/
C'est avec cela que nous allons mettre à jour notre jeu. Pour obtenir le score et un délai de l'ID de jeton #1 par exemple, PaySwap ajoutera simplement l'ID de jeton #1 au lien API que nous avons enregistré, ce qui donnera cela : https://firestore.googleapis.com/v1/projects/tiktok-a2bdb/databases/(default)/documents/c4/1
PaySwap ajoute simplement l'ID de jeton de l'utilisateur à votre lien API, alors assurez-vous que votre lien API enregistré a une barre oblique de
fin (/). Interroger ce point de terminaison retourne le score et le délai qui ont été enregistrés pour l'ID de jeton 1 par son propriétaire dans le format suivant. Assurez-vous que les paramètres startime et deadline sont enregistrés en secondes et non en millisecondes.
Tant que votre API suit le format ci-dessus et renvoie un objet avec le format ci-dessus, le système ne devrait avoir aucun problème pour mettre à jour les informations de score de vos utilisateurs sur la blockchain, ce qui est une étape nécessaire pour qu'ils gagnent des récompenses.
Félicitations, votre jeu a maintenant un composant Jouez pour gagner !!! Vos utilisateurs peuvent désormais :
voir votre jeu depuis la page des jeux
acheter suffisamment de minutes pour faire leurs meilleurs scores
mettre à jour leurs scores dans votre base de données centralisée
utiliser la plateforme PaySwap pour signaler ce score à la blockchain via une API que vous avez fournie
réclamer leurs gains si leurs scores sont suffisamment élevés