1 Punkte von GN⁺ 2023-07-14 | 1 Kommentare | Auf WhatsApp teilen
  • Veröffentlichung des 2003 gestohlenen und teilweise aufbereiteten Quellcodes des Videospiels The Simpsons: Hit & Run für PS2, Xbox und PC
  • Ein Download der kompilierten Entwicklungs-/Debug-Version des Spiels ist im Reiter Releases verfügbar
  • Da es zu viele Dateien für einen Upload auf GitHub auf einmal gibt, befindet sich der restliche Teil des Repo auf MEGA
  • Der MEGA-Ordner enthält zusätzliche Assets und Skripte, um das Spiel direkt zu kompilieren/builden
  • Der Ordner documents/ ist nicht im Repo enthalten, da er persönliche Informationen des Radical-Entwicklungsteams aus dem Jahr 2003, Projektnotizen, Urlaubspläne usw. enthält

1 Kommentare

 
GN⁺ 2023-07-14
Hacker-News-Kommentare
  • Fühlt sich an, als würde ich auf ein früheres Leben zurückblicken. Ich habe damals bei Relic Entertainment gearbeitet, und wenn ich mich richtig erinnere, lagen die Büros von Relic und Radical damals beide in Yaletown in Vancouver. Radical zog später nach Main & Terminal um.
    In dieser Zeit habe ich an Company of Heroes und Dawn of War gearbeitet, und der Code kommt mir sehr bekannt vor. Der gleiche C++-Stil und auch dem Homeworld-Code sehr ähnlich.
    https://github.com/HomeworldSDL/HomeworldSDL
    Ich war an der SFU, und Neall Verheyde, der Programmierer bei Radical war, hielt ein Semester lang einen Kurs. Leider scheint er vor ein paar Jahren verstorben zu sein.
    https://www.dignitymemorial.com/obituaries/west-vancouver-bc...

    • Company of Heroes war unter meinen Uni-Freunden das absolute Lieblingsspiel. Ich habe Hunderte Stunden hineingesteckt, obwohl ich eigentlich an Aufgaben hätte arbeiten sollen :)
      "Ready ze panzerfaust"
    • Es ist wirklich schade, wie die Company-of-Heroes-Reihe kaputtgemacht wurde. Der neueste Teil CoH3 wirkt seelenlos, gierig und einfach kaputt, fast so, als würde er die Spielerschaft verhöhnen.
      Mit der ähnlichen, aber realistischeren Men-of-War-Reihe passiert etwas Vergleichbares. Überall setzt NCTification ein, und besser wird dadurch nichts.
    • Ich werde Company of Heroes wohl immer in guter Erinnerung behalten. Ich habe es extrem viel mit Freunden gespielt, und es war ein gut gemachtes Spiel mit Liebe zum Detail und viel Humor. Leider ist dieser Zauber in den neuen Versionen verschwunden.
    • Durch Dawn of War bin ich in die lange, dunkle Spirale aus Plastik und Bemalungs-Verzweiflung namens Warhammer 40k geraten. Großartiges Spiel.
  • Falls man Fan dieses Spiels ist: Reubs[0] auf YouTube baut gerade das komplette Spiel samt aller Assets mit moderner Engine und modernen Tools neu.
    Offensichtlich wird das leider nicht öffentlich veröffentlicht werden, aber es macht Spaß zu sehen, was möglich gewesen wäre.
    [0] https://youtube.com/@reubs

  • Das ist vielleicht der sauberste, verständlichste und lesbarste C++-Code, den ich bisher gesehen habe.
    Wenn ich Open-Source-C++-Projekte außerhalb von Spielen lese, wirkt das meiste eher wie ein unentzifferbarer Syntaxklumpen.
    Ich frage mich, ob dieser Spielcode ungewöhnlich gut geschrieben ist oder ob ich sonst einfach nur seltsame Codebases anschaue.

    • Ich bin ein paar Jahre nach Hit & Run zu Radical Entertainment gekommen; dort gab es außergewöhnlich gute Ingenieure und Artists, und auch Recruiting und Führung waren solide. Es war nicht perfekt, aber ein großartiger Ort sowohl für Einsteiger als auch für erfahrene Entwickler.
      Letztlich könnte man sagen, dass die Firma am Übergang zur 360-/PS3-Generation zerbrochen ist, als Produktionswerte und Schwierigkeit stark anstiegen; je nachdem, wen man fragt, lag es aber auch daran, dass das damals Vivendi gehörende Radical in die Activision-Fusion hineingezogen wurde.
    • Viele C++-Idiome sind a) sehr alt und stammen noch aus der C++98-Zeit, wobei sie sich von Version zu Version nur langsam verändert haben, und b) extrem konservativ. Ideen, die in moderneren Sprachen wichtig sind, etwa KISS oder „keine Magie“, greifen dort weniger, besonders in der System- und Embedded-Entwicklung, wo Effizienz stärker gewichtet wird.
      Die von dir genannten Codebases wirken auf Leute, die hauptsächlich C++ schreiben, wahrscheinlich gar nicht so chaotisch oder archaisch. So erscheinen sie eher Außenstehenden, auch wenn es natürlich wirklich chaotische Codebases gibt. Spieleentwicklung hat ihre eigenen Paradigmen und Idiome und ist meist eigenständiger und modularer strukturiert.
      Moderne Codebases seit C++11 können aber selbst für Nicht-C++-Entwickler deutlich „sauberer“ wirken.
    • Auch unter Spielcode gibt es sehr viel hackigen und hässlichen Code :)
      Ich würde trotzdem empfehlen, Quake- oder Doom-Code zu lesen. Wenn man mit frühen Versionen anfängt, ist er deutlich einfacher, leichter zu lesen und eignet sich auch gut zum Herumbasteln.
      Hier ist eine Liste lesenswerter Codebases: https://github.com/albertz/wiki/blob/master/coding.md#recomm...
    • KDE ist ebenfalls einen Blick wert. Ich hatte immer das Gefühl, dass die meisten Projekte dort gut geschrieben sind.
    • Die Kommentare waren überraschend gut. Die Codebase ist zwar leicht zu verstehen, aber eher in dem Sinn, dass jede einzelne Zeile simpel ist; strukturell ist sie fragil.
      Ich würde nicht sagen, dass das ein großes Problem ist. Für Code, den nur wenige Leute anfassen, kann eine fragile Codebase völlig in Ordnung sein. Für Dinge wie Betriebssysteme, Compiler oder Browser, an denen über Jahrzehnte Tausende Menschen arbeiten und Änderungen vornehmen, ist sie aber weniger geeignet.
      [1]
      Es gibt überall ungeprüfte Annahmen, überall plattformspezifischen Code in #ifdefs und überall Singletons. Ich habe nur fünf Minuten drübergeschaut, also gäbe es sicher noch weitere Beispiele.
  • https://github.com/Svxy/The-Simpsons-Hit-and-Run/blob/main/g...

  • Es ist 20 Jahre alter „geleakter“ Code, der wohl schon einmal früher geleakt wurde, aber damals hat es anscheinend niemand bemerkt :) Trotzdem habe ich dieses Spiel früher wirklich geliebt

    • Offenbar ist der Modem-Upload endlich fertig ;) Es war ein überraschend spaßiges Spiel, gemessen an der Prämisse. Vor diesem Spiel dachte ich, die Simpsons würden nicht in Illinois, sondern in Oregon leben
  • https://github.com/search?q=repo%3ASvxy%2FThe-Simpsons-Hit-a...
    Im ganzen Repository kommt das Wort "fuck" nur 50-mal vor

  • Simpsons Hit and Run war zum Release wirklich ein Geschenk von einem Spiel. An jeder Ecke des Spiels war zu spüren, wie sehr Radical die Serie The Simpsons geliebt hat. Es war voller kleiner Anspielungen auf die Show und witziger Dialoge, und das Spielen selbst hat einfach Spaß gemacht

    • Ich mochte es auch wirklich sehr. Aus denselben Gründen habe ich auch Tapped Out mehrere Jahre lang viel gespielt. Es enthält fast alles, was je in den Simpsons vorkam, und es macht wirklich Spaß, die Welt aufzubauen und den Figuren beim Herumlaufen zuzusehen
      Ich denke oft darüber nach, wie man die Assets extrahieren und einen Open-Source-Klon bauen könnte, damit EA es der Welt nicht endgültig wegnimmt, wenn der Dienst irgendwann eingestellt wird
  • Ich mag, dass die Code-Kommentare den Ton des Spiels und von The Simpsons selbst beibehalten
    “””
    // Synopsis: Blahblahblah
    “””
    Ich würde gern an einem Ort arbeiten, wo so etwas erlaubt oder sogar gefördert wird

    • So etwas kann man bringen, wenn man es committet und dann auch bis zum Ende dazu steht. Ich habe schon Meetings damit beendet, dass ich sagte: „Ich habe es so geschrieben, weil es so offensichtlich ist, dass ausführlichere Kommentare keinen Mehrwert hätten, und dieses Meeting hat genau diesen Punkt widerlegt. Wenn ihr es wirklich nicht versteht, lasst es euch von einem der Juniors erklären.“
      Du musst dabei allerdings recht haben, und zwar so sehr, dass du nicht einmal gegen einen erzwungenen Einwand umgeworfen werden kannst. Sonst solltest du anfangen, deinen Lebenslauf zu aktualisieren
    • Weder mein Chef noch der Chef meines Chefs noch dessen Chef haben je meinen Code gelesen. Schreib also die Kommentare, die du schreiben willst
  • Wenn man bedenkt, dass dieses Spiel Kultstatus hat, hätte ich erwartet, dass eine Menge Aktivität losbricht. Laut GitHub ist es am 1. Juni geleakt, und ich frage mich, ob schon jemand daran arbeitet, es auf aktuellen Rechnern zum Laufen zu bringen. Wirklich interessant

  • Dank der großartigen Kommentare und Variablen-/Methodennamen hat das Lesen Spaß gemacht.
    Solche Variablen hatte wohl jeder schon mal: https://github.com/Svxy/The-Simpsons-Hit-and-Run/blob/eb4b34...
    Solche Kommentare ebenso: https://github.com/Svxy/The-Simpsons-Hit-and-Run/blob/eb4b34...

    • Wirklich lustig. Man fragt sich manchmal, ob Software Engineering nicht zu ernst genommen wird