Un chat pas comme les autres, par l'Atelier Sentô

 Atelier Sentô
Rédigé par Atelier Sentô
Publié le 04/02/2016

Ajouter un camarade de jeu à son héroïne, l'idée peut paraître assez simple à mettre en oeuvre mais de nombreuses questions viennent se poser, que ce soit sur sa cohérence graphique ou sur sa programmation. Comment s'adapter tout en restant fidèle à son idée, c'est ce à quoi l'Atelier Sentô se propose de répondre avec leur retour d'expérience.

Félin pour l'autre

On vous rassure tout de suite : finalement, nous avons choisi de styliser le chat de Mizuka. On l'admet, il n'est pas très fidèle à la réalité des vrais chats japonais. D'un autre côté, vous pourrez le caresser sans avoir peur d'attraper une maladie. Si toutefois vous souhaitez en savoir plus sur le sujet, nous vous conseillons la lecture de l'excellent livre Neko Land – une vie de chat au Japon aux éditions Issekinicho : un panorama photographiques des chats les plus pourris que vous ayez jamais vu. Et peut-être cela sera-t-il, pour les plus sensibles d'entre vous, l'occasion de tirer une croix définitive sur un hypothétique voyage au Japon.

Comme cela fut aussi le cas pour Mizuka, il nous a fallu plusieurs essais avant de bien cerner le chat qui l'accompagnerait dans ses aventures. A l'origine, c'était un chat adulte, un peu osseux. Mizuka elle-même était moins arrondie donc ils allaient bien ensemble. Mais après avoir eu des problèmes d'épaisseur du trait (voir notre article sur l'intégration des personnages), nous avons choisi de la styliser davantage : grossir sa tête, lui ouvrir les yeux et arrondir ses traits pour la rendre plus mignonne, plus vivante. Un tel changement venait également de la BD « Le Rêve d'un Irabucha » que nous avions dessinée entre-temps et qui nous avait permis de mieux saisir le personnage. Il était donc important d'adapter le chat à sa nouvelle maîtresse pour que les personnages continuent à bien aller ensemble. On l'a donc dessiné plus jeune, doux et espiègle.

Une pelote de problèmes

Au début du projet, on pensait donner au joueur la possibilité de choisir à tout moment d'incarner Mizuka ou son chat. Wintermute permet facilement de changer le personnage principal, celui qu'on contrôle avec la souris. Dans la première version du jeu, le joueur avait la possibilité de cliquer sur un personnage pour en prendre le contrôle. Mais cela entraînait plusieurs problèmes :

  • Du point de vue de la narration, même si le chat fait partie prenante du scénario, l'histoire est avant tout vue à travers les yeux de Mizuka. Si le joueur décide de contrôler en priorité le chat, ça n'a plus de sens.
  • Du point de vue de la programmation, il fallait tenir compte de l'alternance Mizuka / chat pour toutes les interactions. Donc chaque action du jeu devait être scriptée de plusieurs manières selon le personnage incarné, tout en faisant réagir le personnage non-joué de manière adéquate. Cela devenait rapidement très compliqué.
  • Du point de vue des déplacements, il était difficile de gérer ce que devenait le premier personnage après que le joueur ait sélectionné le second. Il risquait par exemple de bloquer le passage. Ce qui aurait donc demandé d'en reprendre le contrôle pour libérer le chemin avant de pouvoir enfin avancer.
  • Du point de vue de la crédibilité, depuis quand un chat fait-il tout ce qu'on lui demande ?

Une vie de chat

Au final, nous avons choisi une solution bien plus simple.

Le chat se déplace de manière autonome dans le décor. Il traverse l'écran quand il n'a pas envie de s'attarder ou au contraire il va s’asseoir à l'ombre pour faire sa toilette. Pour nous, ça simplifie grandement les choses : ça nous permet de prévoir le comportement et les animations du chat pour le rendre vivant, plutôt que de le laisser immobile dans un coin du décor en attendant que le joueur daigne en prendre le contrôle.

Pour le problème des personnages qui se bloquent mutuellement le chemin, là aussi, on a fait au plus simple. Dans Wintermute, il faut délimiter la zone dans laquelle les personnages peuvent se déplacer. En général, cette zone couvre l'ensemble du sol. Dans notre cas, on dessine deux zones, comme on le voit sur l'image ci-dessous. Le chat se déplace dans la zone rouge et Mizuka dans la bleue. Ainsi ils ne se gênent jamais :

Une patte dans votre inventaire

Pour les interactions, on a aussi cherché à simplifier. On ne voulait pas que le joueur change de personnage mais qu'il garde le contrôle de Mizuka tout le long de l'aventure et que celle-ci puisse demander au chat d'accomplir certaines actions. On a trouvé une astuce toute bête : on a créé un item « chat ».

Les items sont la base des jeux en point&click. Ce sont des objets que le joueur ramasse dans son inventaire pour ensuite les utiliser sur d'autres éléments afin de résoudre les énigmes. Puisque Wintermute est spécialisé dans ce type de jeu, créer et utiliser un item est vraiment très simple. C'est exactement ce qu'on a fait : on a créé un item qui s'active quand on clique sur le chat. Mais comme cet item ne va pas dans l'inventaire, le joueur ne le conçoit pas comme tel.

Concrètement, quand le joueur clique sur le chat, l'item « chat » s'active et le curseur prend la forme d'une patte. On peut alors cliquer sur les zones interactives pour demander au chat d'agir dessus. Du point de vue de la programmation, puisqu'il s'agit d'un item, c'est entièrement géré par Wintermute. Pour la même raison, si le joueur change d'avis, un clic droit suffit automatiquement à désélectionner le chat et reprendre le contrôle de Mizuka. Avec presque rien comme code, on a mis en place la majorité des interactions avec le chat !

Quand on intègre un nouvel élément dans le jeu, on le fait toujours de manière un peu confuse et compliquée. Mais petit à petit, en simplifiant, en cherchant des solutions alternatives, on parvient à trouver une méthode qui fonctionne. Et alors le petit chat qui accompagne Mizuka dans ses aventures commence enfin à prendre vie.

vignette pour les réseaux
17 commentaires

Comments

 The_Icehouse

Cool toutes ces histoires de chats (et chouette livre). Sinon vérifiez le sommaire (en haut à droite) : il y a la partie 19 puis la parte 19 (sans i), mais pas de partie 20 Content Le chat est passé par là !

 Seldell
Seldell 11 février 2016 à 16h13

Oups, merci Ravi

 The_Icehouse

Merci le renard, surtout !

 TeoM
TeoM 10 février 2016 à 21h40

Toujours passionnant de lire vos articles ! Et quel boulot vous faites ! Ainsi, si je comprends bien, pour passer à la nouvelle version vous avez du recommencer tous les dessins, ainsi que les animations (les inter-images) ?!

Je trouve très astucieux la solution que vous avez trouvé pour animer le chat. Et le changement de l’aspect de la souris aussi c’est bien vu. Mais pour qu’il se déplace de façon autonome quand on ne le sélectionne pas, est-ce prévu par Wintermute ou est-ce que vous avez du coder ?

 Atelier Sentô

Oui, il a fallu redessiner toutes les animations du chat. Mais on n'est pas reparti de zéro. On a décalqué les anciennes animations avec notre table lumineuse pour calquer le nouveau chat sur les poses de l'ancien. Donc ça a été rapide !

Pour le déplacement autonome du chat, on le code nous-même. Là encore, c'est très simple. Il y a juste à écrire "cat.GoTo(x,y);". Merci Wintermute !

Et merci à toi pour tes questions et ton enthousiasme !

 DarkMeatBoy

Très sympa Ravi vous pourriez même publier l'ensemble des articles dans un petit ouvrage relié que je le prendrais dans la minute :3

 Atelier Sentô

Il y a des chances qu'on fasse ça, oui. Mais pas avant que le jeu soit fini, de sorte à avoir la création complète racontée dans le livre.
En tous cas, ça nous fait plaisir que tu aimes !

 Fir3fly03
Fir3fly03 04 février 2016 à 19h42

Il est tout mignon Joyeux Et encore une fois, c'est toujours très intéressant de connaître l'envers du décor et les diverses réflexions qui sont faites jusqu'à l'idée finale.

 Atelier Sentô

Bon, si tu le trouves mignon, c'est le principal ! On espère que les joueurs s'y attacheront.

 Aleph0
Aleph0 04 février 2016 à 17h37

C'est plutôt bien vu vos techniques d'intégration pour le chat. Le fait qu'il se déplace de manière autonome dans le décor et le chemin qui lui est propre sont vraiment 2 très bonnes idées ! Content

Pages