Maison / Technologie / Implémentation du backend pour les jeux Unity3D en utilisant PHP

Implémentation du backend pour les jeux Unity3D en utilisant PHP

Suivre
( 0 Abonné(e)s )
X

Suivre

E-mail : *
photo par Sean Do sur Unsplash

introduction

Unity3D est devenu l'un des moteurs de jeu populaires aujourd'hui. Vous pouvez développer des jeux multiplates-formes en apportant quelques modifications au code. Si vous êtes très à l'aise en utilisant JavaScript ou C # alors Unity3D devrait être votre choix.

Gamification

Le succès derrière de nombreux jeux dans l'industrie serait sûrement la meilleure pratique en matière de gamification. La gamification implique tout ce qui rend le jeu plus compétitif et entraîne plus d'adrénaline pour atteindre les premières places du classement. Faire un classement pour un jeu n’est pas si facile, car il existe de nombreux composants tels que la sécurité de la base de données, userAuth, etc.

la mise en oeuvre

Ici, nous allons mettre en œuvre un classement en utilisant PHP et MySQL pour un jeu simple sur unit3D. Voici le plan:

  • Écrire PHP scripts à faire SQL questions sur notre base de données
  • Écrire C # des scripts pour envoyer et accéder aux données entre notre application et le serveur principal. Ici notre application sera la Unity3D jeu, nous allons donc utiliser leur propre documentation pour le mettre en œuvre.
  • Enfin, notre base de données est transférée sur un nuage, bien que nous l’ayons testée sur localhost au cours du développement.

Ce que nous allons mettre en œuvre

Nous allons rendre cela aussi simple que possible pour que nous puissions avoir une meilleure expérience d'apprentissage. Nous avons un jeu où nous devons stocker Nom d'utilisateur et But dans la base de données. Donc, chaque fois que le jeu se termine, nous allons stocker ces données dans la base de données, puis récupérer toutes les données qui seront triées et affichées dans le classement. N’est-ce pas si simple? Implémentons-le maintenant ?.

Écrire des scripts PHP

Vous devez avoir une idée de script back-end?.

Nous écrirons deux PHP des dossiers.

  • data.php Pour envoi et récupération Les données
  • update.php Pour mise à jour le score du joueur à chaque fois qu'il fait un score élevé local.

data.php:

nous allons déclarer quelques variables essentielles à utiliser dans notre code.

$ nom_serveur = "nom_hôte";
$ dbname = "dabase_name";
$ username = "nom d'utilisateur";
$ password = "mot_de_passe_base_de_données";
$ playername = $ _POST["playernamePost"];
$ score = $ _POST["scorePost"];

$ playername cette variable est utilisée pour stocker le nom d'utilisateur qui est envoyé depuis notre application de jeu. $ _POST[“playernamePost”] Il s'agit d'une action particulière qui indique que les données stockées dans la variable playernamePost seront envoyées par une source inconnue. Bien que cela ne soit pas sécurisé, nous allons simplement examiner l’implémentation de base. Il en va de même pour la variable $ score.

Ensuite, connecter la base de données

$ db = mysqli_connect ($ nom_serveur, $ nom_utilisateur, $ mot_passe, $ nom_bd);

une fois la connexion établie, nous pouvons aller plus loin en utilisant le SQL requêtes à nos données.

$ sql = "SELECT * FROM data ORDER BY score";
$ push = "INSERT INTO data (nom, score) VALEURS (& # 039;". $ nom de lecture. "& # 039 ;, & # 039;". $ score. "& # 039;)";

$ sql cette variable stocke le SQL requête (récupération de données) sous la forme d'une chaîne. $ push cette variable stocke le SQL question (données poussant vers la base de données) sous la forme d'une chaîne à nouveau. Vous devez avoir une idée des instructions de requête SQL telles que ce que font SELECT, INSERT et ainsi de suite… pour les données. Ils sont très simples à comprendre si. nom et score sont les colonnes de notre table de base de données. data est le nom de la table. ORDER BY est utilisé pour trier nos données sans trop de tracas pour écrire des algorithmes de tri séparés pour nos données. Je vous suggère d'éviter de l'utiliser car ce n'est pas si efficace.

Faire en sorte que ces requêtes fonctionnent

$ retrieval = mysqli_query ($ db, $ sql);
$ pushdata = mysqli_query ($ db, $ push);

Envoyer les variables comme arguments à la fonction mysqli_query complétera notre travail.

Vous pourriez penser à la façon dont notre application de jeu va obtenir les données. C’est simple, nous imprimons toutes les données en une seule chaîne sur notre PHP fichier. Plus tard, nous récupérerons ces données sous forme de chaîne unique et effectuerons quelques opérations de manipulation de chaîne pour les mettre dans notre LeaderBoard.

while ($ row = mysqli_fetch_assoc ($ retrieval))
{
echo ";". $ row['name']. ":". $ row['score']. "";
}

