Terry Cavanagh dévoile le code source de VVVVVV pour les 10 ans du titre

Tiens donc, une news sur Terry Cavanagh qui ne parle pas de Dicey Dungeons ! Hé bien oui, car nous l’avions peut-être oublié ces derniers mois, mais le monsieur est à l’origine d’autres titres, notamment VVVVVV, son jeu de plateforme hardcore et qui fêtait ses 10 ans samedi dernier. Pour l’occasion, son développeur donne accès au public à son code source.

Après son annonce lors de l’AGDQ 2020 (événement lors duquel VVVVVV était speedrunné), le voici : Cavanagh a publié sur son blog une longue note pour l’occasion, donnant ainsi le lien GitHub contenant le code des deux versions du jeu. La première, portée du Flash au C++ pour la version PC en 2011 par Simon Roth (développeur du jeu de gestion de colonie spatiale Maia), la seconde étant la version mobile, adaptée également du Flash pour cette fois-ci être réécrite en Actionscript pour Adobe AIR. Les deux sont ainsi entièrement consultables et modifiables, pour le plus grand bonheur des programmeurs et bricoleurs.

VVVVVV anniversaire 10 ans

Enfin, bonheur, oui les gens s’amusent comme des fous et l’on peut d’ores et déjà contempler les modifications faites au jeu un peu partout (et largement partagées par Terry Cavanagh), mais ont également été particulièrement effarés en découvrant la structure du code, qui, de l’aveu même de son concepteur « n’est pas techniquement sophistiqué. Même selon les standards des développeurs indés autodidactes, c’est un sacré bazar. » Si l’on peut déjà admirer le courage de dévoiler un code dans cet état (et ne pas se voiler la face en admettant qu’il est loin d’être le seul à sortir des jeux bricolés de la sorte), on saluera également l’intérêt du partage. Car le code est sale, certes, mais loin d’être dépourvu d’intérêt.

En poursuivant la lecture du blog de Cavanagh, on apprendra ainsi la raison de déclarations un peu étranges de variables, causées par la différence de structure de code entre le Flash et le C++ (habitude qui complique intensément le débuggage), que tous les niveaux sont codés en dur dans d’immenses tableaux et générés à l’aide d’un éditeur de carte de son cru, ainsi que l’explication de la déstabilisante absence d’objets temporaires, due à une croyance de Cavanagh quant aux propriétés du Flash. De nombreuses autres précisions sont disponibles sur son site, et j’en recommande fortement la lecture à toute personne intéressée par le sujet, ainsi que de l’article de Polygon dans lequel le Data Scientist Randy Olson explique l’origine et le fonctionnement d’un immense switch défiant toute logique de conception.

Bien loin d’un sujet de moquerie, la lecture de ce genre de code permet de comprendre comment le jeu a été pensé et conçu, ainsi que de constater les progrès techniques de son développeur, qui nous donne ainsi une belle leçon : « J’étais jeune et plus intéressé dans le fait d’afficher quelque chose à l’écran que de le faire proprement. La meilleure chose à propos du code-source de VVVVVV est probablement qu’il fait preuve de ce qu’on peut bricoler, même en n’étant pas franchement programmeur. »

Shift
Shift

Camélidé croisé touche de clavier et militant pro-MS Paint. J'aime les jeux indés à gros pixels, les platformers sadiques et les énigmes.

Aucun commentaire

Laisser un commentaire

Votre adresse email ne sera pas rendue publique.