Un second héros, pas un second curseur

Le co-op à deux joueurs est en place. C'était prévu depuis longtemps, mais là c'est fait.

Le joueur 2 incarne l'Ardent. Alaric garde la lanterne : c'est elle qui appelle ce champion de braise. L'arrivée et le départ du deuxième joueur ne se font pas dans le menu mais directement ingame.

Il a son arme à lui, un bâton qui envoie une salve de trois boules, une grosse puis une moyenne puis une petite. Ça se joue autrement que la lanterne d'Alaric, et c'est volontaire : à deux, on ne veut pas deux fois la même chose à l'écran.

Pour le moment ce sont des sprites de Chaos Engine, qui seront remplacés une fois le designer trouvé ;)

Les deux héros à l'écran : Alaric avec sa lanterne, et l'Ardent qui envoie sa salve de trois boules.

Rejoindre en cours de route

Donc en résumé, le second joueur appuie sur le bouton de tir, et il est là. Pas d'écran de sélection, pas de retour au menu, pas de partie à relancer. Quelqu'un entre dans la pièce, prend la manette, et joue.

Pour que ça marche, l'invitation doit être visible sans être envahissante. Le bandeau du haut, dont j'ai parlé dans un article précédent, avait justement été dessiné en prévision de ce moment. Il affiche « PRESS FIRE » à la place qu'occuperont les cœurs du joueur 2.

Ce que ça coûte de rejoindre

Un détail invisible qui m'a demandé pas mal de travail : à l'origine, appuyer sur le bouton pour rejoindre provoquait un à-coup. Il fallait redessiner toute la moitié droite du bandeau d'un seul coup, en pleine partie, et ça se voyait, j'avais des ralentissements.

La solution que j'ai mise en place consiste à préparer cette moitié du bandeau au démarrage du jeu, pendant que l'écran est encore noir. Elle est bel et bien dessinée, mais peinte dans la couleur du fond, donc invisible en solo. Au moment où le second joueur rejoint, je ne redessine rien du tout : je change simplement les couleurs concernées. Le bandeau du joueur 2 apparaît d'un coup, sans que le jeu ne ralentisse d'une image.

La palette n'est que seize couleurs, mais on peut la changer à volonté sans toucher un seul pixel, et ça ne coûte quasiment rien. Beaucoup d'effets du jeu reposent là-dessus.

Et la caméra, dans tout ça

Le vrai casse-tête du co-op sur un écran unique, c'est le cadrage. Deux joueurs qui partent chacun de leur côté, on doit choisir qui la caméra suit.

La caméra suit donc celui qui avance, tout en gardant l'autre dans le cadre, et elle se déplace de façon progressive plutôt que de sauter quand la situation change.

📷 Capture à venir : le bandeau en co-op, les deux zones de vie et de score côte à côte, pendant que le décor défile.

La suite

Le co-op fonctionne sur les deux machines, STf comme STe. Reste à l'éprouver longuement à deux manettes, sur des sessions réelles, parce que c'est le genre de mécanique dont les défauts n'apparaissent qu'après une longue session de jeu.

Pour découvrir où en est le jeu, voir la page d'accueil.