Nous allons récupérer les données en utilisant mysqli_fetch_assoc ($ retrieval) dans une seule variable $ row et utiliser ensuite une boucle while pour imprimer les données complètes. Nous avons fini avec data.php

Maintenant, nous pouvons récupérer et transmettre des données en utilisant le fichier data.php. Maintenant, lorsque vous devez mettre à jour le score du joueur quand il atteint un score élevé, vous devez utiliser ce script update.php. Ce serait assez similaire à data.php vous utilisez simplement une requête de mise à jour.

update.php

$ nom_serveur = "nom_hôte";
$ nombase = "nom_base_de_données";
$ username = "nom d'utilisateur";
$ password = "password";
$ playername = $ _POST["playernamePos"];
$ score = $ _ POST["scorePos"];
$ db = mysqli_connect ($ nom_serveur, $ nom_utilisateur, $ mot_passe, $ nom_bd);
$ update = "UPDATE data SET score = & # 039; $ score & # 039; WHERE nom = & # 039; $ nom de lecture & # 039;";
$ result = mysqli_query ($ db, $ update);

Vous trouvez la colonne en particulier à l'aide du nom d'utilisateur, puis vous mettez à jour le meilleur score correspondant.

Nous en avons fini avec l'écriture PHP des dossiers. Maintenant, écrivons C # scripts pour connecter l'application et le back-end.

Écrire des scripts C # dans Unity3D

Vous devez être à l'aise avec Unity3D documentation.

retrieval.cs

chaîne publique url = "www.somecloudstorage.com/data.php";
IEnumerator Start ()
{
WWW retrieve = new WWW (url);
retour de rendement récupérer;
string fulldata = retrieve.text;
users = fulldata.Split (& # 039 ;; & # 039;);
int n = 0;
list.text = "";
pour (int i = utilisateurs.Longueur-1; i> = 0; i--)
{
n ++;
si (utilisateurs[i] ! = "-> 0" &&! (Utilisateurs[i].StartsWith ("<")))
{
items = utilisateurs[i].Split (& # 039;: & # 039;);
list.text = list.text + " n" + n + "." + éléments[0];
list2.text = list2.text + " n" + éléments[1];
}}}

IEnumarator est très utile ici, car nous voulons que l'exécution du programme soit suspendue jusqu'à ce que toutes nos données soient chargées à partir du PHP fichier. Nous faisons un HTTP demande à ce particulier Fichier PHP. Nous faisons cela en créant un objet WWW et en envoyant les informations nécessaires. URL Ensuite, nous attendrons que les données soient complètement chargées. Nous pouvons accéder aux données en tant que chaîne unique en utilisant retrieve.text (consultez la documentation Unity3D si nécessaire). Le repos est assez facile, où nous faisons des manipulations de chaînes pour les récupérer dans la forme désirée.

Nous avons pu récupérer des données, ce qui était une promenade de gâteau, non !! Voyons maintenant comment nous allons transférer les données dans la base de données à partir de notre application de jeu.

push_highscore.cs

chaîne publique url = "www.somecloudstorage.com/data.php";
public void pushData (nom d'utilisateur de la chaîne, highscore int)
{
Formulaire WWWForm = new WWWForm ();
form.AddField ("playernamePos", nom d'utilisateur); form.AddField ("scorePos", meilleur score);
WWW push_Data = new WWW (url, form);
}

Ces quelques lignes de PHP le code compléterait notre travail. ⭐️ N'oubliez pas que nous utilisons la documentation officielle Unit3D pour l'implémenter. Vous devez donc importer les packages nécessaires.

Presque tout est fait !! Mais je ne parlerai pas de la façon dont vous allez mettre à jour le score. Amusez-vous à le mettre en œuvre par vous-même et je suis sûr que vous pourrez.

Il est évidemment essentiel de transférer vos données dans un espace en nuage. Vous pouvez trouver de nombreux fournisseurs d’espace cloud sur le marché et vider votre code back-end (PHP fichiers de base de données (fichier .sql) et configurez correctement votre PHPMyAdmin également. C’est ce que vous avez fait! ?

Conclusion

C’est le moyen de base pour mettre en œuvre un classement et codez votre propre back-end pour votre application de jeu en utilisant PHP et MySQL ?.

?N'oubliez pas que ce n'est pas du tout un moyen sûr de mettre en place un classement pour une application de jeu (production). Ceci est juste pour vous faire lever et commencer. ?

Vous pouvez me retrouver sur @ mehant1 (Twitter) et https://github.com/kmehant ?.


Implémentation du backend pour les jeux Unity3D en utilisant PHP a été publié à l'origine dans Hacker midi sur Medium, où les gens poursuivent la conversation en soulignant et en répondant à cette histoire.

Source

A propos newstrotteur-fr

Découvrez également

Voici les panneaux BOOM! Studios héberge au NYCC 2019 – Newstrotteur

Suivre ( 0 Abonné(e)s ) X Suivre E-mail : * Suivre Ne plus suivre La …

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *