1 ポイント 投稿者 GN⁺ 2023-07-14 | 1件のコメント | WhatsAppで共有
  • The Simpsons: Hit & Run の2003年に盗難され、一部整理されたソースコードで、PS2、Xbox、PC向けビデオゲームのコードが公開
  • コンパイル済みの開発/デバッグ版ゲームのダウンロードは releases タブにあり
  • GitHubに一度にアップロードするにはファイルが多すぎるため、残りの repo は MEGA にあり
  • MEGAフォルダには、ゲームを直接コンパイル/ビルドするための追加アセットとスクリプトがあり
  • documents/ フォルダには Radical の2003年開発チームの個人情報、プロジェクトノート、休暇予定などが含まれているため repo には含まれていない

1件のコメント

 
GN⁺ 2023-07-14
Hacker Newsのコメント
  • 昔の人生を振り返るような気分になる。当時 Relic Entertainment で働いていて、記憶が正しければ当時の Relic と Radical のオフィスはどちらもバンクーバーの Yaletown にあった。Radical はその後 Main & Terminal に移転した。
    その頃は Company of Heroes と Dawn of War を手がけていて、コードがとても見覚えある。同じスタイルの C++ で、Homeworld のコードとも非常によく似ている。
    https://github.com/HomeworldSDL/HomeworldSDL
    SFU に通っていたが、Radical のプログラマーだった Neall Verheyde が1学期間講義をしていた。残念ながら数年前に亡くなったようだ。
    https://www.dignitymemorial.com/obituaries/west-vancouver-bc...

    • Company of Heroes は大学の友人たちの間で一番好きなゲームだった。課題をやるべき時間に何百時間も注ぎ込んだ :)
      "Ready ze panzerfaust"
    • Company of Heroes シリーズが壊れてしまったのは本当に残念だ。最新作の CoH3 は魂がなく、強欲で、ただただ壊れていて、ほとんどプレイヤー層を小馬鹿にしているように感じる。
      似ているがよりリアル寄りの Men of War フランチャイズにも同じようなことが起きている。どこもかしこもエンシティフィケーションが進んでいて、良くなってはいない。
    • Company of Heroes はこれからもずっと良い思い出として残ると思う。友人たちと本当にたくさん遊んだし、細部へのこだわりとユーモアの感覚に優れた、よくできたゲームだった。残念ながら新しい作品ではその魔法が消えてしまった。
    • Dawn of War のせいで、Warhammer 40k というプラスチックと塗装の絶望へと続く長く暗い螺旋に足を踏み入れることになった。すばらしいゲームだった。
  • このゲームのファンなら、YouTube の Reubs[0] が現代的なエンジンとツールでゲーム全体とすべてのアセットを作り直している。
    もちろん残念ながら一般公開はされないだろうが、何が可能だったのかを見るのは楽しい。
    [0] https://youtube.com/@reubs

  • これまで読んだ C++ コードの中で、最も きれいで理解しやすく読みやすいコード のように思える。
    ゲーム以外の分野のオープンソース C++ プロジェクトを読むと、たいてい解読不能な文法の塊のように感じる。
    このゲームのコードが特別によく書かれているのか、それとも自分が普段とんでもないコードベースばかり見ているのか気になる。

    • Hit & Run の数年後に Radical Entertainment に加わったが、非常に優秀なエンジニアやアーティストが多く、採用とリーダーシップもしっかりしていた。欠点がなかったわけではないが、新人にも経験ある開発者にもすばらしい場所だった。
      結局のところ、360/PS3 世代への移行で制作価値と難易度が大きく上がったことが会社を崩したとも言えるし、誰に聞くかによっては、Vivendi 傘下だった Radical が Activision との合併に巻き込まれたせいだとも言える。
    • C++ のイディオムのかなりの部分は、a) C++98 時代から続く非常に古いもので、バージョンごとにゆっくり変化してきたものであり、b) 極めて保守的だ。KISS や「魔法なし」のような、より現代的な言語で重視される考え方は、特にシステム・組み込み開発では効率性のほうが重んじられるため、あまり適用されない。
      君が言っているようなコードベースも、主に C++ を使う開発者から見れば、そこまで散らかっていたり古臭く見えたりしない可能性が高い。外部の人にはそう見えるだけで、もちろん実際にひどいコードベースも多い。ゲーム開発には独自のパラダイムやイディオムがあり、たいていはより独立性が高くモジュール的に構造化される傾向がある。
      ただし C++11以降 の現代的なコードベースは、C++ 開発者でない人にもずっと「きれい」に見えるかもしれない。
    • ゲームコードにもかなりハッキーで不格好なものは多い :)
      それでも Quake や Doom のコードは読むことを勧める。初期バージョンから見るとずっと単純で、読みやすく、手を入れてみるのにも向いている。
      読む価値のあるコードベースの一覧はここにある: https://github.com/albertz/wiki/blob/master/coding.md#recomm...
    • KDE も一度見てみる価値がある。たいていのプロジェクトはよく書かれているといつも感じていた。
    • コメントは意外なほど良かった。ただ、コードベースが理解しやすいとはいっても、それは各行が単純だという意味であって、壊れやすい構造 でもある。
      大きな問題だと言っているわけではない。少人数しか触らないコードなら、壊れやすいコードベースでも問題ない。しかし、OS、コンパイラ、ブラウザのように、何千人もの人が何十年にもわたって使って修正するコードにはあまり向いていない。
      [1]
      未検証の前提があちこちにあり、プラットフォーム別コード入りの #ifdef が everywhere、シングルトンも everywhere だ。5分ざっと見ただけなので、例はもっとあるはずだ。
  • https://github.com/Svxy/The-Simpsons-Hit-and-Run/blob/main/g...

  • 20年前の「流出」コードだけど、前にも一度流出していたのに最初は誰も気づかなかったっぽい :) それでも昔このゲームは本当に大好きだった

    • ついにダイヤルアップアップロードが終わったらしい ;) 前提のわりに驚くほど面白いゲームだった。このゲームをやるまでは、Simpsons一家はOregonではなくIllinoisに住んでいると思ってた
  • https://github.com/search?q=repo%3ASvxy%2FThe-Simpsons-Hit-a...
    リポジトリ全体で "fuck" という単語は50回しか出てこない

  • Simpsons Hit and Run は発売当時、本当に贈り物みたいなゲームだった。RadicalがThe Simpsonsというシリーズをどれだけ愛していたかが、ゲームの隅々からにじみ出ていた。ショーへの細かな言及や気の利いたセリフが満載で、プレイ自体も楽しかった

    • 自分も本当に好きだった。同じ理由で Tapped Out も何年もかなり遊んだ。Simpsonsに出てきたほぼすべてが入っていて、世界を作ってキャラクターたちが歩き回るのを見るのが本当に楽しい
      EAがいつか結局サービス終了してこの世から奪ってしまう時に備えて、アセットを抽出してオープンソースのクローンを作る方法を探せないかとよく考える
  • コードコメントがゲームと The Simpsons 自体のトーンをそのまま保っているのがいい
    “””
    // Synopsis: Blahblahblah
    “””
    こういうのを許したり奨励したりする場所で働きたい

    • こういうのはコミットして最後まで言い切ればいい。「もっと詳しいコメントを書く価値がないくらい明白だからそう書いたのであって、この会議でその要点を無効化した。どうしても理解できないならジュニアの誰かに説明してもらえ」で会議を終わらせたことがある
      ただし自分が正しくなきゃいけないし、こじつけの反論ですら耐えられないくらい正しくなきゃいけない。でないと新しい履歴書を書き始めることになる
    • 自分の上司も、その上の上司も、さらにその上の上司も、自分のコードを読んだことがない。好きなコメントを書けばいい
  • このゲームがカルト的な人気を持っていることを考えると、もっと活動が殺到するかと思っていた。GitHubによれば6月1日に流出したらしいが、最新のコンピュータで動かすために作業している人がいるのか気になる。本当に興味深い

    • Hit & Runはすでに最新のコンピュータで実行可能。自分はここで5120x2160解像度のウルトラワイド全画面で遊んでいる。
      "Lucas' Simpsons Hit & Run Mod Launcher"をダウンロードして、互換性のチェックボックスをいくつか有効にするだけでいい。
      https://modbakery.donutteam.com/release/lucas-mod-launcher
    • ソースコードは少なくとも2年前にはすでに流出していた。
      たとえばこのredditの投稿を見ればよい:
      https://old.reddit.com/r/SimpsonsHitAndRun/comments/pa2ecc/s...
    • このソースコードベースではないが、オリジナルのアセットを使って'reubs'がUnreal Engine版を作っていた。
      https://www.youtube.com/watch?v=M4QUy02cQqY&list=PL3gCaTLUSA...
    • ゲームを現代化するのは本当に面白いプロジェクトになりそう。ただ、そうした試みをActivisionがどれだけ早くDMCAで止めるのか気になる
  • 素晴らしいコメントと変数・メソッド名のおかげで、読むのが楽しかった。
    こういう変数は誰にでも一度はあったはず: https://github.com/Svxy/The-Simpsons-Hit-and-Run/blob/eb4b34...
    こういうコメントも同じ: https://github.com/Svxy/The-Simpsons-Hit-and-Run/blob/eb4b34...

    • 本当に笑える。ときどきソフトウェア工学は真面目すぎるのではないかと思わされる