QuakeをLLMで安全なRustに移植、海外HNで賛否両論
姉妹サイトの新着
ブラウザで動く「安全なRustに移植したQuake」がHacker Newsで公開され、大きな反応を呼んだ。投稿者はLLMの支援を受けてCで書かれたオリジナルのQuakeのコードを解析・移植したとみられ、スレッドでは「LLMによる移植に独自性はあるのか」という疑問と、「Rustはメモリ安全だが物理エンジンの暴走やマップ外に抜けるバグは防げない」という技術的な指摘が交錯した。昔の非力なPCでQuakeを動かした思い出話や、同種の技術が悪用されれば企業スパイに使われかねないという懸念も語られている。
Show HN: Quakeを安全なRustに移植、ブラウザでプレイ可能に
出典: quake-srp.pages.dev / 元記事はこちら
QuakeはC++じゃなくてCで書かれてるよ。id Softwareが最初にC++を使ったのは2004年頃のDoom 3から。
別にいいんじゃない?人力でコツコツやったものにしか価値が無いとでも言うの?
Adobeを見てみろよ、CSSスイート全体がまさにこれをやられた。あれはオープンソースじゃなくプロプライエタリだけど。
Rustが防ぐのは、無効なメモリアクセスでゲームがクラッシュするとか、脆弱性を突かれるとか、そういう種類のバグだけだよ。
幸いゲーマーにとっては、Rustは物理エンジンの暴走やプレイヤーがマップ外に抜け出すことを止めてはくれない。RustでMario 64を書いても並行世界バグはちゃんと残る(まあ、float→short変換を本来未定義動作のC実装からmodulo演算として正しく移植していればの話だけど)。
[0] https://github.com/terrapapagalli1516/quake-srp
それはQuake 3の話。高速逆平方根の近似コードはQuake 1には入ってない。
[1] https://dreadsweeper.franzai.com/
すごい、これは良いね!
昔は人間が手作業でこういうのをやってたなんて信じられない。
今はもう誰も手作業で移植なんてしないよ。LLMがなかったらこの移植自体実現しなかった。
当然そうだろうね
1996年の90MHz Pentium 1でも滑らかに動いてたよ
それは金持ちの発言だな…まあ本当だけど、普通の人にとってはかなり高いハードルだった。486DX2-80と格闘してた身からすると。
https://github.com/terrapapagalli1516/quake-srp
https://www.reddit.com/r/quake/comments/1x1ch14/quake_srp_sl…
2009年頃、Flash PlayerでQuakeを動かしてた話
ロケットの自爆ダメージを半分にするQuakeCのコード行を見たのを覚えてる。あれがロケットジャンプを可能にしたんだけど、同時にロケットランチャーをDoomよりもずっと強力な近距離デスマッチ武器にしてしまった。ちょっとずるいなと思ってた。
Rustで書かれてるから今はもっと安全だよ…というのは冗談だけど、念のため言っておく。
他サイトの新着
実際にそのクローンを(エアギャップしたVMで、頼むから)試した?自分は試した。vibecodingされたRustで作られたプラトンの洞窟の寓話を、そのままプレイできるようなものだった。
まあ、まだ数日しか経ってないんだから、LLMによるリバースエンジニアリングの成果にいきなり完璧さを求めるのは酷だと思うよ。とはいえ概念実証としては、悪意ある行為者が大規模な企業スパイ活動などを仕掛けるための障壁が今やかなり低くなっていることを示してる。
フロンティアモデルを使って、こういうことを「それはできません」と即座に拒否されずにやれている人たちがいるのがどうも不思議だ。自分が理解している限り、Adobeの方のソフトはそれほど出来が良くないらしい。
Adobeのやつはデコンパイルしたものじゃないみたいだよ。AIに同じツールをRustでゼロから作らせただけ。だから機能が大量に欠けている。
もうこんな感じが3ヶ月近く続いてる。
確かにそうとも言えるけど、厳密には[Claude、ChatGPTがローンチしたのはいつで、ツールコールが使えるようになったのはいつだったか教えて、そこから現在までの期間を計算して]分の話とも言えるかもね。でも「これ」は常に形を変えてきた。一つの機能不全が炎上しては次の機能不全に動的にクロスフェードしていくような感じで。
誰か解像度を切手サイズより大きく設定してた人がいるみたいだね
切手の解像度ってどれくらいなんだ?
この話題の背景と論点
QuakeはID Softwareが1999年にソースコードをGPLで公開しており、以降Cで書かれたオリジナルコードをベースにした移植や再実装は数多く行われてきた。今回の「安全なRustへの移植」が注目されたのは、LLMの支援を受けている点で、スレッドでは単なる技術デモとしての面白さと、LLMによるコード移植に創作性や独自性がどこまであるのかという評価が分かれた。Rustの「安全性」はメモリ関連のバグ(無効アクセスや脆弱性)を防ぐものであり、物理演算の暴走やマップ外に出るような挙動(往年のバグ技)はそのまま残るという指摘は、Rust移植と「ゲームらしさ」の関係を考える上で見落とされやすい点だ。また同じスレッドでAdobeのCSSツール群がAIで再現された例が引用され、LLMによるソフトウェアの模倣・再構築が企業の知的財産やセキュリティにどう影響するかという、まだ結論の出ていない論点も浮かび上がっている。
※本記事は海外掲示板 Hacker News のスレッド「Show HN: Quake ported to safe Rust, playable in browser」から抜粋し、編集部で日本語に意訳したものです。訳文の責任は当サイトにあります。






まだコメントはありません。