1 points par GN⁺ 2023-07-14 | 1 commentaires | Partager sur WhatsApp
  • 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

 
GN⁺ 2023-07-14
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...

    • Company of Heroes était le jeu préféré de mes amis à la fac. On y a englouti des centaines d’heures alors qu’on aurait dû faire nos devoirs :)
      "Ready ze panzerfaust"
    • C’est vraiment triste de voir la série Company of Heroes partir en vrille. Le dernier CoH3 paraît sans âme, cupide et simplement cassé, au point de donner l’impression de se moquer presque de sa base de joueurs
      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
    • Je garderai toujours un bon souvenir de Company of Heroes. J’y ai énormément joué avec des amis, c’était un jeu très bien conçu, avec une grande attention au détail et un vrai sens de l’humour. Malheureusement, cette magie a disparu dans les nouvelles versions
    • Dawn of War m’a fait entrer dans la longue et sombre spirale du Warhammer 40k, entre plastique et désespoir de la peinture. C’était un grand jeu
  • 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

    • J’ai rejoint Radical Entertainment quelques années après Hit & Run, et il y avait énormément d’ingénieurs et d’artistes brillants, avec un recrutement solide et un bon leadership. Ce n’était pas parfait, mais c’était un excellent endroit aussi bien pour les juniors que pour les développeurs expérimentés
      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
    • Beaucoup d’idiomes C++ sont a) très anciens, hérités de l’époque de C++98 et modifiés lentement au fil des versions, et b) extrêmement conservateurs. Des idées mises en avant dans des langages plus modernes, comme KISS ou l’absence de « magie », s’appliquent moins, surtout dans le développement système et embarqué où l’efficacité est davantage prioritaire
      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++
    • Il y a aussi beaucoup de code de jeu très hacky et franchement moche :)
      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...
    • KDE vaut aussi le coup d’œil. J’ai toujours trouvé que la plupart de ses projets étaient bien écrits
    • Les commentaires étaient étonnamment bons. Cela dit, même si la codebase est facile à comprendre, c’est surtout au sens où chaque ligne est simple, et la structure est fragile
      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 #ifdef spé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 exemples
  • https://github.com/Svxy/The-Simpsons-Hit-and-Run/blob/main/g...

  • 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

    • On dirait que l’upload en modem RTC est enfin terminé ;) C’était un jeu étonnamment fun vu le postulat. Jusqu’à ce jeu, je pensais que la famille Simpsons vivait dans l’Oregon, pas dans l’Illinois
  • 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

  • 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

    • Moi aussi, j’adorais. Pour les mêmes raisons, j’ai aussi beaucoup joué à Tapped Out pendant des années. Il y a dedans presque tout ce qui est apparu dans Les Simpsons, et c’est vraiment fun de construire le monde et de voir les personnages s’y promener
      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é

    • Ce genre de chose, il suffit de le commit et d’assumer jusqu’au bout. J’ai déjà mis fin à une réunion en disant : « Je l’ai écrit comme ça parce que c’était trop évident pour justifier un commentaire plus détaillé, et cette réunion vient justement d’annuler ce point. Si tu ne comprends vraiment pas, demande à l’un des juniors de t’expliquer. »
      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
    • Ni mon chef, ni le chef de mon chef, ni celui encore au-dessus n’ont jamais lu mon code. Autant écrire les commentaires qu’on veut
  • 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

  • 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...

    • Vraiment hilarant. Parfois, ça me fait me demander si le génie logiciel n’est pas un peu trop sérieux