J'inaugure la présentation de prototypes personnels, fait tout seul moi-même (ou presque) assis par terre dans mon salon.
![Untitled Image]()
Color Racer est issu d'une branche d'un concept plus classique, auquel réfléchissait mon frangin pour son taff. Je sais plus d'où, ça venait, mais on en est arrivé à faire chacun sa version du concept.
Le principe de Color Racer, c'est que le véhicule doit être de la même couleur que la portion de piste sur laquelle il se trouve pour pouvoir avancer à fond. Ca rappelle un jeu à certain ? Ca ne m'étonne pas. FAST : Racing League (Wiiware) a été annoncé très peu de temps après.
Ca nous a foutu un peu les boules, mais notre idée venait plutôt d'Ikaruga et de Tag : Tower of paint. (Et pis c'est pas comme si on allait les concurrencer ...)
Je vous présente les idées de base qui ont conduit à ce proto, et vous verrez que, hormis le systeme de Phasage / Dephasage avec des couleurs, il n'a pas grand chose à voir avec FAST.
Tout d'abord, Dans ma tête; le circuit devait être constamment d'une couleur ou d'une autre et non pas avoir des zones "neutre" avec quelques portions de couleur. Faut pousser l'idée à fond, quoi. Le joueur doit donc sans cesse vérifier si il est en phase ou non. (c'est à dire que la couleur de son véhicule soit la même que celle de la piste).
Ensuite, il y a trois couleurs : le Rouge, le Jaune et le Bleu. Je voulais reproduire le concept du Pierre, Papier, Ciseaux. Je l'utilise pour la vitesse de déplacement et la "vie" du joueur.
Le véhicule avance tout seul. J'ai pas voulu que le joueur ait à appuyer sur un bouton afin que la prise en main reste simple et qu'il se concentre plus sur la piste que sur sa vitesse.
Lorsqu'il est déphasé, sa vitesse est plus ou moins réduite, et sa "vie" baisse plus ou moins vite.
Actuellement, il n'y a qu'un mode TimeTrial avec un circuit sans collision. Ca veut dire qu'on peu se promener sur tout l'environnement. Ca sert à rien !
Théoriquement, je pensais que ça serait plutôt facile à jouer. Je ne voulais pas d'un jeu turbo-rapido-futuriste, donc je pensais que le joueur allait pouvoir anticiper, sauf que non.
Je me suis rendu compte, après codage et testage, que l'on devait apprivoiser le gameplay sur 4 ou 5 tours de piste tout en mémorisant les zones de couleur pour vraiment s'amuser à faire le meilleur temps. Assez opposé à l'idée d'accessibilité que je voulais ...
En fait, ça vient en parti du système de switch de couleur. Au lieu de mapper chaque couleur sur une touche, j'ai préféré un systeme d'anneaux.
Ainsi, on appuie sur W pour faire tourner l'anneau vers la gauche et C pour le faire tourner vers la droite et ainsi, changer de couleur. Visuellement, j'incluais le HUD sur le véhicule et j'affichais la cohérence du système avec le principe de Pierre, Papier, Ciseau.
Ca veut dire que lorsque le véhicule est phasé, la couleur de gauche lui permet de "ralentir" et la couleur de droite d'avoir un genre de ralentissement d'urgence. Donc si le joueur appuie deux fois sur la gauche, son véhicule ralenti "progressivement", quelque soit la couleur phasé.
Hors, on appuie déjà sur gauche / Droite pour diriger le véhicule, faut donc pas être trop dyslexique des mains et se mélanger les pinceaux.
Pourtant, j'ai blindé niveau infos phasage :
J'ai, donc pensé à avoir chaque couleur sur un bouton. Mais je me suis posé la question de la pertinence d'un tel système. En effet, bien qu'il soit beaucoup plus ergonomique, ne serait-il pas mieux, dans ce cas, que chaque bouton "accélère" ? Par extension, ça remet en cause le déplacement automatique du véhicule qui remet en cause le principe de concentration sur le circuit et non sur la vitesse.
Fameux bordel, non ?
Enfin bon, j'ai tout de même dans l'idée de proposer à terme, deux systèmes de contrôle. L'actuel, pour les warriors, et une version 3-boutons (mais qui n'accélère pas).
Techniquement, comme vous l'avez remarqué sur les screens, c'est du mode 7. Pourquoi pas de la 3D ? Parce que ça demande de plus grosses connaissances et un taff beaucoup plus conséquent. Faut réfléchir en trois dimensions, faire un model 3D est beaucoup plus long et le public étant habituer à ce genre de rendu, le moindre truc raté se voit comme un tarin sur la tronche d'un nasille. Et je suis pas grapheux 3D.
Et puis j'aime particulièrement la 2D "à l'ancienne" avec ses pixels apparent.
Car Color Racer est un jeu 2D, pas parce qu'il y a des sprites, mais parce que son code est basé sur la 2D. Les déplacements se font sur les axes X et Y. En fait, on peut très bien jouer au jeu, vu de dessus.
J'utilise Game Maker, un moteur 2D (qui peut aussi faire de la 3D) très simple d'utilisation mais qui permet également de faire des trucs très poussés. C'est un moteur vraiment sympa pour prototyper quelque chose rapidos.
Un coup de saignage de z'yeux : voilà deux versions Work In Progress de Color Racer. D'abord pour ajuster la caméra (impression de vitesse, visibilité), puis test du système de couleur avec un magnifique HUD en cube ! (cliquez sur l'image pour perdre un oeil)
Ca a quand même plus de gueule là, si on aime les barriques à hélice, la savane et les îles plates flottantes.
J'voulais tester un effet de profondeur en collant un graaaaand fond et une map à trous avec une cascade. A droite, on voit la rivière qui ne se jette pas dans le trou. J'ai du virer la cascade car il y avait un souci de priorité dans l'affichage. Vous savez, comme certain jeu de l'ère 32bits où des parties d'un personnage, se trouvant pourtant derrière un élément du décor, était tout de même affichées devant lui.
Bref, j'ai voulu faire un truc WHAOUH en mode 7. Ca a pas marché.
Je vais expliquer comment j'ai conçu le changement de couleur.
La piste est un puzzle de trois pièces, correspondant au trois couleurs. Ce sont les masques de collisions :
Petite précision concernant le terme "Collision".
Une collision, ce n'est pas exclusivement un objet qui bute sur un autre, comme un mur. Ca, c'est une collision solide.
Dans le cas de Color Racer, on parle plutôt de "trigger" (interrupteur), il y a toujours une collision, mais on s'en sert pour activer des trucs. Ici, modifier la vitesse du véhicule.
Par exemple, dans un jeu dans lequel un personnage marchant dans l'eau, voit sa vitesse de déplacement réduite, c'est qu'il y a une collision entre lui et un "trigger", dont la fonction est de modifier la vitesse du personnage.
Fin de la précision.
J'assemble ensuite les trois parties, je colle un jolie fond et tadaaaa ! Tel Tintin découvrant l'énigme de la licorne :
Bon en vrai, c'est du 2048 x 2048 !
Et ensuite, j'ai testé mon jeu.
Et je me suis rendu compte que j'avais un vieux freinage du véhicule dès que je phasais aux intersection entre les différentes parties.
Pourtant, visuellement, j'avais bien l'impression que mon véhicule était entré dans la partie correspondante.
L'explication est simple, mais il faut bien comprendre comment ça fonctionne.
Le jeu affiche 30 images par seconde. A chaque image, le code surveille si j'appuie sur un bouton et si y'a un truc a faire. Donc durant une image, le véhicule est sur la couleur, disons, bleu, et l'image suivante, il est sur la couleur Jaune. Il faut donc que j'appuie sur mon bouton de changement de couleur sur CETTE image-ci, quand ca passe sur le jaune et ELLE SEULE. Si j'appuie 1, 2 ou 30 image plus loin (ou avant), le code, cet hyperactif, a déjà mis en marche ce que je lui ai dit de faire : déphasage = freinage.
Hors, vu la vitesse du jeu et l'affichage en perspective (mode 7), c'est impossible de switcher pile sur cette image.
J'ai donc dû trouver une solution.
J'ai utilisé une "sonde". Un petit pixel tout seul que j'ai placer à une trentaine de pixels devant mon véhicule. Ainsi, si le joueur tentait de phaser, parce que VISUELLEMENT son véhicule semblait être rentré dans une nouvelle couleur alors que TECHNIQUEMENT non, et que la sonde se trouvait dans cette nouvelle couleur, j'annulais le déphasage.
Bien sûr tout était réglé pour que tout soit visuellement cohérent.
Galère, hein ? Mais tellement passionnant !
Réécriture total du code en prévision ! J'avais lacher pour faire un autre jeu plus simple, mais j'ai envie de m'y remettre, vu que j'ai gagné en XP niveau code.
Je prévois des armes et un jeu axé sur le multijoueur (en local).
Des "armes" en fait. Avec des guillements. Puisque ça sera surtout des trucs qui modifieront le gameplay, plutôt que des missiles qui explosent l'adversaire. Le jeu étant surtout dédié à la conduite et la connaissance du circuit, ça me parait beaucoup plus cohérent de faire ainsi.
Visuellement, j'vais opter pour un truc Moyen Ageux feat. Energie à proton. Genre chariotte en bois avec le réacteur du Faucon Millénium. Un peu comme si De Vinci avait découvert l'énergie atomique avant que De Rochas imagine le moteur quatre temps.
C'était un peu déjà le cas.
Oui, on contrôle ce "truc".
Color Racer va faire l'objet d'un développement semi-pro, avec d'anciens collègues, il va changé de nom, de véhicule, un peu d'univers, mais le principe sera le même. Ah oui, pis il sera dans une jolie 3D bien artistiqué. Toujours sur PC et peut être sur iPorn et Androbide.
Le jeu est pas mort, bien au contraire, mais l'univers à changé et il reste en (vrai) 2D ... pour l'instant. Je prévois une version simple et fun, à la Micromachine pour valider les principes.