Le code source de VVVVVV est publié
(github.com/TerryCavanagh)- Le code source du jeu indé VVVVVV, sorti en 2010, a été publié ; le jeu a été créé par Terry Cavanagh, avec une musique de Magnus Pålsson
- Le code source de la version desktop se trouve dans le dossier desktop_version du dépôt
- VVVVVV est toujours vendu commercialement, mais il est possible de compiler librement des builds pour un usage personnel
- Pour distribuer une version compilée, il faut consulter le fichier LICENSE.md du dépôt
- Les discussions autour des mises à jour de VVVVVV ont principalement lieu dans le canal
vvvvvv-codedu Discord VVVVVV non officiel
Code source publié
- Ce dépôt contient le code source de VVVVVV, le jeu indé de Terry Cavanagh sorti en 2010
- L’annonce de la publication du code source est disponible dans le billet de blog de Terry : announcement
- Le code source de la version desktop se trouve dans le dossier desktop_version
Conditions d’utilisation et de distribution
- VVVVVV peut toujours être acheté commercialement sur thelettervsixtim.es
- Pour un usage personnel, il est possible de compiler le jeu soi-même
- Pour distribuer une version compilée du jeu, il faut consulter LICENSE.md
Canal de discussion sur les mises à jour
- Les discussions sur les mises à jour de VVVVVV se déroulent principalement sur le Discord VVVVVV non officiel
- Le canal concerné est
vvvvvv-code
1 commentaires
Avis sur Hacker News
Vers la fin du lycée, quand je suis allé à London avec ma famille, je voulais devenir développeur de jeux et j’ai envoyé un e-mail à Terry Cavanagh ; à ma grande surprise, il a accepté avec plaisir qu’on déjeune ensemble.
Il était vraiment adorable et m’a aussi donné pas mal de conseils de vie. Je me souviens qu’il disait que la plupart des idées ne viennent pas d’une grande vision, mais qu’on les obtient en bricolant et en expérimentant avec des mécaniques de jeu. Bref, c’est quelqu’un de formidable, et je suis content qu’il publie en open source VVVVVV, qu’il appelait V.
Il faut avoir rencontré quelques personnes vraiment nulles pour reconnaître correctement celles qui valent vraiment le coup.
Un jeu vraiment amusant. Je ne joue pas énormément, mais je me souviens avoir acheté le Humble Bundle pour l’obtenir.
C’est l’un des rares jeux que j’ai terminés. Merci Terry pour ce superbe travail et ces bons moments. Au passage, veni vidi vici était vraiment salement difficile et m’a pris un temps fou.
https://www.youtube.com/watch?v=4CtiY5D6HCs
Mon petit ami de l’époque était celui qui m’avait offert VVVVVV, et il tentait un run sans mort avec tous les trinkets. Je ne comprenais pas comment on pouvait être aussi bon à un jeu. Et j’écoute encore souvent PPPPPP, la bande-son de VVVVVV. J’aime particulièrement les morceaux osu! stream liés.
Voici des articles liés. Je me demande s’il y en a d’autres.
Is opening up your source code worth it? Terry Cavanagh thinks it was for VVVVVV - https://news.ycombinator.com/item?id=25727963 - janvier 2021
Many games are held together by duct tape - https://news.ycombinator.com/item?id=22043156 - janvier 2020
VVVVVV Source Code Released - https://news.ycombinator.com/item?id=22011465 - janvier 2020
VVVVVV’s source code is now public, 10 year anniversary jam happening now - https://news.ycombinator.com/item?id=22011358 - janvier 2020
VVVVVV 60% Off On The Mac App Store This Weekend - https://news.ycombinator.com/item?id=2347676 - mars 2011
Dans le commentaire de
Graphics::print_level_creator(...), il est indiqué qu’un visage est affiché à la place de « by {author} ».Les raisons étaient que « by » peut paraître étrange si ce n’est pas la langue de l’auteur, que dans d’autres langues cela peut devenir plus long et dépasser les limites existantes des niveaux, que « by » et le nom de l’auteur peuvent nécessiter des polices incompatibles entre elles, que cela évite aussi des problèmes grammaticaux comme le genre ou la déclinaison des noms, que l’affichage sous forme de visage a du sens, et que même si cette décision rend quelqu’un triste, le visage souriant lui remontera de toute façon le moral. Difficile de contester.
L’article lié dans le billet, https://distractionware.com/blog/2020/01/vvvvvv-is-now-open-..., explique qu’il y a beaucoup de bizarreries dans la version C++ qu’on ne comprend qu’en se rappelant que le jeu avait d’abord été créé en Flash, puis porté à la main avec ses défauts tels quels.
Par exemple, il avait l’habitude de déclarer des variables temporaires comme
i,jetkcomme membres de chaque classe, afin de ne pas les déclarer dans les fonctions, parce que pour des raisons ennuyeuses c’était pénible de les déclarer dans les fonctions en Flash. Résultat, cela a créé des bugs difficiles à suivre, et en particulier dans la gestion des collisions d’entités, plusieurs fonctions partageaient la même variablei, ce qui pouvait même provoquer une boucle infinie. Ça a vraiment l’air mauvais, et ça confirme le préjugé selon lequel le code de jeu est un bazar.Du code peut être excellent mais ennuyeux. Comme une appli de calculatrice bien écrite mais à l’implémentation sans relief. Du code peut être à la fois désordonné et ennuyeux. Comme un produit B2B mal conçu, avec des centaines de conditions d’exception et, dans chacune, beaucoup de bugs similaires mais différents. Du code peut être à la fois excellent et intéressant. Des choses comme Doom.
this.devant tous les membres en JavaScript me dérange beaucoup moins.Je voudrais aussi mentionner Super Hexagon, du même créateur. Un jeu ultra simple, mais vraiment amusant et très addictif
Il me semble avoir lu quelque part que son créateur l’avait fait en une journée environ. Et PPPPPP, la bande originale de VVVVVV, est excellente aussi
Il y a environ six personnages uniques, plusieurs défis par personnage, et les règles changent sans cesse, ce qui oblige à repenser le jeu. Il y a aussi beaucoup d’humour, ainsi que du DLC gratuit et du contenu moddé que je n’ai pas encore essayés
C’est toujours intéressant de voir un développeur indé, après un premier succès, changer complètement de genre, et ça a donné de vraies pépites. Par exemple la trajectoire Fallen London -> Sunless Sea -> Cultist Simulator
Au début, ça paraît impossible, puis le cerveau s’adapte. C’est comme si on voyait au-delà de la Matrice
Je l’ai aussi partagé avec plusieurs personnes, histoire de les rendre folles elles aussi. Je crois qu’il m’en reste encore 5 ou 6 exemplaires dans mon inventaire Steam. On ne sait jamais. Pareil pour V, SMB, Braid et beaucoup d’autres jeux. Parfois, il suffit d’une petite inspiration et de graphismes bricolés
Il y a eu une période où je venais d’arriver en Californie depuis le Canada et où j’avais désespérément besoin d’un travail ; j’ai trouvé un poste de démarchage à domicile chez Comcast
Je détestais ce boulot, alors je restais souvent assis dans ma voiture à fuir mes responsabilités en jouant à VVVVVV sur mon téléphone. Grâce à Terry, je pouvais souffler un instant
Super jeu. Comme il se doit pour un jeu indé de cette époque, le code est vraiment un bazar, et c’est beau à voir
Game::updatestate()de 3 300 lignes et son énorme instruction switchJe l’ai packagé pour Zig : il suffit de lancer
zig buildpour pouvoir jouer au jeu sous Linux, macOS et Windowshttps://github.com/allyourcodebase/VVVVVV
Il a avoué avoir déclaré
i,jetkdans toutes les classes pour éviter de les déclarer à chaque endroit où il les utilisait dans les fonctions, ce qui a, comme on pouvait s’y attendre, provoqué des bugs sales et difficilesC’est étonnant qu’il ait réussi à faire un bon jeu avec du code comme ça