The Simpsons: Hit & Run - 2003年のソースコード
(github.com/Svxy)- The Simpsons: Hit & Run の2003年に盗難され、一部整理されたソースコードで、PS2、Xbox、PC向けビデオゲームのコードが公開
- コンパイル済みの開発/デバッグ版ゲームのダウンロードは releases タブにあり
- GitHubに一度にアップロードするにはファイルが多すぎるため、残りの repo は MEGA にあり
- MEGAフォルダには、ゲームを直接コンパイル/ビルドするための追加アセットとスクリプトがあり
documents/フォルダには Radical の2003年開発チームの個人情報、プロジェクトノート、休暇予定などが含まれているため repo には含まれていない
1件のコメント
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...
"Ready ze panzerfaust"
似ているがよりリアル寄りの Men of War フランチャイズにも同じようなことが起きている。どこもかしこもエンシティフィケーションが進んでいて、良くなってはいない。
このゲームのファンなら、YouTube の Reubs[0] が現代的なエンジンとツールでゲーム全体とすべてのアセットを作り直している。
もちろん残念ながら一般公開はされないだろうが、何が可能だったのかを見るのは楽しい。
[0] https://youtube.com/@reubs
これまで読んだ C++ コードの中で、最も きれいで理解しやすく読みやすいコード のように思える。
ゲーム以外の分野のオープンソース C++ プロジェクトを読むと、たいてい解読不能な文法の塊のように感じる。
このゲームのコードが特別によく書かれているのか、それとも自分が普段とんでもないコードベースばかり見ているのか気になる。
結局のところ、360/PS3 世代への移行で制作価値と難易度が大きく上がったことが会社を崩したとも言えるし、誰に聞くかによっては、Vivendi 傘下だった Radical が Activision との合併に巻き込まれたせいだとも言える。
君が言っているようなコードベースも、主に C++ を使う開発者から見れば、そこまで散らかっていたり古臭く見えたりしない可能性が高い。外部の人にはそう見えるだけで、もちろん実際にひどいコードベースも多い。ゲーム開発には独自のパラダイムやイディオムがあり、たいていはより独立性が高くモジュール的に構造化される傾向がある。
ただし C++11以降 の現代的なコードベースは、C++ 開発者でない人にもずっと「きれい」に見えるかもしれない。
それでも Quake や Doom のコードは読むことを勧める。初期バージョンから見るとずっと単純で、読みやすく、手を入れてみるのにも向いている。
読む価値のあるコードベースの一覧はここにある: https://github.com/albertz/wiki/blob/master/coding.md#recomm...
大きな問題だと言っているわけではない。少人数しか触らないコードなら、壊れやすいコードベースでも問題ない。しかし、OS、コンパイラ、ブラウザのように、何千人もの人が何十年にもわたって使って修正するコードにはあまり向いていない。
[1]
未検証の前提があちこちにあり、プラットフォーム別コード入りの #ifdef が everywhere、シングルトンも everywhere だ。5分ざっと見ただけなので、例はもっとあるはずだ。
https://github.com/Svxy/The-Simpsons-Hit-and-Run/blob/main/g...
こういうのあった
出典: ゲーム業界で開発者だった経験より lol
確認したらリードデザイナーだった。つまりプロデューサーみたいな役割
20年前の「流出」コードだけど、前にも一度流出していたのに最初は誰も気づかなかったっぽい :) それでも昔このゲームは本当に大好きだった
https://github.com/search?q=repo%3ASvxy%2FThe-Simpsons-Hit-a...
リポジトリ全体で "fuck" という単語は50回しか出てこない
バッファを "buffy" と呼んでるのは好き。時代を感じる :)
Simpsons Hit and Run は発売当時、本当に贈り物みたいなゲームだった。RadicalがThe Simpsonsというシリーズをどれだけ愛していたかが、ゲームの隅々からにじみ出ていた。ショーへの細かな言及や気の利いたセリフが満載で、プレイ自体も楽しかった
EAがいつか結局サービス終了してこの世から奪ってしまう時に備えて、アセットを抽出してオープンソースのクローンを作る方法を探せないかとよく考える
コードコメントがゲームと The Simpsons 自体のトーンをそのまま保っているのがいい
“””
// Synopsis: Blahblahblah
“””
こういうのを許したり奨励したりする場所で働きたい
ただし自分が正しくなきゃいけないし、こじつけの反論ですら耐えられないくらい正しくなきゃいけない。でないと新しい履歴書を書き始めることになる
このゲームがカルト的な人気を持っていることを考えると、もっと活動が殺到するかと思っていた。GitHubによれば6月1日に流出したらしいが、最新のコンピュータで動かすために作業している人がいるのか気になる。本当に興味深い
"Lucas' Simpsons Hit & Run Mod Launcher"をダウンロードして、互換性のチェックボックスをいくつか有効にするだけでいい。
https://modbakery.donutteam.com/release/lucas-mod-launcher
たとえばこのredditの投稿を見ればよい:
https://old.reddit.com/r/SimpsonsHitAndRun/comments/pa2ecc/s...
https://www.youtube.com/watch?v=M4QUy02cQqY&list=PL3gCaTLUSA...
素晴らしいコメントと変数・メソッド名のおかげで、読むのが楽しかった。
こういう変数は誰にでも一度はあったはず: https://github.com/Svxy/The-Simpsons-Hit-and-Run/blob/eb4b34...
こういうコメントも同じ: https://github.com/Svxy/The-Simpsons-Hit-and-Run/blob/eb4b34...