The Simpsons: Hit & Run - code source de 2003
(github.com/Svxy)- Code source volé en 2003 et partiellement nettoyé de The Simpsons: Hit & Run, avec publication du code du jeu vidéo pour PS2, Xbox et PC
- Le téléchargement d'une version développement/debug compilée du jeu est disponible dans l'onglet releases
- Il y a trop de fichiers pour tout mettre sur GitHub d'un seul coup, donc le reste du dépôt se trouve sur MEGA
- Le dossier MEGA contient des assets et scripts supplémentaires pour compiler/builder directement le jeu
- Le dossier
documents/n'est pas inclus dans le dépôt car il contient des informations personnelles de l'équipe de développement de Radical en 2003, des notes de projet, des calendriers de congés, etc.
1 commentaires
Commentaires sur Hacker News
Ça donne l’impression de revoir une vie antérieure. Je travaillais chez Relic Entertainment à l’époque et, si mes souvenirs sont bons, les bureaux de Relic et de Radical étaient tous les deux à Yaletown, à Vancouver. Radical a ensuite déménagé vers Main & Terminal
Je travaillais alors sur Company of Heroes et Dawn of War, et le code me paraît très familier. C’est le même style de C++ et c’est aussi très proche du code de Homeworld
https://github.com/HomeworldSDL/HomeworldSDL
J’étais à SFU, et Neall Verheyde, qui était programmeur chez Radical, a donné un cours pendant un semestre. Malheureusement, il semble être décédé il y a quelques années
https://www.dignitymemorial.com/obituaries/west-vancouver-bc...
"Ready ze panzerfaust"
Il arrive quelque chose de similaire à la franchise Men of War, qui est proche mais plus réaliste. L’enshittification est partout, et rien ne s’améliore
Si vous êtes fan de ce jeu, Reubs[0] sur YouTube est en train de recréer tout le jeu et tous les assets avec un moteur et des outils modernes
Évidemment, et malheureusement, ça ne sera sans doute jamais publié pour le grand public, mais c’est amusant de voir ce qui aurait été possible
[0] https://youtube.com/@reubs
C’est peut-être le code C++ le plus propre, compréhensible et lisible que j’aie lu jusqu’ici
Quand je lis des projets open source en C++ hors du jeu vidéo, la plupart me donnent l’impression d’un amas de syntaxe indéchiffrable
Je me demande si c’est ce code de jeu qui est exceptionnellement bien écrit, ou si c’est juste moi qui tombe d’habitude sur des codebases absurdes
Au final, on peut dire que le passage à la génération 360/PS3, avec une forte hausse des valeurs de production et de la difficulté, a fait tomber l’entreprise ; ou bien, selon à qui l’on demande, que Radical, alors propriété de Vivendi, a été emporté par la fusion avec Activision
Les codebases dont tu parles ne paraissent probablement pas si désordonnées ou archaïques aux développeurs qui utilisent principalement le C++. Elles le semblent surtout aux gens extérieurs, même s’il existe bien sûr aussi beaucoup de codebases réellement désordonnées. Le développement de jeux a ses propres paradigmes et idiomes, et tend généralement à être structuré de manière plus indépendante et modulaire
Cela dit, les codebases modernes postérieures à C++11 peuvent paraître bien plus « propres » même à des gens qui ne sont pas développeurs C++
Cela dit, je recommande quand même de lire du code comme Quake ou Doom. En partant des premières versions, c’est bien plus simple, donc plus facile à lire et à modifier
Voici une liste de codebases qui valent le détour : https://github.com/albertz/wiki/blob/master/coding.md#recomm...
Ce n’est pas forcément un gros problème. Une codebase fragile peut très bien convenir si seules quelques personnes vont y toucher. En revanche, c’est moins adapté à du code comme un système d’exploitation, un compilateur ou un navigateur, que des milliers de personnes utiliseront et modifieront pendant des décennies
[1]
Il y a partout des hypothèses non vérifiées, du
#ifdefspécifique à la plateforme partout, et des singletons partout aussi. Je n’ai parcouru ça que pendant 5 minutes, donc il y aurait sûrement d’autres exempleshttps://github.com/Svxy/The-Simpsons-Hit-and-Run/blob/main/g...
J’ai déjà vu ça
Source : expérience perso comme développeur dans l’industrie du jeu lol
Après vérification, c’était le lead designer. Donc un rôle proche de celui d’un producteur
C’est du code « fuit » vieux de 20 ans, et il avait apparemment déjà fuité une fois auparavant, mais personne ne l’avait remarqué au début :) Cela dit, j’adorais vraiment ce jeu à l’époque
https://github.com/search?q=repo%3ASvxy%2FThe-Simpsons-Hit-a...
Le mot "fuck" n’apparaît que 50 fois dans tout le dépôt
J’aime bien qu’ils appellent le buffer « buffy ». Ça sent son époque :)
Simpsons Hit and Run a vraiment été un cadeau à sa sortie. On sentait dans chaque recoin du jeu à quel point Radical aimait la série The Simpsons. C’était rempli de petites références à la série et de répliques pleines d’esprit, et c’était tout simplement agréable à jouer
Je me dis souvent que je devrais chercher comment extraire les assets et faire un clone open source, pour le jour où EA finira par fermer le service et nous le retirer
J’aime bien que les commentaires du code gardent exactement le ton du jeu et de The Simpsons lui-même
“””
// Synopsis: Blahblahblah
“””
J’aimerais bosser dans un endroit où ce genre de chose est autorisé, voire encouragé
Mais il faut avoir raison, et raison au point de tenir même face à une objection de pure forme. Sinon, il vaut mieux commencer à refaire son CV
Vu la popularité culte de ce jeu, je m’attendais à voir une avalanche d’activité. D’après GitHub, ça a fuité le 1er juin, et je me demande si quelqu’un travaille dessus pour le faire tourner sur des machines récentes. Vraiment intéressant
Il suffit de télécharger "Lucas' Simpsons Hit & Run Mod Launcher" et d’activer quelques cases de compatibilité.
https://modbakery.donutteam.com/release/lucas-mod-launcher
Par exemple, voir ce post reddit :
https://old.reddit.com/r/SimpsonsHitAndRun/comments/pa2ecc/s...
https://www.youtube.com/watch?v=M4QUy02cQqY&list=PL3gCaTLUSA...
C’était un plaisir à lire grâce aux excellents commentaires et aux noms de variables et de méthodes.
Tout le monde a probablement déjà eu une variable comme celle-ci : https://github.com/Svxy/The-Simpsons-Hit-and-Run/blob/eb4b34...
Pareil pour ce genre de commentaire : https://github.com/Svxy/The-Simpsons-Hit-and-Run/blob/eb4b34...