DOOM's DNA - コード構造から系譜をたどるソフトウェア考古学

Show HN: The DNA of DOOM – How code structure survives across 44 ports

DOOM's DNA - コード構造から系譜をたどるソフトウェア考古学

DOOM's DNAは、1997年に公開されたDOOMのソースコードから派生した43のプログラムを「形」だけで分析するインタラクティブな研究プロジェクトです。関数名やコメントをすべて取り除いても、関数の長さや分岐、呼び出し関係といった構造は指紋のように機能し、誰が誰をコピーしたかを87%の精度で見抜けます。GoやSchemeへの翻訳版でもDOOMの設計がどれだけ残ったかを可視化でき、家系図や配線図をタップしながら探索できます。コードの系譜を生物学の進化樹のように味わえる、遊べるソフトウェア考古学です。

すべての名前を隠しても、Go移植版の関数は60%の確率でDOOMの正しい部位に収まる。でたらめに当てた場合はわずか20%だ。
  1. barbariangrunge

    興味深いプロジェクトですね。好奇心からお聞きしますが、エンジンについてさらに研究を進められたのでしょうか。例えば、アーキテクチャの分解やプログラミングパターンの分析などです。

  2. to11mtm

    ...これは楽しい実験だと思う。

    そして、記事も好きだよ。「衝撃」を乗り越えた後はね。(スロップとは言わないよ、データをうまく見せるためにかなりの努力をしたのは分かるから。)

    私はDoomが大好きで、その系譜も大好きだ。DoomのMOD制作やdehackedを扱ったのは、おそらく私が「プログラミング」という概念に初めて触れた経験だった(結局、dehackedでは「次のフレーム」などに関して面白いことができるし、それが時には奇妙な形で物事を変えることもあった)。

    建設的なフィードバックをするとしたら:

    1. 分析から得たマークダウンや出力を基に、自分で最初の骨組みを書くことを検討してみて。

    2. 出力を必ず見直して調整して。

    3. 最終結果を手作業で洗練させて。

    AIを一部に使うなと言っているわけではない。そうしたほうがずっと良くなるよと言いたいだけ。なぜならこれは本当にクールだけど、もっと洗練されていると嬉しいからね。

  3. blinkbat

    [flagged]

この日のほかの記事

2026-11-04