Hello ! ça faisait longtemps non ? J’avoue ne pas avoir codé SpacePiouPiou pendant longtemps, mais mon nouveau travail m’a pas mal occupé. J’ai aussi essayé de coder un jeu avec d’autres personnes, mais nos impératifs personnels respectifs ont rendu impossible cet expérience très rapidement. Dommage, mais tout ce que j’ai développé pour cet autre jeu n’est pas perdu pour autant. Et ce que j’ai développé pour cet autre jeu, c’était entre autre une interface, et le support manette !
Commençons par les retours qui m’ont fait intégrer cet interface et rendre le jeu jouable avant tout à la manette :
- Les gens n’arrivaient pas à comprendre quels armes / pouvoirs étaient équipés
- Les gens n’arrivaient pas toujours à comprendre combien de vie il leur restait
- Les touches n’étaient pas comprises
- Les gens ne comprenaient pas pourquoi équiper une arme faisait perdre le tir standard
- Le combo clavier / souris n’a jamais satisfait personne à part 2 potes vraiment gamer et moi même
- Je devais par conséquent afficher les touches à l’écran pour ne pas perdre les joueurs moins expérimentés
Toutes ces choses m’ont fait revoir ma copie, et rendre le jeu 100% manette, et rappeler à l’écran les touches concernées, ce qui donne en pratique l’interface suivante :

Simple et efficace, elle ne change pas trop de la plupart des rogue-like habituels, et j’éspère qu’elle permettra à tout le monde de comprendre le jeu plus efficacement ! J’ai choisi de placer l’intégralité des informations en bas, comme ça le joueur n’aura pas à « chercher » où regarder pour prendre connaissance de toutes les infos nécessaires. Le fait de passer à la manette m’a aussi fait revoir ma copie sur les contrôles et voici comment se joue le jeu dorénavant :
- On tire avec Croix ou A -> Le tir standard est maintenant définitif !
- On équipe avec X l’arme à gauche / Y l’arme à droite Carré l’arme à gauche /Triangle l’arme à droite
- On tire avec LB / L1 pour l’arme de gauche et RB / R1 pour l’arme de droite -> Les gachettes sont plus appropriées car en pleine action, les pouces sont réservés aux mouvements du personnage et de la visée !
- On Bouge avec le stick analogique gauche -> Classique
- On vise avec le stick analogique droit -> comme un FPS !
- Désormais c’est un TwinStick Shooter / Rogue Like !


Et pour montrer ce que cela change en jeu : A / X sera toujours le tir standard qui peut évoluer, et les gâchettes permettent d’utiliser les armes équipées ! Vous n’êtes pas sans savoir que les armes ont des niveaux de rareté représenté par le halo de couleur autour de l’arme droppée. Parce que la nuance n’est pas toujours évidente, elle est rappelée dans l’interface en bas à droite. Vu qu’il n’est pas toujours évident de voir quels armes sont vraiment équipées, comme les pouvoirs magiques, ce rappel est plus que bienvenu !


Autrement, on sait maintenant ou on tire car la plupart des armes ont un viseur ! C’était un retour ultra fréquent. Avec le clavier / souris, on ne voyait pas toujours où on visait, et la maniabilité au stick faisant tourner les armes avec le joueur comme axe centrale, j’ai du réfléchir à un nouveau moyen de rappeler dans quel direction le joueur vise. En effet, dans le jeu de l’action la position des armes n’est pas forcément éloquente. L’association des deux (position de l’arme + viseur) ne laisse plus aucune place au doute ! En plus, cela s’intègre bien au lore du jeu, les armes avec viseurs c’est quelque chose d’assez classique.

L’interface sera sans doute amenée à changer un peu (design, propreté …) , mais dans les grandes lignes elle tend à trouver sa forme définitive ! Je n’aurai jamais cru devoir en programmer une car j’ai toujours voulu m’en absoudre. Mais je pense que je faisais erreur. Vouloir s’en passer doit être une possibilité et non une obligation dans un jeu comme un rogue like, d’autant plus que je veux le rendre assez compliqué. Donc au final, j’en suis assez fière même si elle est somme toute assez classique 🙂

Pour info technique, j’utilise des UnityEvents pour gérer l’interface : plutôt que de rendre l’UX accessible via des méthodes, je diffuse un événement de type « ChangingWeapon » (c’est un choix custom). L’interface des armes écoute les événements de ce type qui contient les données de l’arme récupérée, afin de les afficher dans les cases 🙂 C’est beaucoup plus « Programmeur friendly », en plus cela permet d’éviter des erreurs si l’interface est désactivée (Gestion des nullabilités, tout ça tout ça …) ! De nombreuses petites modifications ont été rajoutées afin de rendre l’expérience de l’utilisateur plus agréable ! J’éspère finir les ajustements bientôt pour vous fournir une nouvelle démo ! Vous n’imaginez pas le nombre de « curseurs » que j’ajuste sans cesse afin de modifier l’expérience utilisateur !! Le personnage doit avoir une 20aine de de curseurs, les interfaces et les armes je ne compte même plus (Temp de chargement de l’arme, Cooldown entre 2 tirs, puissance, vitesse, recule, sensibilité à l’étourdissement du joueur …). BREF Voici une petite vidéo de présentation qui résume les différentes captures :
Bon visionnage ! PS : sur la vidéo les touches sont un peu « déformées ». C’est car j’avais oublié de gérer les différentes résolutions et la taille des sprites de l’UX en fonction de celle ci. Chose changée depuis 🙂