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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

…博士、それ、バグだらけになりそうですね。
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。
