Projet Cartylion
Partageons notre passion Communauté
Catégorie :
Date : 17 mai 2022

Stage de programmation et interfaçage Unity site web

Je m’appelle Pierre Tahon et je suis actuellement un étudiant en 3ème année de Game Design et de Programmation à E-artsup à Lille. J’ai 22 ans, et je suis passionné de jeux vidéo (comme beaucoup de jeunes de mon âge), parmi mes genres favoris il y a le rogue-like, le rpg et les jeux de deckbuilding.

Je suis actuellement stagiaire en programmation pour le Projet CarTylion sous la supervision de Mathieu. Ma mission, durant ce stage était d’interfacer le système de jeu de Conseil de Guerre en ligne avec le site web de CarTylion.

Pourquoi ai-je choisi de rejoindre cette aventure ?

Tout d’abord parce que je suis un véritable passionné de jeux de cartes et que l’objet du travail était un jeu de cartes, Conseil de Guerre. Ensuite parce que les enjeux du stage m’intéressaient, étant également un passionné de programmation, j’aime comprendre et apprendre de nouvelles choses, parmi lesquelles figurent la programmation de jeux multijoueurs en ligne ainsi que de jeux de cartes.


Ma contribution au projet

L’interface des cartes, le terrible Aigle-Noir !

Pendant mon stage, j’ai pu aider tout d’abord sur l’UI via la modification des assets de cartes, certains assets n’étaient pas stockés sur le bon modèle, il a fallu les réparer, l’idée de Mathieu qui était d’ouvrir l’asset dans un bloc texte afin de le modifier a résolu le problème et nous a fait gagner beaucoup de temps.


La longue phase de recherche

J’ai également pu être utile en faisant de la recherche (via l’API d’Unity, et sur les différents forums d’aide) notamment sur tout ce qui est interfaçage du jeu avec le site web, avec plus ou moins de réussite, comme indiqué dans les essais.


Correction et ajouts d’effets de cartes

J’ai par la suite apporté ma contribution sur le débogage des cartes une fois jouées : cela consiste à vérifier si les effets de chaque carte fonctionnent comme prévu ou si ils ne sont pas encore implémentés, auquel cas proposer une solution qui pourrait fonctionner ou simplement faire un rapport du problème.

J’ai aussi travaillé sur l’ajout et la modification de certains effets de cartes.



Carte Aigle-Noir - maquette finale du jeu de société Conseil de Guerre
Carte Aigle-Noir – maquette finale de Conseil de Guerre

Les essais

Comment fonctionne l’interfaçage

Pour interfacer un jeu avec un site web, on cherche d’abord à authentifier la personne qui se connecte via login et mot de passe, de là on valide grâce à un jeton d’accès si la personne est recevable ou non (login correct et mot de passe correct), on utilise le terme de token (objet chiffré très long).

Le site de CarTylion a été fait en WordPress, il fallait donc un objet compatible entre ce site et le jeu codé en Unity, et de préférence gratuit.


La phase de recherche en détails

On cherche donc un plugin comme vous l’a expliqué Mathieu dans ses articles précédents. Afin de connecter le site au jeu Unity, la méthode la plus logique était d’utiliser le plugin Unity OAUTH2, car il permet à la fois de recevoir des données et d’en envoyer grâce à l’url (l’url est le lien permettant d’accéder à un site internet). Cependant nous ne parvenions pas à récupérer les tokens grâce à cette méthode. Nous avons également cherché à utiliser keycloak (un plugin permettant de stocker les tokens).


Résultats de la phase de recherche

On s’est finalement rendu compte que la plupart des problèmes étaient liés à l’architecture du site en elle-même, n’étant pas issus d’une formation en programmation spécialisé web et réseau, nous n’avons pas les compétences nécessaires à la modification du site.

Ce que m’a apporté le stage

Les essais m’ont permis d’apprendre beaucoup sur la programmation réseau (Rpc, command expliqué dans l’article de Lucas), j’ai également pu améliorer ma conception en architecture logicielle en améliorant ma maitrise des patterns qui nous ont été nécessaires durant ce projet, le singleton par exemple.

Pattern : patron de conception de base permettant d’assurer le bon fonctionnement et le codage de l’architecture du logiciel.
Anti-pattern : contraire du pattern, ce qu’il ne faut pas faire ou le moins possible, code spaghetti par exemple.



Je souhaite également de la réussite et beaucoup de courage aux futures personnes ainsi qu’aux personnes travaillants actuellement sur le projet pour la suite et la finalisation de ce dernier !

Pierre est un jeune développeur qui a fait un stage au Projet CarTylion.
 

Laisser un commentaire

Cette section n'est pas encore disponible.

Mot de passe oublié ?

Vous n'avez pas encore de compte ?

Créer un compte

Pour rester informé-e des évolutions du site, laissez-nous votre email.

À bientôt !