ゲームの「コード10万行」海外で肥大化めぐる論争に
姉妹サイトの新着
海外の掲示板4chan /g/(Technology)に「このゲームはコードが10万行ある」という投稿が立ち、そこから「それは単なるグラフィックデータの定義では」という指摘や、90年代ゲーム開発ではCtrl+Vでのコピペが当たり前だったという話、当時はRAM64MBや32MBで動いていたゲームが今では32GBのRAMと8GBのVRAMを要求する現実への驚きが語られた。さらに「きれいなコード」を重視する設計論と、動けばいいという実務優先の考え方が衝突し、意見は最後まで割れたままだった。
このゲーム、コードが10万行もあるらしい。
>>1 どうせその大部分はグラフィックのビットマップを定義してるだけのコードなんだろ?
>>2 いや、それはコードじゃない(データだから)。
>>2 それにワロス。どの関数にも10行以上のヘッダーコメントがついてるはずだし。
>>1 だから何?
>>4 10万行のコードって実際に見たことある?かなりの量だぞ。
>>1 これがC++の美しさよ。
>>7 そうそう、それなのに今じゃ同じようなゲームにRAM32GBとVRAM8GBが必要になるという残念な話。さすがだね(笑)
>>7 >>9 情報系の学生って本気でコピペは悪だと思ってるんだよな
>>7 なぜそれが悪いのか、理屈で説明してくれ。
>>11 そもそもコピペでもない。3つの配列をループする処理がそれぞれ微妙に違うコードになってるだけだ。
>>13 もうコードを書くのはLLMに任せてくれ。
>>10 「それでもRAM64MBで動いてた、すごい」→俺はWin95版『レッドアラート1』をRAM32MBで動かしてたぞ。
>>16 無料で教えてやる義理はない。
他サイトの新着
アンクル・ボブ(Robert C. Martin)もこのコードを見たら誇らしく思うだろうな。ちょっとしたことのためだけに馬鹿げたクラスを作って、何でもきれいに細分化されている。
>>23 「考えなしのルール追従」か。『理屈で説明してくれ』って言ったときに聞きたいのはまさにこういう答えだ。LLMはクビにして、お前を雇うことにするよ!
>>8 最近『トラックマニア2020』を触ってみた。本体のゲームだけで4GB、さらにSteam経由のCEFベースのランチャーが2つ必要でそれだけで追加6GB食う(そもそもUbisoftは自前で配布する方法すら用意できず、Steamを経由させないとプレイできない)。一方で、実質同じゲームを(名目上)同じ開発者が作ったニンテンドーDS版は10年前に、ROMカートリッジ14MB・RAM4MBで動いていた。
>>31 「当時のゲームのコードはほとんど安月給のアマチュアが一発書きしたものだった」→いや、プロが書いてたんだよ。
>>32 wwwwwww はいはい、わかったわかった(動画)
>>31 「作ったら二度と見返さずに捨てる」「どれだけ酷かったか誰にも分からないよう、ソースコードはわざと消す」→これこそ客観的に正しいコーディング手法だ。『再利用性がどうの』『ゲームエンジンがどうの』『設計がどうの』とか言ってるのは、思考停止の典型だな。
この話題の背景と論点
スレで引用される「アンクル・ボブ」は、設計原則を説いた著書『Clean Code』で知られるロバート・C・マーティンの通称で、「役割ごとに小さなクラスへ分割すべき」という流儀を広めた人物。レスではこの流儀こそがコードを冗長化させていると皮肉られている。また『トラックマニア』の比較で挙がったCEFベースのランチャーは、配信やDRM管理のためにChromiumエンジンをアプリに内蔵する仕組みで、ゲーム本体とは別に容量を肥大化させる典型例として知られる。スレの対立軸は「コードの美しさ・再利用性を重視する設計論」と「動けばいい、容量やコピペは気にしない実務優先論」の間にあり、どちらが正しいかという結論は最後まで出ていない。
※本記事は海外掲示板 4chan /g/ (Technology) のスレッド「This game has 100 thousand lines of code.」から抜粋し、編集部で日本語に意訳したものです。訳文の責任は当サイトにあります。
この記事のリアクション








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