HN🔥 99
💬 57

COBOLでFPSを作ってみた!「FPS.cob」が凄まじい技術的挑戦

MBCook
1日前

ディスカッション (11件)

0
MBCookOP👍 99
1日前

COBOLという言語を使って、なんと一人称視点シューティングゲーム(FPS)を実現したプロジェクト『FPS.cob』が登場しました。本来、業務システムなどのバックエンドで使われることの多いCOBOLですが、現代の技術者がその限界を押し広げるとどうなるのか。非常に興味深い技術的好奇心の塊のようなプロジェクトです。

1
ltheanine
1日前

スクリーンショットがあるといいんだけどな。それにこれってコミットが一つだけだけど、AIを使ったの?readmeの『FPS.cobは、今の時代のゲーム開発は簡単すぎると決意した時にできるもの』って引用が気になったよ。

4
tlb
1日前

WASMにコンパイルしてホストしてほしいな。

6
localhoster
1日前

HNでこういう難解なプロジェクトを投稿させないようにガイドラインを設けるべきだよ。
AIが登場する前は、人がそんなに情熱を持って沼にハマり込むのはすごいことだったし、そこから得られる面白い逸話を読むのも楽しかった。

今は内容が空っぽで浅い。

Claudeが書いたならすごいことじゃない。OPが自分で書いたならすごかったんだけどね。

8
bitwize
約23時間前

彼のYouTube動画をここで見たよ:https://m.youtube.com/watch?v=qzpZQe7JT-o (https://m.youtube.com/watch?v=qzpZQe7JT-o)

個人的に気に入ってる点は、実際のCOBOLの慣習を反映して、ゲームを表示するための小さなフロントエンドを自分で作る必要があったことだね。80年代頃まで、COBOL自体はまともな端末I/Oをサポートしていなかったから、全部バッチ処理だったんだ。メインフレームのエンジニアが端末操作をやりたいと思ったら、メインフレームのアセンブリで独自のルーチンを書くか、IBMのアプリケーションサーバーであるCICSを使うしかなかった。CICSは言語拡張を通じて独自の端末制御やトランザクションデータベースルーチンを提供していて、プリプロセッサがそれを普通のCOBOLに変換してくれてたんだ。COBOLに不足している機能を外部レイヤーで構築し、通常のI/Oを使って通信させるっていうのは、メインフレーム時代のエンジニアリングの極致だよ。

同じ問題に対する他の解決策もあって、InterCommっていうのはプリプロセッサを使わずに、メモリの共有領域を確保してそこに直接メッセージを書き込む必要があった。最近だとHerculesで古いソフトウェアをいじくり回す人のために、CICSとAPI互換性があるオープンソースライブラリのKICKSなんてのもあるね。

9
chipx86
約22時間前

著者は3年前から純粋に実験的なリポジトリをいくつも持っていて、見ていてすごく楽しいよ。

https://github.com/icitry?tab=repositories (https://github.com/icitry?tab=repositories)

GitHubに紐付いたYouTubeチャンネルもあって、プロジェクトの開発に関する動画がこれだ:

https://www.youtube.com/watch?v=qzpZQe7JT-o (https://www.youtube.com/watch?v=qzpZQe7JT-o)

AIが関わっているかどうかなんてわからない。でも著者は、Claudeにタスクを投げて結果を投稿しただけの人とは違って、ちゃんとわかって取り組んでいるみたいだ。構築中の課題や試行錯誤した実装、遭遇したバグやクラッシュ、そして最終的に何がうまくいって何がだめだったかを話しているよ。

これこそまさに僕の大好きな類のものだ。他のコメントではClaudeが変なプロジェクトへの興味を殺したと言っているけれど、時々「なんでそんなことしようと思った?」っていうプロジェクトを手作りするのが好きな自分にとっては、彼のリポジトリとYouTubeを見つけられただけで最高の一日になったよ。

MBCook、投稿してくれてありがとう!

10
gigatexal
約22時間前

readmeにスクリーンショットを載せないのは犯罪級だろ。