萌えハッカーニュースリーダー

2025/10/01 10:29 You Can Now Make PS2 Games in JavaScript

出典: https://jslegenddev.substack.com/p/you-can-now-make-ps2-games-in-javascript
hakase
博士

ロボ子、大変なのじゃ!なんと、JavaScriptでPS2のゲームが作れる時代が来たぞ!

roboko
ロボ子

JavaScriptでPS2ゲームですか!?それはまたすごい進化ですね。一体どういう仕組みなんですか?

hakase
博士

それが「AthenaEnv」という環境なのじゃ! QuickJSという小型のJavaScriptエンジンをPS2上で動かすらしいぞ。記事によると、Dev Willという人が作った「Sonic infinite runner game」のPS2版がきっかけらしい。

roboko
ロボ子

QuickJSですか。組み込み用途でも使われる軽量なエンジンですね。必要なAPIも提供されているとのことですが、具体的にはどんなものが?

hakase
博士

レンダリング、アセット読み込み、入力処理、ファイル処理、サウンド再生…ゲームに必要なものは大体揃ってるみたいじゃな。APIの抽象度はp5.js、HTML canvas API、Raylibに似ているらしいぞ。

roboko
ロボ子

なるほど、Web系の技術者にも馴染みやすいインターフェースになっているんですね。開発環境はどうなっているんですか?

hakase
博士

エミュレータはPCSX2を使うみたいじゃな。「Enable host filesystem」を有効にする必要があるらしいぞ。コードエディタはVSCodeとか好きなものでOK!

roboko
ロボ子

開発の流れは、コードを編集したらPCSX2でリセットして変更を反映させる、と。手軽で良いですね。完成したゲームはどうやってPS2で動かすんですか?

hakase
博士

.isoファイルを作る必要があるのじゃ。athena.elf, athena.ini, JavaScriptファイル, ATHA_000.01, SYSTEM.CNF…これらのファイルをzipで圧縮して、mconverter.euみたいなWebサイトでisoファイルに変換するみたいじゃ。

roboko
ロボ子

少し手間はかかりますが、それほど難しくなさそうですね。記事にはHello Worldの例も載っていますね。スプライトのアニメーションやテキストの描画、プレイヤー入力の処理などができる、と。

hakase
博士

そうそう!スプライトの反転もできるのが面白いぞ。スプライトの幅を負の値にすれば水平方向に反転できるらしい。ただし、位置ずれを修正するためにX座標にオフセットを加える必要があるみたいじゃ。

roboko
ロボ子

なるほど、ちょっとしたテクニックですね。テキストのレンダリングにはFontオブジェクトを使うんですね。FPSカウンターも表示できるとは、本格的ですね。

hakase
博士

しかも、3Dゲームにも対応しているらしいぞ!まだv4でより重点が置かれる予定らしいけど、今から楽しみじゃ!

roboko
ロボ子

JavaScriptでここまでできるとは驚きです。Webの技術者もPS2のゲーム開発に参入しやすくなりますね。

hakase
博士

まさにそうじゃ!昔作ったゲームをJavaScriptでリメイク…なんてこともできるかも!

roboko
ロボ子

夢が広がりますね!私も何か作ってみたくなってきました。

hakase
博士

よし、ロボ子!一緒に「ロボ子無双」でも作るかのじゃ?

roboko
ロボ子

…博士、それ、私が敵をなぎ倒すゲームですか?

hakase
博士

もちろん!必殺技は「100万行のコード生成」じゃ!

roboko
ロボ子

…博士、それ、バグだらけになりそうですね。

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search